【发布时间】:2017-02-28 21:41:59
【问题描述】:
我的解决方案中有多个项目。我正在尝试为我的构建服务器创建构建定义。我的核心项目与以下 project.json 没有依赖关系:
{
"version": "1.0.0-*",
"frameworks": {
"netcoreapp1.0": {}
},
"dependencies": {
"Microsoft.NETCore.App": {
"version": "1.0.0",
"type": "platform"
},
"Microsoft.EntityFrameworkCore.SqlServer": "1.0.1"
}
}
我正在尝试恢复然后构建这个项目,但它抱怨与它无关的其他项目。
恢复
PS C:\Program Files (x86)\TeamCity\buildAgent\work\3c13246440f9a264\src\Compas.Core> dotnet restore
log : Restoring packages for C:\Program Files (x86)\TeamCity\buildAgent\work\3c13246440f9a264\src\Compas.Core\project.json...
log : Writing lock file to disk. Path: C:\Program Files (x86)\TeamCity\buildAgent\work\3c13246440f9a264\src\Compas.Core\project.lock.json
log : C:\Program Files (x86)\TeamCity\buildAgent\work\3c13246440f9a264\src\Compas.Core\project.json
log : Restore completed in 2071ms.
构建
PS C:\Program Files (x86)\TeamCity\buildAgent\work\e5c291e45d6e2691\src\Compas.Core> dotnet build
Project Microsoft.Extensions.Caching.Abstractions does not have a lock file. Please run "dotnet restore" to generate a new lock file.
Project Microsoft.Extensions.Caching.Abstractions does not have a lock file. Please run "dotnet restore" to generate a new lock file.
我的解决方案中有“Microsoft.Extensions.Caching.Abstractions”,但为什么构建 Core 需要该锁定文件。
【问题讨论】:
-
尝试删除文件 C:\Program Files (x86)\TeamCity\buildAgent\work\e5c291e45d6e2691\src\Compas.Core\project.lock.json(如果存在)并重新运行恢复。
-
我已经这样做了
-
好的。您可以尝试的另一个技巧是:在 project.json 中添加一些随机依赖项,您可以稍后将其删除,这将强制写入锁定文件。
-
它已经为 Compas.Core 项目创建了锁定文件,但它抱怨其他项目。
-
如果您有项目引用,您需要恢复所有项目。最简单的方法是转到解决方案/repo 根目录并在那里运行
dotnet restore。
标签: msbuild asp.net-core .net-core project.json