我的解决方案中有多个项目。我正在尝试为我的构建服务器创建构建定义。我的Core Project与以下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需要那个锁文件。
答案 0 :(得分:2)
您的项目取决于Microsoft.EntityFrameworkCore.SqlServer
,Microsoft.Extensions.Caching.Abstractions
依赖于project.lock.json
(不是直接,而是在树后面)。由于您的解决方案中有该项目 - 可能是因为您在global.json中有引用 - 它将尝试使用该项目而不是NuGet包。
但是,对于项目工作引用,它需要@ElementCollection
@CollectionTable(
name = "task_properties",
joinColumns = {
@JoinColumn(
name = "task_id"
)
},
foreignKey = @ForeignKey(
foreignKeyDefinition = "FOREIGN KEY (task_id) REFERENCES Task"
)
)
private Set<String> properties;
,因此它抱怨恢复项目的包。
从您的解决方案中删除项目(我想知道为什么它首先存在)或确保其包已经恢复。