微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

asp.net-core – 项目’XXXXXX’没有锁文件.请运行“dotnet restore”以生成新的锁定文件

我有ASP.NET Core Web API项目和.Net Core Library项目. Web API将Library项目引用为target:project.库项目的名称是Transformations.
下面是两个项目的project.json

用于Web API的project.json

"dependencies": {
   "Microsoft.NETCore.App": {
    "version": "1.0.0","type": "platform"
  },"Microsoft.ApplicationInsights.AspNetCore": "1.0.0","Microsoft.AspNetCore.Mvc": "1.0.0","Microsoft.AspNetCore.Server.IISIntegration": "1.0.0","Microsoft.AspNetCore.Server.Kestrel": "1.0.0","Microsoft.Extensions.Configuration.Environmentvariables": "1.0.0","Microsoft.Extensions.Configuration.FileExtensions": "1.0.0","Microsoft.Extensions.Configuration.Json": "1.0.0","Microsoft.Extensions.Logging": "1.0.0","Microsoft.Extensions.Logging.Console": "1.0.0","Microsoft.Extensions.Logging.Debug": "1.0.0","Microsoft.Extensions.Options.ConfigurationExtensions": "1.0.0","Transformations": {
            "target": "project"
    },"Microsoft.Extensions.DependencyInjection": "1.0.0","Serilog.Extensions.Logging": "1.3.0-dev-10125","Serilog.Sinks.RollingFile": "3.0.0","Serilog.Settings.Configuration": "2.1.0","Microsoft.AspNetCore.Diagnostics": "1.0.0"
},

project.json for Library项目

{
  "version": "1.0.0-*","dependencies": {
    "NETStandard.Library": "1.6.0","Microsoft.Extensions.Options.ConfigurationExtensions": "1.0.0"
  },"frameworks": {
    "netstandard1.6": {
      "imports": "dnxcore50"
    }
  },"configurations": {
    "Production": {},"Staging": {}
  }
}

在下面的构建服务器上是Api& amp;的项目结构.转型项目.

D:\Jenkins\MyJenkinsproject\workspace\src\MySolution
                                                   \Api
                                                   \Transformation

在构建服务器上,我执行了以下命令

D:\Jenkins\MyJenkinsproject\workspace\src\MySolution\Api>dotnet restore

然后

D:\Jenkins\MyJenkinsproject\workspace\src\MySolution\Api>dotnet build

我收到错误

Project Transformations does not have a lock file. Please run
“dotnet restore” to generate a new lock file.

现在,如果我按顺序运行以下命令,那么一切正常.

D:\Jenkins\MyJenkinsproject\workspace\src\MySolution\Transformation>dotnet restore
  D:\Jenkins\MyJenkinsproject\workspace\src\MySolution\Api>dotnet restore
  D:\Jenkins\MyJenkinsproject\workspace\src\MySolution\Api>dotnet build

问题
1>当库项目在API项目中被引用时,为什么我需要为库项目单独运行dotnet restore?为什么它无法隐含地恢复被推荐的项目?

解决方法

From Zlatko Knezevic

This behavior is by design. […] If you wish to restore all of the dependencies for all your projects in one go,so to speak,just run dotnet restore at the root of your solution (where you have the global.json file).

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐