如何从VS2015定位Mono框架?

yaa*_*nko 11 c# linux asp.net mono visual-studio-2015

我想在安装了mono的Linux上部署ASP.NET Web应用程序.

据我所知,Mono是一个类似于.DNX 4.5.1或.DNX Core 5.0的目标平台.所以我需要以某种方式将它添加到我的项目中的目标平台,以针对它编译和调试项目.

令人惊讶的是,我没有找到任何指示.我正在创建一个新的ASP.NET 5/vNext项目,我看到的只是4.5.1和Core 5.0编译目标.如何将Mono添加到该列表中?

Fab*_*Fab 5

从Visual Studio和目标Mono编译

作为从这里提取

您可以在Windows上使用MonoHelper插件(使用下面的xbuild)从Visual Studio编译Mono .

还有另一个解决方案,它是针对visual studio的"Mono".NET Framework配置文件.以下步骤来自这里,它适用于VS 2012(但它应该适用于其他版本).

  1. 创建两个注册表项:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319\SKUs\.NETFramework,Version=v4.0,Profile=Mono

    HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319\SKUs\.NETFramework,Version=v4.0,Profile=Mono

  2. 链接到Microsoft References Assemblies目录中的Mono目录(您可能需要以管理员权限运行以下内容)

    cd "C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5\Profile" mklink /d Mono "C:\Program Files (x86)\Mono\lib\mono\4.5" cd Mono mkdir RedistList cd RedistList notepad FrameworkList.xml

  3. 编辑 FrameworkList.xml

粘贴以下内容 FrameworkList.xml

<?xml version="1.0" encoding="utf-8"?>
<FileList  Redist="Mono-4.5" Name="Mono 4.5 Profile" RuntimeVersion="4.5" ToolsVersion="4.0" > </FileList>
Run Code Online (Sandbox Code Playgroud)


Lex*_* Li 2

曾经有一些 Mono 产品/Mono for VS 将 Mono 集成到 VS 中,但现在没有了。

在这种情况下,您应该以 .NET Core 5 为目标,因为它将成为最终的解决方案。

Mono 仍然为 ASP.NET 4.* 项目提供一些支持,但很难断言兼容性,因为您需要部署到 Linux 上的 Mono 来验证。即使在这些情况下,您的项目也应该以完整的 .NET Framework 为目标,就像您过去所做的那样。没有针对 Mono 的特定配置文件。