Не удается "восстановить dotnet" после обновления до Win10 1803, происходит сбой с ошибкой MSB4019, даже в пустом проекте - PullRequest
0 голосов
/ 26 июня 2018

Я был разочарован проблемами с зависимостями с момента обновления до Fall Creators, поэтому я начал со свежего образа Windows 10 1709 на моем компьютере из нашего ИТ-отдела, переустановил Visual Studio 2017 с нуля с рабочей нагрузкой UWP и 16299 SDK , Я сделал пустое приложение UWP, открыл Консоль диспетчера пакетов и запустил «восстановление dotnet», и получил следующую ошибку:

C:\Users\username\source\repos\App1\App1\App1.csproj(137,3): error MSB4019: The imported project "C:\Program Files\dotnet\sdk\2.1.201\Microsoft\WindowsXaml\v15.0\Microsoft.Windows.UI.Xaml.CSharp.targets" was not found. Confirm that the path in the <Import> declaration is correct, and that the file exists on disk.

Я искал диск C: и обнаружил, что эти файлы хранятся в C: \ Program Files (x86) \ Microsoft Visual Studio \ 2017 \ Community \ MSBuild \ Microsoft \ WindowsXaml \ v15.0 \


EDIT:

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

Мое приложение - это приложение UWP, использующее EF Core, поэтому у меня есть решение с двумя проектами, как рекомендует Microsoft. Одна - это библиотека с моделями данных, другая - приложение UWP.

Когда я обновился до Windows 1803 и Visual Studio 2017, я больше не мог компилировать свое приложение. Visual Studio выдаст ошибку The imported project "C:\Program Files\dotnet\sdk\2.1.201\Microsoft\WindowsXaml\v15.0\Microsoft.Windows.UI.Xaml.CSharp.targets" was not found

Я также не мог выполнить миграцию без ошибок, что и ускорило мой вопрос здесь. Я подумал, что что-то не так с моей установкой .NET Core SDK, поэтому я создал пустое приложение для тестирования.

Используя ваш ответ здесь (и этот документ Microsoft , я определил, что, хотя мой проект модели данных работал как библиотека классов .NET Core в .NET Core 1.x, он должен был быть. NET Стандартная библиотека классов в .NET Core 2.x.

Так что теперь я могу скомпилировать свое приложение и выполнить миграцию, но мне приходится вручную редактировать мой файл .csproj между этими вещами, так как они не работают с одинаковыми настройками TargetFramework (s). Но я задам отдельный вопрос об этом, потому что это не имеет отношения к моей глупости здесь.

1 Ответ

0 голосов
/ 27 июня 2018

Это нормально, поскольку dotnet CLI поддерживает только проекты NETCore. Он не поддерживает проекты UWP project.json или packages.config. Ссылка

Если вы добавите новый проект .NET Core Class Library в решение, а затем запустите dotnet restore, он может работать как положено.

Существует проблема в dotnet проекте GitHub, который сообщает точно такой же признак, и его статус все еще открыт.

Вы хотели запустить NuGet restore, а не dotnet restore ??

...