安装 .NET 核心后 运行 'dotnet run' 时无可执行输出

No Executable output when running 'dotnet run' after installing .NET core

我按照下面 link 中的说明安装了 .NET Core

http://dotnet.github.io/getting-started/

并且我能够使用 'dotnet run' 让我的 'hello world' 工作。但是,我看不到互联网上所有文档似乎都表明它会生成的 exe 文件。

运行 'dotnet publish' 几乎将这些文件复制到另一个文件夹中,少了 2 个文件(删除了 pdb 文件和额外的开发配置)。

我错过了什么?

更新 1

这是我的project.json文件

{
  "version": "1.0.0-*",
  "compilationOptions": {
    "emitEntryPoint": true
  },
  "dependencies": {
    "Microsoft.NETCore.App": {
      "type": "platform",
      "version": "1.0.0-rc2-23930"
    }
  },
  "frameworks": {
    "netstandard1.5": {}
  }
}

exe 应该在 bin\Debug 文件夹下。但是,如果您在 project.json 中添加 emitEntryPoint:true,例如 here

,您只会得到一个 exe

发布 "self-contained" 应用程序时,您只会获得二进制可执行文件(Windows 上的 exe 文件)(参见 Types of portability in .NET Core)。注意:我对所有 Microsoft.NetCore.App 引用使用当前的 preview1 构建版本 (1.0.0-rc2-3002702),但相同的更改适用于其他版本。

基本上,您的 project.json 文件应该有以下更改:

1。 添加一个名为 runtimes:

的新部分
"runtimes": {
  "win7-x64": {}
}

2。 删除 Microsoft.NETCore.App 依赖的 platform 部分:

"Microsoft.NETCore.App": {
  "type": "platform",
  "version": "1.0.0-rc2-3002702"
}

更改为:

"Microsoft.NETCore.App": "1.0.0-rc2-3002702"

3。 确保您的目标是 netcoreapp1.0 而不是 netstandard1.*netstandard1.* 表示您正在编译 class 库而不是独立的可执行程序。您的框架部分应该如下所示:

"frameworks": {
  "netcoreapp1.0": {}
}

完成这些更改后,您可以使用以下命令将您的应用程序发布为二进制可执行文件 ("self-contained") 应用程序:

dotnet publish -r win7-x64