我想在安装有mono的Linux上部署ASP.NET web应用程序。
据我所知,Mono是一款类似于.DNX 4.5.1或.DNX Core 5.0的定位平台。 所以我需要以某种方式将其添加到我的项目中的目标平台,以对其进行编译和debugging。
令人惊讶的是,我没有设法find任何指示。 我正在创build一个新的ASP.NET 5 / vNext项目,我看到的只是4.5.1和Core 5.0编译目标。 如何将Mono添加到该列表?
有一些单声道产品/单声道VS集成单声道到VS,但现在没有。
在这种情况下,你应该瞄准.NET Core 5,因为这将是最终的解决方案。
Mono仍然为ASP.NET 4 *项目提供了一些支持,但是需要部署到Linux上的Mono进行验证,否则将难以断言兼容性。 即使在这种情况下,您的项目也应该像以前一样针对完整的.NET Framework。 没有Mono的具体配置文件的目标。
从Visual Studio编译并定位到Mono
从这里摘录
您可以在Windows上使用MonoHelper插件从Visual Studio进行编译 (使用下面的xbuild)。
还有另一个解决方案,它是从Visual Studio中定位“Mono”.NET Framework配置文件。 以下步骤来自这里 ,这是对VS 2012(但它应该适用于其他版本)。
创建两个注册表项:
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
在Microsoft References Assemblies Directory里面建立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
编辑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>
看看pythonnet解决方案和项目的目标多个CLR运行时:
https://github.com/pythonnet/pythonnet/blob/master/pythonnet.sln