web-dev-qa-db-fra.com

Comment cibler le framework Mono de VS2015?

Je souhaite déployer une application Web ASP.NET sur Linux avec mono installé.

De ce que je sais, Mono est une plate-forme de ciblage similaire à .DNX 4.5.1 ou .DNX Core 5.0. Je dois donc l'ajouter aux plateformes de ciblage de mon projet pour le compiler et le déboguer.

Étonnamment, je n'ai pas réussi à trouver d'instructions. Je crée un nouveau projet ASP.NET 5/vNext. Tout ce que je vois, ce sont des cibles de compilation 4.5.1 et Core 5.0. Comment ajouter Mono à cette liste?

11
yaapelsinko

Il y avait des produits Mono/Mono pour VS qui intègrent Mono dans VS, mais maintenant il n'y en a plus.

Dans ce cas, vous devez cibler .NET Core 5, car ce sera la solution ultime.

Mono fournit toujours une certaine prise en charge pour les projets ASP.NET 4. *, mais il serait difficile d’affirmer la compatibilité car vous devez déployer sur Mono sous Linux pour vérification. Même dans ces cas, votre projet doit cibler la totalité du .NET Framework, comme ce que vous avez fait par le passé. Il n'y a pas de profil spécifique Mono à cibler.

2
Lex Li

Compiler à partir de Visual Studio et cible Mono

_ {Extrait de ici

Vous pouvez compiler contre Mono sous Windows à partir de Visual studio avec MonoHelper addin (en utilisant xbuild en dessous).

Il existe également une autre solution, qui cible un profil "Mono" .NET Framework de visual studio . Les étapes suivantes proviennent de ici et s’appliquent à VS 2012 (mais cela devrait fonctionner pour les autres versions). 

  1. Créez deux clés de registre:

    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. Créez un lien vers le répertoire Mono dans le répertoire des références Microsoft (Vous devrez peut-être exécuter ce qui suit avec des droits d'administrateur)

    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. Modifier FrameworkList.xml

Collez le texte suivant dans 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>
5
Fab

Jetez un coup d'œil à la solution pythonnet et aux projets qui ciblent plusieurs environnements d'exécution CLR:

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

0
denfromufa