dotnet restore 在本地引用的项目上抛出错误

dotnet restore throws error on locally referenced projects

This question is about a depeciated feature. dotnet core projects from version 2.x and up no longer require a project.json file.

当我使用 visual studio 在本地构建我的项目时,一切正常。但是,当我使用 Microsoft https://www.visualstudio.com/en-us/docs/build/apps/aspnet/aspnetcore-to-azure 推荐的流程在 VSTS 中构建它时,我无法让它工作。

我发现当我这样做时

dotnet restore

我收到此错误消息

Errors in C:\a\s\Wedding.WebApp\project.json
    Unable to resolve 'Wedding.Application' for '.NETFramework,Version=v4.6.1'.
    Unable to resolve 'Wedding.Common' for '.NETFramework,Version=v4.6.1'.
    Unable to resolve 'Wedding.Domain' for '.NETFramework,Version=v4.6.1'.
    Unable to resolve 'Wedding.Persistence' for '.NETFramework,Version=v4.6.1'.

我的解决方案中有 5 个项目,我认为 dotnet restore 正在尝试获取未构建的项目。

我的 project.json 包含这个:

"frameworks": {
  "net461": {
    "dependencies": {
      "Wedding.Application": {
        "target": "project"
      },
      "Wedding.Common": {
        "target": "project"
      },
      "Wedding.Domain": {
          "target": "project"
      },
      "Wedding.Persistence": {
          "target": "project"
      }
    }
  }
},

根据您的描述,将代码推送到 VSTS 时似乎缺少 4 个依赖项。我建议您检查 VSTS 中的所有文件。对于通过 Visual studio 将 ASP.Net 核心应用程序发布和部署到 Azure,我建议您阅读 this article. Read this article 以了解有关使用 VSTS 进行部署的更多信息。

[根据我的评论更新]

根据我的经验,如果你开发.NET core 应用程序,最好选择.NET core class 库。您可以将 .NET Core 项目中的通用代码放在同一个解决方案中,以供将来跨平台重用。