我已经使用Mac上的dnu build
命令构建了我的控制台应用程序。输出结果是MyApp.dll
。
由于它不是MyApp.exe
,我该如何在Windows甚至Mac上执行它呢?
代码如下:
using System;
class Program
{
public static void Main()
{
Console.WriteLine("Hello from Mac");
}
}
将此内容添加到您的 project.json 文件中:
"compilationOptions": {
"emitEntryPoint": true
},
在Windows操作系统中生成MyApp.exe(位于bin/Debug目录下),在其他平台上则会生成可执行文件。
编辑:2017年1月30日
这已经不够了。您现在有了两种选择,即基于框架的部署和自包含式部署,如此处所述。
简写如下:
基于框架的部署(目标系统上存在.net core)
dotnet MyApp.dll
自包含式部署(将所有组件(包括.net core运行时)包含在应用程序中)
"type": "platform"
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": {} }
}
dnx run
运行它。 - mehrandvd