我试图运行一个简单的dotnet publish
命令,这样我就可以在我的linux服务器上编译我的Web应用程序了。它告诉我,project.json
丢失了。
在您回答之前,您应该考虑以下最近的一些变化。如果我错了,请纠正我,但我不需要project.json
因为我的网络应用程序是更高版本并不需要它:
我目前正在运行ASP.NET Core 1.1和.NET Core 1.1。如我一般 我们在2016年11月意识到他们贬低了
<小时/> ASP.NET Core 1.0使用project.json
project.csproj
因此在Visual Studio 2017中创建的项目将不再生成 这个文件了。project.json
ASP.NET Core 1.1使用project.csproj
我是如何创建我的Web应用程序项目的:
我只展示了我创建项目的方式,因为它向人们展示了我 因为项目从未开始,所以不需要
dotnet migrate
进入1.1 作为一个1.0项目
我的项目本地运行正常,restores
,publishes
runs
。它完成所有有趣的事情dotnet
命令应该完美无缺。
更具体的问题:
在最新dotnet --version
正在运行dotnet publish
的Linux服务器上,我错误地说project.json
是必需的。为什么最新版本的.NET Core(1.1)需要project.json
,当它在版本1.1中明确地被折旧并且应该寻找.csproj
时呢?
答案 0 :(得分:5)
虽然我们处于project.json
被.csproj
替换的交叉期,但SDK有两个版本。对于v1.1,仍然有一个基于project.json
的SDK版本,您必须在Linux服务器上安装该版本。
当工具进入RTM时,这个混乱应该很快消失(在大约一个星期的时间内发布VS2017)。从那时起,所有内容都将基于.csproj
,project.json
已完全弃用。