Как настроить систему Mono на VS2015?
Я хочу развернуть веб-приложение ASP.NET в Linux с установленным моно.
Из того, что я знаю, Mono - это таргетинговая платформа, похожая на .DNX 4.5.1 или .DNX Core 5.0. Поэтому мне нужно как-то добавить его к таргетингам платформ в моем проекте, чтобы скомпилировать и отладить проект против него.
Удивительно, но мне не удалось найти никаких инструкций. Я создаю новый проект ASP.NET 5/vNext, и все, что я вижу, - это компиляция целей 4.5.1 и Core 5.0. Как добавить Mono в этот список?
Ответы
Ответ 1
Был некоторый Mono-продукт/Mono для VS, который объединяет Mono в VS, но теперь его нет.
В этом случае вы должны нацелиться на .NET Core 5, так как это будет окончательное решение.
Mono по-прежнему поддерживает некоторую поддержку проектов ASP.NET 4. *, но было бы сложно утверждать совместимость, поскольку вам нужно установить ее в Mono для Linux. Даже в тех случаях ваш проект должен ориентироваться на полную платформу .NET Framework так же, как то, что вы делаете в прошлом. Конкретный профиль Mono не задан.
Ответ 2
Скомпилировать из Visual Studio и настроить Mono
Как извлечь из здесь
Вы можете скомпилировать Mono в Windows, из Visual Studio с MonoHelper addin (используя xbuild внизу).
Существует также другое решение, которое нацелено на профиль "Моно".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
-
Сделать ссылку на папку Mono внутри Microsoft References
(вам может потребоваться запустить следующие права администратора)
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>
Ответ 3
Посмотрите на решение pythonnet и проекты, которые нацелены на несколько запусков CLR:
https://github.com/pythonnet/pythonnet/blob/master/pythonnet.sln