Как запустить .Net Core dll?

Я создаю консольное приложение, используя команду dnu build на моем Mac. Выходной сигнал MyApp.dll.

Как это не MyApp.exe, как я могу выполнить его в окнах или даже на Mac?

Код:

using System;

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

Ответ 1

Добавьте это в свой файл project.json:

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

Он создаст MyApp.exe в Windows (в bin/Debug) или исполняемые файлы на других платформах.

Изменение: 30/01/2017

Это не достаточно больше. Теперь у вас есть возможность между зависимым от Framework развертыванием и автономным развертыванием, как описано здесь.

Краткая форма:

Развертывание, зависящее от платформы (ядро .net присутствует в целевой системе)

  • Запустите dll с помощью утилиты командной строки dotnet dotnet MyApp.dll

Автономное развертывание (все компоненты, включая среду выполнения ядра .net включены в приложение)

  • Удалить "type": "platform" из project.json
  • Добавить раздел времени выполнения в project.json
  • Сборка с целевой операционной системой dotnet build -r win7-x64
  • Запустить сгенерированный MyApp.exe

файл 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": {} }
}