【问题标题】:ASP.NET Core 1.1 can't Publish AppASP.NET Core 1.1 无法发布应用
【发布时间】:2017-07-17 08:03:10
【问题描述】:

我正在尝试运行一个简单的dotnet publish 命令,以便可以在我的 linux 服务器上编译我的 Web 应用程序。它告诉我我的project.json 不见了。

在您回答之前,您应该考虑以下最近的一些变化。如果我错了,请纠正我,但我不需要 project.json,因为我的 Web 应用程序是不需要它的更高版本:

我目前在 ASP.NET Core 1.1 和 .NET Core 1.1 上运行。如我一般 意识到他们在 2016 年 11 月贬值了 project.json 以支持 project.csproj 所以在 Visual Studio 2017 中创建的项目将不再生成 这个文件不再。


ASP.NET Core 1.0 使用project.json
ASP.NET Core 1.1 使用project.csproj

我是如何创建我的 Web 应用程序项目的:

  • Visual Studio 2017 RC
  • ASP.NET Core 1.1(网络应用)
  • .NET Core 1.1

我只展示了我是如何创建我的项目的,因为它向人们展示了我 不需要dotnet migrate 进入 1.1,因为该项目从未开始 作为 1.0 项目

我的项目在本地运行良好,restorespublishesruns。它完成了dotnet 命令应该做的所有有趣的事情。

更具体的问题
在最新的dotnet --version 运行dotnet publish 的Linux 服务器上给我一个错误说project.json 是必需的。为什么最新版本的 .NET Core (1.1) 需要 project.json,而它在 1.1 版中明显贬值,而应该寻找 .csproj

【问题讨论】:

    标签: c# asp.net .net asp.net-core .net-core


    【解决方案1】:

    虽然我们正处于 project.json.csproj 取代的交叉时期,但 SDK 有两个版本。仍然有一个基于 project.json 的 SDK 版本 v1.1,你必须在你的 linux 服务器上安装它。

    当工具转到 RTM 时,这种混乱应该很快就会消失(大约一周后 VS2017 就会发布)。从那时起,所有内容都将基于 .csproj,而 project.json 已完全弃用。

    【讨论】:

    • 啊,版本之间的过渡期。老实说,乍一看,project.json 文件看起来比 project.csproj 更具可读性和组织性,但这只是我的看法。感谢您提供信息。
    • 理由是所有 .NET 共享一个构建过程和工具在降低复杂性、表面积和重复性方面带来了多方面的好处。很遗憾project.json 不能成为获胜的马(我和我交谈过的大多数人都同意你的 JSON > XML),但据我所知,MSBuild 方面的惯性太大了以便在任何合理的时间范围内更换或重建。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-07
    • 1970-01-01
    相关资源
    最近更新 更多