web-dev-qa-db-fra.com

Comment exécuter une DLL .Net Core?

J'ai créé mon application console à l'aide de dnu build commande sur mon Mac. La sortie est MyApp.dll.

Comme ce n'est pas MyApp.exe, comment puis-je l'exécuter sur Windows, ou même sur Mac?

Le code est:

using System;

class Program
{
    public static void Main()
    {
        Console.WriteLine("Hello from Mac");        
    }
}
25
mehrandvd

Ajoutez ceci à votre fichier project.json:

 "compilationOptions": {
        "emitEntryPoint": true
 },

Il générera MyApp.exe sur Windows (dans bin/Debug) ou les fichiers exécutables sur d'autres plateformes.

Edit: 30/01/2017

Ce n'est plus suffisant. Vous avez maintenant la possibilité entre le déploiement dépendant du Framework et le déploiement autonome comme décrit ici .

Forme courte:

Déploiement dépendant du framework (le noyau .net est présent sur le système cible)

  • Exécutez la DLL avec l'utilitaire de ligne de commande dotnet dotnet MyApp.dll

Déploiement autonome (tous les composants, y compris le noyau d'exécution .net, sont inclus dans l'application)

  • Retirer "type": "platform" de project.json
  • Ajouter une section runtimes à project.json
  • Construire avec le système d'exploitation cible dotnet build -r win7-x64
  • Exécuter généré MyApp.exe

fichier project.json:

{
    "version": "1.0.0-*",
    "buildOptions": {
        "emitEntryPoint": true
    }, 
    "frameworks": {
        "netcoreapp1.0": {
            "dependencies": {
                "Microsoft.NETCore.App": {
                    "version": "1.0.1"
                }
            }
        }
    },
    "imports": "dnxcore50",
    "runtimes": { "win7-x64": {} }
}
25
Fabian

Vous pouvez utiliser dotnet publish pour générer une sortie .exe pour votre application console.

Plus de détails: publier des applications .NET Core avec la CLI

4
giacomelli