如何从 VS2015 定位 Mono 框架?
How to target Mono framework from VS2015?
我想在安装了单声道的 Linux 上部署 ASP.NET 网络应用程序。
据我所知,Mono 是一个类似于 .DNX 4.5.1 或 .DNX Core 5.0 的目标平台。所以我需要以某种方式将它添加到我项目中的目标平台,以针对它编译和调试项目。
令人惊讶的是,我没有找到任何说明。我正在创建一个新的 ASP.NET 5/vNext 项目,我看到的只是 4.5.1 和 Core 5.0 编译目标。如何将 Mono 添加到该列表?
有一些用于 VS 的 Mono product/Mono 将 Mono 集成到 VS 中,但现在有 none。
在这种情况下,您应该以 .NET Core 5 为目标,因为它将成为最终的解决方案。
Mono 确实仍然为 ASP.NET 4.* 项目提供一些支持,但是很难断言兼容性,因为您需要在 Linux 上部署到 Mono 进行验证。即使在这些情况下,您的项目也应该像您过去所做的那样以完整的 .NET Framework 为目标。没有要定位的 Mono 特定配置文件。
从 Visual Studio 编译并定位 Mono
摘自here
您可以在 Windows 上针对 Mono 进行编译,从 Visual studio 使用 MonoHelper 插件(在下面使用 xbuild)。
还有另一种解决方案,它针对来自 visual studio 的 "Mono" .NET Framework 配置文件。
以下步骤来自 here,适用于 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 目录中创建一个 link 到 Mono 目录
(您可能需要运行以下管理员权限)
cd "C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5\Profile"
mklink /d Mono "C:\Program Files (x86)\Mono\lib\mono.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>
我想在安装了单声道的 Linux 上部署 ASP.NET 网络应用程序。
据我所知,Mono 是一个类似于 .DNX 4.5.1 或 .DNX Core 5.0 的目标平台。所以我需要以某种方式将它添加到我项目中的目标平台,以针对它编译和调试项目。
令人惊讶的是,我没有找到任何说明。我正在创建一个新的 ASP.NET 5/vNext 项目,我看到的只是 4.5.1 和 Core 5.0 编译目标。如何将 Mono 添加到该列表?
有一些用于 VS 的 Mono product/Mono 将 Mono 集成到 VS 中,但现在有 none。
在这种情况下,您应该以 .NET Core 5 为目标,因为它将成为最终的解决方案。
Mono 确实仍然为 ASP.NET 4.* 项目提供一些支持,但是很难断言兼容性,因为您需要在 Linux 上部署到 Mono 进行验证。即使在这些情况下,您的项目也应该像您过去所做的那样以完整的 .NET Framework 为目标。没有要定位的 Mono 特定配置文件。
从 Visual Studio 编译并定位 Mono
摘自here
您可以在 Windows 上针对 Mono 进行编译,从 Visual studio 使用 MonoHelper 插件(在下面使用 xbuild)。
还有另一种解决方案,它针对来自 visual studio 的 "Mono" .NET Framework 配置文件。 以下步骤来自 here,适用于 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 目录中创建一个 link 到 Mono 目录 (您可能需要运行以下管理员权限)
cd "C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5\Profile" mklink /d Mono "C:\Program Files (x86)\Mono\lib\mono.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>