Обновленная Target Framework с 4.7 до 4.7.1 Nu-Get не может восстановить пакеты - PullRequest
0 голосов
/ 27 марта 2019

Я только что изменил целевую структуру всех 11 проектов в своем решении Visual Studio 2017 с .NET 4.7 на .NET 4.7.1.Но теперь, каждый раз, когда я пытаюсь построить, я получаю следующую ошибку от NuGet

1>------ Build started: Project: GS.Core, Configuration: Debug x64 ------
1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\Microsoft\NuGet\15.0\Microsoft.NuGet.targets(186,5): error : Your project does not reference ".NETFramework,Version=v4.7.1" framework. Add a reference to ".NETFramework,Version=v4.7.1" in the "TargetFrameworks" property of your project file and then re-run NuGet restore.
StopOnFirstBuildError: Build cancelled because project "GS.Core" failed to build.
Build has been canceled.

Если я смотрю в файл .csproj, я вижу, что целевой фреймворк изменился.

<TargetFrameworkVersion>v4.7.1</TargetFrameworkVersion>

И я не вижу раздела «TargetFrameworks», просто «TargetFrameworkVersion»

Просто для смеха я попытался на самом деле добавить ключ с таким именем, точно так, как указано в сообщении об ошибке.

<TargetFrameworks>.NETFramework,Version=v4.7.1</TargetFrameworks>

Это была плохая идея.Visual Studio взорвался, когда я попытался загрузить его.

Мой формат управления пакетами по умолчанию - "PackageReference", если это имеет значение.

Я попытался исправить, перечисленные в этот вопрос , но это не имело никакого эффекта.

Есть ли способ исправить это?Я рад, если нужно вручную редактировать файлы проекта.Я бы очень хотел перейти на 4.7.1

1 Ответ

5 голосов
/ 27 марта 2019

Отвечая на мой собственный вопрос, потому что после долгих поисков я наткнулся на ответ на форуме сообщества разработчиков MS

https://developercommunity.visualstudio.com/content/problem/317628/your-project-does-not-reference-netframeworkversio.html

Виновным представляется проект.файл assets.json в папке .OBJ.Обходной путь - удалить все папки bin и .OBJ и перестроить.MS отмечает, что, поскольку существует обходной путь, это проблема с низким приоритетом.

Обратите внимание, что очистка раствора не помогла.Мне пришлось вручную удалить папки.Я предполагаю, что файл json не считается частью сборки, даже если он там живет.

(Я должен сказать, что не могу точно сказать, что это был буквально файл .json. Я удалил папки, как только увиделрекомендации и никогда не искал. Но я думаю, что это).

...