且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

是否可以在Mac的Visual Studio中开发ASP.NET MVC应用程序?

更新时间:2023-10-16 09:12:46

您已经正确地推测出,不可能在不基于.NET Core或Mono的Mac上构建ASP.NET MVC项目.因此,如果您的项目当前针对.NET Framework 4.x上的ASP.NET,则您要么必须停留在Windows上:

  • 使用Bootcamp在Mac上运行Windows
  • 使用虚拟机在Mac中运行Windows
  • 使用Parallels Desktop或VMWare Fusion在Mac内运行Windows应用程序

或者您可以将应用程序转换为Mono或.NET Core,具体取决于您的依赖关系,这些依赖关系可能相对容易,非常困难或介于两者之间.

您还可以决定使用Visual Studio Team Services在Windows托管代理上构建代码并在yoru mac上编辑源代码,您必须放弃在本地编译或运行代码的能力.

您还可以决定租用" Azure中的虚拟机(也许您有用于此目的的MSDN积分?)和远程桌面,以在该计算机上运行项目.

Since I am planning to buy a new MacBook Pro (2017) and currently working on a Windows 10-device on a ASP.NET MVC (Not ASP.NET Core MVC) project for my internship, I was wondering if it is possible to continue developing the same project in Visual Studio for Mac.

To put it in other words: Is it possible to develop ASP.NET MVC applications in Visual Studio for Mac?

I tried to Google this, but I could only find ASP.NET Core MVC projects being discussed for VS for Mac. The current project is NOT a Core project, but just an ASP.NET project.

I really don't want to install Windows either on my MacBook Pro or on an external drive.

As you've correctly surmised, it's not possible to build ASP.NET MVC projects on the Mac that aren't based on .NET Core or Mono. So if your project is currently targetting ASP.NET on .NET Framework 4.x, the you'll either have to stay on Windows:

  • Use Bootcamp to run Windows on your Mac
  • Use a Virtual Machine to run Windows inside Mac
  • Use Parallels Desktop or VMWare Fusion to run windows applications inside your Mac

Or you can convert your application over to Mono or .NET Core, depending on your dependencies that may be relatively easy, or very hard or anywhere in between.

You could also decide to use Visual Studio Team Services to build your code on a Windows Hosted agent and edit the sources on yoru mac, you'd have to forego the ability to compile or run your code locally.

You can also decide to "rent" a virtual machine in Azure (maybe your have MSDN credits you could use for this purpose?) and remote desktop to that machine to work on your project.