我正在尝试运行一个简单的 dotnet publish
命令,这样我就可以在我的 Linux 服务器上编译我的 Web 应用程序。它告诉我我的 project.json
丢失了。
在回答之前,您应该考虑以下最近发生的一些变化。如果我错了请纠正我,但我不需要 project.json
因为我的 Web 应用程序是不需要它的更高版本:
I'm currently running on ASP.NET Core 1.1 and .NET Core 1.1. As I am aware in November 2016 they depreciated
project.json
in favor ofproject.csproj
so projects created in Visual Studio 2017 will no longer generate this file any longer.
ASP.NET Core 1.0 usesproject.json
ASP.NET Core 1.1 usesproject.csproj
我如何创建我的 Web 应用程序项目:
- Visual Studio 2017 RC
- ASP.NET Core 1.1(网络应用程序)
- .NET 核心 1.1
I only displayed how I created my project because it shows people I don't need to
dotnet migrate
into 1.1 since the project never begun as a 1.0 project
我的项目在本地运行良好,它恢复
,它发布
它运行
。它可以完成 dotnet
命令应该完美完成的所有有趣的事情。
更具体的问题:
在具有最新 dotnet --version
的 linux 服务器上运行 dotnet publish
时出现错误提示 project.json
是必需的。为什么最新版本的 .NET Core (1.1) 需要 project.json
,而它在 1.1 版中显然已贬值,应该寻找 .csproj
?
最佳答案
虽然我们正处于 project.json
被 .csproj
取代的交叉期,但有两个版本的 SDK。还有一个基于 project.json
的 SDK v1.1 版本,您必须在您的 linux 服务器上安装它。
当工具进入 RTM 时,这种困惑应该很快就会消失(随着 VS2017 的发布大约一周的时间)。从那时起,所有内容都将基于 .csproj
,并且完全弃用 project.json
。
关于c# - ASP.NET Core 1.1 无法发布应用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42473369/