我按照以下链接中的说明安装了.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": {}
}
}
答案 0 :(得分:3)
在发布"自包含的"时,您将只获得二进制可执行文件(Windows上的exe文件)。申请(见Types of portability in .NET Core)。注意:我使用当前的preview1构建版本(1.0.0-rc2-3002702
)来表示所有Microsoft.NetCore.App
引用,但相同的更改适用于其他版本。
基本上,您的project.json文件应该有以下更改:
1。
添加一个名为runtimes
的新部分:
"runtimes": {
"win7-x64": {}
}
2。
删除platform
依赖项的Microsoft.NETCore.App
部分:
"Microsoft.NETCore.App": {
"type": "platform",
"version": "1.0.0-rc2-3002702"
}
更改为:
"Microsoft.NETCore.App": "1.0.0-rc2-3002702"
3。
确保您的目标是netcoreapp1.0
而不是netstandard1.*
,netstandard1.*
表示您正在编译类库而不是独立的可执行程序。您的框架部分应该如下所示:
"frameworks": {
"netcoreapp1.0": {}
}
完成这些更改后,您可以使用此命令将应用程序发布为二进制可执行文件("自包含")应用程序:
dotnet publish -r win7-x64
答案 1 :(得分:-1)
exe应该在bin\Debug
文件夹下。但是,如果您在project.json中添加emitEntryPoint:true
,例如here