14

我最近购买了一台 iMac,以便在更好的环境中在 Visual Studio for Mac 上开发我的应用程序(Windows 上有很多问题),但在 Visual Studio for mac 上,没有 UWP 项目。

据了解,我必须创建一个新的 .NET 项目,但是为了让应用程序在 Windows 上安心工作,正确实现该项目的具体步骤是什么?我应该使用完全支持 .NET 核心框架的 Visual Studio 代码吗?

我在其他答案中看到我需要 .NET SDK 工具等,但如果您不介意原因(不是安装的东西,只有对应用程序正确构建的精通技术的解释),则需要更多详细信息结束!

4

3 回答 3

12

您将需要运行 Windows 安装(例如,通过 Parallels 或 Boot Camp),然后运行 ​​Windows 版本的 Visual Studio 来创建 UWP 应用程序。

您可以在 MacOS 上的 Visual Studio 中进行大量业务逻辑编码,但您需要 Visual Studio 和 Windows SDK 才能使用 WinRT 类型(构建 UWP 应用程序所必需的)并正确构建/打包应用程序部署。

于 2017-04-20T21:37:38.640 回答
4

.NET 是一个庞大的生态系统。由于您无法在 Windows 上使用 Visual Studio(例如 Xamarin.Mac)开发各种 .NET 项目,因此您无法使用 Visual Studio for Mac(如您发现的 WinForms/WPF/UWP 等)来做同样的事情。这种限制来自供应商 SDK 可用性或其他底层系统。

在您的情况下,您可以轻松开发 Web 应用程序、Mac 应用程序和 iOS 应用程序。如果您确实想开发 Windows 特定的应用程序,如其他答案所示,请使用 Windows。

您提到了“.NET SDK”,但我认为应该是“.NET Core SDK”。.NET Core 应用程序是跨平台的。因此,您可以在 Visual Studio for Mac 中开发此类应用程序,然后部署到 Windows。但是,到目前为止,只能开发控制台应用程序和 Web 应用程序。未来可能发生的事情还有待确定。

然而,Visual Studio Code 只是一个代码编辑器。它不会给你额外的灵活性。

于 2017-04-21T19:22:38.387 回答
2

对于那些迫切需要在所有平台上开发他们的应用程序的人来说,这就是我所做的,以及优缺点:

  • 买了个Imac,想着也可以在里面开发UWP项目

在意识到我做不到之后,我在 ebay 上买了一个便宜的 Windows 7 pro 许可证(大约 5 美元),并将它安装在 VirtualBox 上。

从那里,我免费升级到 Windows 10 并安装了所有东西。它就像一个魅力。

缺点:购买全新的 IMac 而 Macbook pro 会更好。一个旧的,即使你不能升级内存。

当您必须为 VM 提供 4go 的 RAM 时,在 8go 的 ram 计算机上工作并不是很好。4go 为您提供滞后的环境!真令人沮丧。所以,更喜欢旧的,但可以升级的(一个便宜的 16go 内存的 Macbook pro 就可以了)。更不用说您必须将 Ubuntu 作为另一个 VM 安装才能为大多数人设置 .Net 核心服务器。

  • 开发时喜欢什么环境,最重要的是当你像我一样是 C# 和 Xamarin 菜鸟时?

最好是从 Mac 开发,因为与 VS for Windows 相比,您的错误和错误要少得多。纠正错误确实令人生畏,最好的办法是从 Mac 开发以减轻损失,但也不会是无障碍的!与在 VS Windows 中编码相比,我花费了更多时间进行调试。

在 Visual Studio MAC 中开发您的应用程序块之后,最好的办法是在 Windows 机器上获取代码并安排它在 UWP 中工作。UWP 应用程序编译速度快,就像一个魅力,所以最好摆脱 macOS、IOS、Android 中的错误,然后去适应 UWP。如果您考虑选择正确的库(在所有平台上工作,因此请查看我的最后建议),这会更容易。

从 VS Mac,使用 macOS 作为主机进行编译!这是快速开发和纠正错误的最简单方法。

这是一篇关于如何从 Mac 开始的文章:

https://blog.xamarin.com/preview-bringing-macos-to-xamarin-forms/

缺点:总是必须提交代码才能在 UWP 中使用。但这也是保存项目的好方法,所以如果你搞砸了(就像我多次发生的那样)你会回滚。

希望能帮助其他不知道该做什么和从哪里开始的人。

还:

不要遵循 2017 年之前的教程。使用 .Netstandard/.NET Core 框架开发您的应用程序,以便库更便携(按照上面的博客文章应该这样做)。

否则,前面就头疼了!

于 2018-05-24T04:57:03.117 回答