如何从VS2015定位Mono框架?

时间:2015-10-09 02:32:53

标签: c# asp.net linux 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添加到该列表中?

3 个答案:

答案 0 :(得分:5)

从Visual Studio编译并定位Mono

作为here

的摘录

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

另一个解决方案是针对" Mono" Visual Studio的.NET Framework配置文件。 以下步骤来自here及其适用于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

  4. 将以下内容粘贴到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>
    

答案 1 :(得分:2)

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

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

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

答案 2 :(得分:0)

查看针对多个CLR运行时的pythonnet解决方案和项目:

https://github.com/pythonnet/pythonnet/blob/master/pythonnet.sln

相关问题