如何在Visual Studio for Mac上开发Windows应用程序

14

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

据了解,我必须创建一个新的.NET项目,但是为了使应用程序在Windows上能够正常工作,需要按照正确的步骤进行操作。我是否应该选择支持完整.NET核心框架的Visual Studio代码呢?

我看到其他答案上说我需要.NET SDK工具等等,但如果您不介意,我需要更详细的说明来解释为什么(不是安装步骤,只是技术方面的解释)以确保应用程序最终能够成功构建!


2
您可以开发可移植/NetStandard库并将其包含在macOS上的UWP应用程序中,但XS/VS4M不支持UWP应用程序,也无法在macOS上运行/调试。就像您需要macOS进行iOS/Cocca开发一样,您需要Windows来进行UWP/WPF/...开发。 - SushiHangover
3个回答

13

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

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


5

.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只是一个代码编辑器。它不会给你额外的灵活性。


嗨, 谢谢。我知道了。和我对Peter Torr的回答一样。 我能否在Mac上完成所有项目,并在最后编译成Windows机器可用? 如何为我的应用程序实现跨平台(要创建的项目类型以及有关步骤的一些说明)。非常感谢,我有点迷失了... - Khal_Tech
1
@Khalid_Tech 我相信我写的第一段已经回答了这个问题。“我能否在Mac上制作所有项目,并在最后在Windows机器上编译?”这是不可能的,因为并非所有项目都受支持。你并没有迷失方向,只是太懒得去尝试了。 - Lex Li

2

对于那些迫切需要在所有平台上开发应用程序的人,以下是我所做的事情以及优缺点:

  • 购买一台iMac,认为我也可以在其中开发UWP项目

后来我意识到我不能这样做,于是在eBay上购买了一个便宜的Windows 7专业版许可证(约5美元),并将其安装在VirtualBox上。

从那里,我免费升级到了Windows 10并安装了所有东西。它非常好用。

缺点:购买全新的iMac,而Macbook Pro会更好。旧的甚至还好,因为你无法升级内存。

当您必须给您的虚拟机4GB RAM时,使用8GB RAM计算机工作并不是很好。4GB会使您感到非常沮丧和卡顿!因此,最好选择一些旧的但可升级的设备(例如配备16GB RAM的廉价Macbook Pro)。 更不用说,您还必须安装Ubuntu作为另一个虚拟机,以便为大多数人设置.Net core服务器。

  • 在开发时要优先考虑什么环境,尤其是像我这样的C#和Xamarin新手?

最好从Mac开发,因为与Windows的VS相比,您会遇到更少的错误和漏洞。 纠正错误确实令人望而生畏,最好是从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框架来开发您的应用程序,以便库更易于移植(按照上面的博客文章即可)。

否则,将会面临头痛的问题!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接