dotnet restore выдает ошибку на локально ссылающихся проектах
Этот вопрос об уточненной особенности. Проекты ядра dotnet от версии 2.x и выше больше не требуют файла project.json.
Когда я строю свой проект локально, используя visual studio, все работает отлично. Однако, когда я собираю его в VSTS, используя рекомендованный процесс от Microsoft https://www.visualstudio.com/en-us/docs/build/apps/aspnet/aspnetcore-to-azure я не могу заставить его работать.
Я нахожу это, когда я делаю
dotnet restore
Я получаю это сообщение об ошибке
Errors in C:\a\1\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 пытается получить не построенные проекты.
Мой project.json содержит это:
"frameworks": {
"net461": {
"dependencies": {
"Wedding.Application": {
"target": "project"
},
"Wedding.Common": {
"target": "project"
},
"Wedding.Domain": {
"target": "project"
},
"Wedding.Persistence": {
"target": "project"
}
}
}
},
1 ответ
Судя по вашему описанию, кажется, что при передаче кода в VSTS отсутствуют 4 зависимости. Я бы посоветовал вам проверить все файлы в VSTS. Для публикации и развертывания основного приложения ASP.Net в Azure через Visual Studio я бы посоветовал вам прочитать эту статью. Прочитайте эту статью для получения дополнительной информации об использовании VSTS для развертывания.
[Обновление на основе моего комментария]
Исходя из моего опыта, если вы разрабатываете базовое приложение.NET, лучше выбрать библиотеку базовых классов.NET. Вы можете поместить общий код в проекты.NET Core в то же решение для будущего кроссплатформенного повторного использования.