我安装了.NET Core 1.1.0 1.0.0-preview2-1-003182的机器以及VisualStudio 2017 RC。当我使用“dotnet new -t Console”创建项目时,它需要一个project.json文件。当我在Visual Studio 2017中创建.NET Core ConsoleApp时,它需要.csproj进行构建配置。这决定了什么?我希望有一个或者另一个,最好是一致的.csproj,因为就我未知版本而言,project.json已被弃用。
VisualStudio 2017 RC似乎不会构建一个自包含的可执行文件,所以我回到命令行尝试“dotnet publish -t win10-x64”,从而得到没有project.json的错误。所以,即使我将.csproj配置为构建.exe,我也不能只构建它。
答案 0 :(得分:2)
.NET Core Tools的版本是原因:
.csproj
注意:Visual Studio 2017 RC安装.NET Core Tools Preview 3(现在甚至是预览版4)。
project.json
用于以前的版本。
如果您想知道使用.NET Core Tools版本,请转到root项目文件夹并运行下一个命令:
dotnet --info
可能的输出:
.NET Command Line Tools (1.0.0-preview2-1-003177)
Product Information:
Version: 1.0.0-preview2-1-003177
Commit SHA-1 hash: a2df9c2576
Runtime Environment:
OS Name: Mac OS X
OS Version: 10.12
OS Platform: Darwin
RID: osx.10.12-x64
如果您的计算机上有多个版本的.NET Core Tools,则可以通过global.json直接指定版本。在根文件夹中创建(如果不存在)此文件并添加" sdk"部分。例如,对于工具预览2:
{
...
"sdk": { "version": "1.0.0-preview2-1-003177" }
}
您也可以使用dotnet-migrate命令将project.json转换为.csproj