Visual Studio не может настроить таргетинг на .NET Framework 4.8

У меня возникли проблемы с созданием проекта, ориентированного на.NET Framework 4.8. Я использую Visual Studio 2019, обновленную до версии 16.2.5. Я также установил пакет разработчика.NET Framework 4.8. В установщике Visual Studio я не вижу возможности для включения инструментов разработки 4.8, подобных 4.7.

11 ответов

Решение

В этой ветке Visual Studio были все ответы, которые я искал. Пакет разработчика .NET Framework 4.8 включает в себя как SDK, так и целевой пакет. После установки и перезапуска Visual Studio я теперь вижу.NET Framework 4.8 как вариант таргетинга для проектов Visual Studio. Вам не нужно выполнять какие-либо действия установщика Visual Studio.

Также упоминалось в вышеупомянутом потоке, .NET Framework 4.8 будет включен в процесс установки Visual Studio начиная с версии 16.3 (в настоящее время перечислен в 16.3 Preview 2).

Просто была аналогичная проблема с Visual Studio 2019 Community Edition: были показаны только версии.Net Core.

Я редактировал .csprojфайл вручную. Я изменил строчку сTargetFramework собственность

<TargetFramework>net48</TargetFramework>

Как ни странно, теперь появляются и все остальные версии.

Просто подумал, что опубликую свои проблемы, когда я тоже наткнулся на это с проектом Winforms VS2019 и не мог нацеливаться ни на что, кроме .Net 5 и Core 3.1. Оказывается, существует 2 типа Winforms: приложение Winforms и приложение Winforms (.Net Framework). Первый не сможет настроить таргетинг на другую платформу .net. Последний на это способен. Ага! Простые вещи, которые не очевидны.

Ни одно из приведенных выше решений не устранило мои проблемы, но решение Oak_3260548 указало мне правильное направление.

В установщике Visual Studio, доступ к которому можно получить, щелкнув « Инструменты/Получить инструменты и функции » в верхнем меню, я выбрал вкладку « Отдельный компонент » и установил флажок « Пакет таргетинга .Net Framework 4.8 ». Это исправило это для меня.

Для всех, у кого есть эта проблема в версии сообщества VS 2019. В моем случае проблема заключалась в путанице относительно того, какой шаблон выбрать. Шаблоны для .NET Framework заключены в скобки и находятся ниже в списке (в моем случае не отображаются, пока я не щелкну ссылку «очистить» рядом с полем поиска).

Примеры:

Консольное приложение (.NET Framework) Веб-приложение ASP.NET (.NET Framework) Библиотека классов (.NET Framework) и т. Д.

Я установил фреймворк 4.8 через VS под целевыми фреймворками. Как я и ожидал, его нельзя было выбрать там, в свойствах проекта.

Мне пришлось воссоздавать мой проект VS. Для шаблона я нашел фреймворк 4.8 путем поиска в шаблонах при создании проекта с использованием параметров поиска консоли фреймворка С #. Затем я скопировал свои файлы в новую папку проекта и добавил их как существующие элементы с помощью инструмента решения.

Ни одно решение выше не решило мою проблему. Примечание в https://docs.microsoft.com/en-us/visualstudio/ide/step-1-create-a-windows-forms-application-project?view=vs-2019 пункт 2 помогло:

Примечание

Если вы не видите шаблон приложения Windows Forms (.NET Framework), вы можете установить его из окна Создать новый проект. В разделе Не нашли то, что ищете? сообщение, выберите ссылку «Установить дополнительные инструменты и функции».

Ссылка «Установить дополнительные инструменты и функции» из сообщения «Не удается найти то, что вы ищете» в окне «Создать новый проект».

Затем в установщике Visual Studio выберите рабочую нагрузку разработки рабочего стола .NET .

После этого нажмите кнопку «Изменить» в установщике Visual Studio. Вам может быть предложено сохранить вашу работу; если да, то делай так. Затем выберите Продолжить, чтобы установить рабочую нагрузку.

Хотя я всегда проверяю это при установке VS, его не было. И темплейты отсутствовали, хотя у меня были установлены правильные пакеты отслеживания.

1. Выберите приложение WPF (.NET Fromework) с XMAL.

2. Выберите .NET 4.8.

В Visual Studio 2022 я выбираю приложение WPF (.NET Fromework) с XMAL, которое может поддерживать .NET Framework.

Даже с более низкой Visual Studio (у меня 15.2 под Win 2008 R2) можно!

  1. Установите как Net Framework 4.8 Runtime, так и пакет разработчика.
  2. Перезагрузите сервер
  3. Откройте существующий проект и в свойствах проекта переключите фреймворк на 4.8.

Вот и все!

Я нашел решение: если я хочу, чтобы Visual Studio Community 2019 ориентировался на .NET 4.8, я могу создать несколько простых проектов с помощью Visual Studio Express 2013. В настройках проекта я изменяю требуемый .NET (до 4.8) и сохраняю. После этого вы можете открыть этот проект с помощью Visual Studio Community 2019, и в настройках проекта вы увидите все целевые параметры .NET до 4.8.

Однако, если вы хотите поиграть с .NET Core 3.1 и .NET 5.0, вам необходимо создать новый проект в Visual Studio Community 2019.

C:\Program Files\Microsoft Visual Studio\2022\Community\Msbuild\Current\Bin\amd64\Microsoft.Common.CurrentVersion.targets

      <!--
<GetReferenceAssemblyPaths
    Condition="'$(TargetFrameworkMoniker)' != '' and ('$(_TargetFrameworkDirectories)' == '' or '$(_FullFrameworkReferenceAssemblyPaths)' == '')"
    TargetFrameworkMoniker="$(TargetFrameworkMoniker)"
    RootPath="$(TargetFrameworkRootPath)"
    TargetFrameworkFallbackSearchPaths="$(TargetFrameworkFallbackSearchPaths)"
    BypassFrameworkInstallChecks="$(BypassFrameworkInstallChecks)"
    >
  <Output TaskParameter="ReferenceAssemblyPaths" PropertyName="_TargetFrameworkDirectories"/>
  <Output TaskParameter="FullFrameworkReferenceAssemblyPaths" PropertyName="_FullFrameworkReferenceAssemblyPaths"/>
  <Output TaskParameter="TargetFrameworkMonikerDisplayName" PropertyName="TargetFrameworkMonikerDisplayName" Condition="'$(TargetFrameworkMonikerDisplayName)' == ''"/>
</GetReferenceAssemblyPaths>
-->
Другие вопросы по тегам