Comment comstackr un projet Visual Studio C # avec Mono

Je suis nouveau à cela et je ne sais pas par où commencer.

Je veux comstackr un projet Visual Studio C # avec Mono sous Linux (en ligne de commande).

Le fichier main.cs inclut ces références:

using System; using System.IO; using System.Collections.Generic; using System.ComponentModel; using System.Diagnostics; using System.Drawing; using System.Drawing.Imaging; using System.Net; using System.Text; using System.Text.RegularExpressions; using System.Xml; using iTextSharp.text; using iTextSharp.text.pdf; 

Je n’ai aucune idée si j’ai besoin de noter les références au compilateur, ou s’il va les extraire lui-même, s’il saura où les chercher ou non. Je n’ai jamais fait cela auparavant. Mais je dois juste comstackr ce projet.

Je vous remercie!

Knocte a raison, installez mono-complet

 apt-get install mono-complete 

Je ne sais pas pourquoi mais j’avais des erreurs en conformité avec seulement mono-xbuild installé,

et exécutez depuis la ligne de commande:

 xbuild yourvisualcsharpproject.csproj 

Avez-vous essayé xbuild ? C’est l’équivalent MSBuild sur le monde Mono. Si MSBuild est capable de comstackr votre projet dans Windows, xbuild devrait pouvoir faire la même chose sous Linux (si ce n’est pas le cas, placez un bogue dans Bugzilla ).

MISE À JOUR : De nos jours, les développeurs / emballeurs Mono sont en train de regrouper l’original (et récemment ouvert) avec MSBuild , qui est maintenant une plateforme croisée. Par exemple, il est déjà disponible dans les derniers programmes d’installation Mono pour Mac, vous pouvez donc utiliser le programme de ligne de commande msbuild pour créer votre projet / vos solutions.

Vous pouvez construire en Visual Studio et déployer sous Linux et exécuter sous mono.Have un regard sur cet article

Mono et .NET Framework ne sont pas équivalents en termes de fonctionnalités disponibles.

Par exemple, Mono fournit des fonctions multiplates-formes mais n’implémente pas certaines fonctionnalités liées à Windows fournies par .NET Framework. Vous ne pouvez donc pas comstackr avec .NET sous Windows et vous attendre à ce qu’il fonctionne correctement sous Unix / Mono: cela peut fonctionner mais il y a de fortes chances qu’il échoue. En fait, plus le programme est complexe, plus la chance est grande (vous avez utilisé quelque chose de non disponible dans Mono).

Compilation avec l’outil de ligne de commande: Xbuild

Si vous voulez comstackr un fichier .sln / .csproj à partir de la ligne de commande contre mono, xbuild (mono clone de MSBuild) est la voie à suivre:

 xbuild mysolution.sln xbuild myproject.csproj 

La page de manuel de xbuild sur Ubuntu .

xbuild.exe se trouve dans l’installation mono, probablement dans:

 C:\Program Files (x86)\Mono\lib\mono\4.5 

Comstackr à partir de l’IDE (VS)

Vous pouvez comstackr avec Mono sous Windows, à partir de Visual Studio avec add-in MonoHelper (en utilisant xbuild en dessous).

Il existe également une autre solution, qui vise un profil “Mono” .NET Framework à partir de Visual Studio. Les étapes suivantes viennent d’ ici .

Remarque: j’ai essayé de modifier l’emplacement du profil dans la version 4.5 (mais cela ne fonctionne pas; soit vs ne le trouve pas ou il le détecte comme non installé), utilisez donc toujours le répertoire v4.0 pour installer un profil. basé sur la VM v4.0. Cette limitation et le fait que la chose “Profile” a été interrompue me fait penser que cela ne fonctionnera pas avec une version supérieure de Tools.

La même astuce de profil est utilisée pour Unity au fait.

  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 à l’intérieur du répertoire Microsoft References Assemblies Directory (vous devrez peut-être exécuter les opérations suivantes avec les droits d’administrateur)

    cd "C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\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

    
  1. Modifier la cible du cadre dans l’onglet Application du projet dans Visual Studio

Comstackr avec MonoDevelop / Xamarin Studio

MonoDevelop s’exécute sous Unix et sous Windows, et vous pouvez facilement passer de la compilation / débogage / exécution .Net à la compilation / débogage / exécution Mono dans l’EDI. Cependant, alors que MonoDevelop est assez efficace pour un développeur saisonnier C #, il n’a pas encore atteint la puissance de Visual Studio associée à Resharper.

Code Visual Studio et Mono / .NetCore

Si vous voulez exécuter / comstackr / déboguer C # sur Linux, vous pouvez maintenant utiliser

  • Code Visual Studio
  • Mono Debug
  • C # sur le code VS

et si vous voulez quelque chose avec exactement le même api sous linux et windows, vous pouvez utiliser .Net Core

Sur la ligne de commande, comstackr:

 dotnet build  

ou si vous n’avez qu’un seul projet dans le dossier

 dotnet build 

et alors

 dotnet run