Сборка ядра dotnet: Пожалуйста, запустите "dotnet restore", чтобы создать новый файл блокировки
У меня есть несколько проектов в моем решении. Я пытаюсь создать определения сборки для моего сервера сборки. У меня есть 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 нужен этот файл блокировки.
1 ответ
Ваш проект зависит от Microsoft.EntityFrameworkCore.SqlServer
что в свою очередь зависит от Microsoft.Extensions.Caching.Abstractions
(не напрямую, но позже в дереве). Поскольку у вас есть этот проект в вашем решении - возможно, потому что у вас есть ссылка в вашем global.json - он попытается использовать этот проект, а не пакет NuGet.
Однако для того, чтобы проект работал, ему нужен project.lock.json
и поэтому он жалуется на восстановление пакетов проекта.
Либо удалите проект из вашего решения (интересно, почему он там находится), либо убедитесь, что его пакеты были восстановлены.