MSB4020: значение "" атрибута "Project" в элементе <Import>недопустимо - PullRequest
0 голосов
/ 05 июля 2018

У меня есть решение с проектами .NET Framework, в основном на F #, а затем несколько на C #. Я использую Paket вместо NuGet для управления пакетами. Теперь я добавил свою первую библиотеку .NET Standard 2.0 в это решение.

Когда я запускаю свой скрипт сборки, который запускает другой скрипт сборки, который вызывает devenv для компиляции, возникает ошибка, которая говорит о том, что отсутствует файл obj \ project.assets.json проекта. Фактически он генерируется при компиляции, но только если компилируется один из других проектов. Почему тогда сообщается, что он пропал, немного странно.

Если я запускаю только внутренний скрипт, проблем нет. Если я открою VS и скомпилирую, проблем не будет. Забавно.

Я не совсем уверен, как все работает - или нет. Но после поиска в Google кажется, что этот файл должен быть помещен туда перед компиляцией с помощью devenv (Visual Studio), а не помещен туда с помощью devenv.

Я запустил восстановление пакета. Это не привело к отсутствию project.assets.json.

Я гуглил свой путь к «восстановлению dotnet». При запуске этого я получаю эту ошибку на нескольких старых проектах.

MSB4020: The value "" of the "Project" attribute in element <Import> is invalid.

Итак, вопрос в том, что мне теперь делать?

1 Ответ

0 голосов
/ 05 июля 2018

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

dotnet restore TheProject

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

PS (редактировать): Это не идеальное решение для меня, потому что мне нужно добавить эту строку в мой скрипт сборки для каждого проекта .NET Standard и .NET Core в моем решении. Необходимость поддерживать такой сценарий не идеальна. По этой причине я посмотрю, что нужно сделать, чтобы избавиться от ошибки MSB4020. До тех пор, это служит хорошим обходным путем.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...