В последнее время я пытался отказаться от поддержки цели .NET Framework из многоцелевого проекта .NET Core 3.0 (первоначально поддерживаемые цели: netfx472, netcoreapp3.0 и netstandard2.1). В проекте используются пользовательские задачи MSBuild, которые нацелены на netfx472 и netcoreapp3.0 и загружаются в зависимости от того, какая цель построена.
При попытке удалить поддержку целей .NET Framework я удалил все цели netfx и удалил зависимость от пользовательскихзадачи, построенные с целью MSBuild netfx. Проблема, с которой я сейчас сталкиваюсь, заключается в том, что, несмотря на возможность создания проекта для целей .netcoreapp3.0 и netstandard2.1 из командной строки, любая попытка построить его с помощью Visual Studio 16.3.4 или новее или превью 16.4.2 не удалась из-забудучи не в состоянии загрузить пользовательские задачи MSBuild. Побочным эффектом этого является то, что Visual Studio не поддерживает подробный IntelliSense в проектах, которые были построены неправильно (IntelliSense сводится к элементарной форме, где поддерживаются только типы и локальные переменные - нет поддержки для более сложных функций: выбор элемента,помощники по выражению или синтаксису операторов. Кроме того, исправления кода перестают работать.)
Проблема, по-видимому, заключается в использовании Visual Studio NetFx для распространения MSBuild, который поставляется с Visual Studio вместо .NET Core для распространения MSBuild. предотвращает загрузку сборок пользовательских задач MSBuild, нацеленных на .netcoreapp3.0, во время инициализации VS.
Мне не удалось выполнить следующую проблему VS 2019 v16.3.4 и v16.4.prev2 не могут собрать netcoreapp3. 0 проектов, в которых используются пользовательские инструменты MSBuild, предназначенные для netcoreapp3.0 с проектом dotnet/project-system
, однако, предложение для любого обходного пути будет с благодарностью, поскольку оно разблокирует мою работу.