Как поменять net framework в visual studio
Перейти к содержимому

Как поменять net framework в visual studio

  • автор:

Пример перехода на последнюю версию .NET

Это содержимое является фрагментом из электронной книги, модернизации классических приложений в Windows с помощью .NET 7, доступных в документации .NET или в виде бесплатного скачиваемого PDF-файла, который можно читать в автономном режиме.

Modernizing Desktop Apps on Windows with .NET 6 eBook cover thumbnail.

В этой главе мы рассмотрим, как перенести приложения на последнюю версию .NET. Вы можете перейти на .NET 7 из платформа .NET Framework, .NET Core или .NET 5. В большинстве случаев мы введем инструмент, который может выполнять всю работу. Если ваше приложение предназначено для особых случаев или имеет сложные зависимости, мы также продемонстрируем, как выполнить перенос вручную. Кроме того, мы рассмотрим самые распространенные проблемы и трудности, возникающие при переносе существующего приложения с .NET Framework в .NET.

Миграция из .NET Core или .NET 5

Обновить приложения до последней версии .NET легко, если вы уже используете .NET Core или .NET 5. Если это так, в Visual Studio просто щелкните проект правой кнопкой мыши в Обозреватель решений и выберите «Свойства«. В разделе «Общая целевая>платформа приложений>» выберите .NET 7.0. Сохраните проект и выполните сборку приложения. Готово! Теперь приложение работает в последней версии .NET. В будущем, когда новые версии становятся доступными, вы можете обновить таким же образом.

Migrating to .NET 7.0 from .NET Core or .NET 5

Миграция из .NET Framework

Миграция с .NET Framework не так проста, так как между .NET Framework и другими платформами, созданными на основе .NET Core, существует больше различий. Но хорошая новость заключается в том, что есть инструмент, который будет делать всю работу для вас в большинстве случаев.

Миграция с помощью средства

Помощник по обновлению — это средство миграции. Это просто, и на веб-сайте .NET доступны пошаговые инструкции. В этой главе мы рассмотрим, что происходит за кулисами и как перенести приложение вручную. Если Помощник по обновлению не может перенести ваше приложение, вы можете изучить, как выполнить миграцию вручную.

Миграция вручную

Процесс миграции состоит из четырех последовательных шагов:

  1. Подготовка. Изучите зависимости, которые проект должен учитывать при дальнейших действиях. На этом шаге вы переведете текущий проект в состояние, которое упрощает точку запуска миграции.
  2. Миграция файла проекта. В проектах .NET используется новый формат проекта в стиле пакета SDK. Создайте новый файл проекта с этим форматом или обновите его, чтобы использовать стиль пакета SDK.
  3. Исправление кода и сборки. Создайте код в .NET для устранения различий на уровне API между платформой .NET Framework и .NET. При необходимости обновите сторонние пакеты до поддерживаемых версий .NET.
  4. Запуск и тестирование. Могут возникнуть различия, которые не отображаются до времени выполнения. Поэтому не забудьте запустить приложение и проверить, чтобы все работало должным образом.

Подготовка

Миграция файла packages.config

В приложении .NET Framework все ссылки на внешние пакеты объявляются в файле packages.config. В .NET больше не нужно использовать файл packages.config. Вместо него используйте свойство PackageReference в файле проекта, чтобы указать пакеты NuGet для приложения.

Поэтому необходимо перейти от одного формата к другому. Обновление можно выполнить вручную, используя зависимости, содержащиеся в файле packages.config. Перенесите их в файл проекта в формате PackageReference . Вы также можете использовать Visual Studio: щелкните правой кнопкой мыши файл packages.config и выберите пункт Migrate packages.config to PackageReference (Перенос packages.config в PackageReference).

Проверка совместимости всех зависимостей в .NET

После переноса ссылок на пакеты необходимо проверить каждую ссылку на совместимость. Вы можете изучить зависимости каждого пакета NuGet, используемого в nuget.org. Если пакет имеет зависимости .NET Standard, он будет работать в .NET 7, так как .NET поддерживает все версии .NET Standard. На следующем изображении показаны зависимости для пакета Castle.Windsor :

Screenshot of the NuGet dependencies for the Castle.Windsor package

Для проверки совместимости пакета можно использовать средство https://fuget.org, предоставляющее более подробные сведения о версиях и зависимостях.

Возможно, проект ссылается на старые версии пакетов, которые не поддерживают .NET. Вы можете найти более новые версии, поддерживающие платформу. Поэтому рекомендуется обновить пакеты до более новых версий. Однако следует учитывать, что обновление версии пакета может повлечь за собой некоторые критические изменения, которые требуют обновления кода.

Что, если вы не нашли совместимую версию? Что делать, если вы не хотите обновлять версию пакета из-за этих критических изменений? Не беспокойтесь, так как приложение .NET может зависеть от пакетов .NET Framework. Обязательно протестируйте сборку, так как она может вызвать ошибки во время выполнения, если внешний пакет вызывает API, недоступный в .NET. Это отлично подходит, если вы используете старый пакет, который не будет обновляться, и вы можете просто перенацелить работу в .NET.

Проверка на совместимость API

Так как поверхность API в платформах .NET Framework и .NET похожа, но не идентична, необходимо проверить, какие интерфейсы API доступны в .NET, а какие нет. Средство «Анализатор переносимости .NET» можно использовать для отображения API-интерфейсов, отсутствующих в .NET. Он смотрит на двоичный уровень приложения, извлекает все вызываемые API, а затем перечисляет, какие API недоступны в целевой платформе (.NET 7 в этом случае).

Дополнительные сведения об этом средстве можно найти по адресу:

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

Миграция
  1. Создание проекта .NET

В большинстве случаев необходимо обновить имеющийся проект до нового формата .NET. Однако можно также создать проект, сохранив старый. Основной недостаток обновления старого проекта заключается в том, что вы потеряете поддержку конструктора, которая может быть важной для вас и вашей команды разработчиков. Если вы хотите продолжить работу с конструктором, необходимо создать проект .NET параллельно со старым и совместно использовать ресурсы. Если необходимо изменить элементы пользовательского интерфейса в конструкторе, можно переключиться на старый проект, чтобы сделать это. Так как ресурсы связаны, они также будут обновлены в проекте .NET.

Проект в стиле пакета SDK для .NET гораздо проще, чем формат проекта платформы .NET Framework. Помимо упомянутых выше записей PackageReference , это не будет существенно сложнее. Новый формат проекта содержит файлы с определенными расширениями по умолчанию, например файлы .cs и .xaml . Нет необходимости явно включать их в файл проекта.

Рекомендации по AssemblyInfo

В проектах .NET атрибуты создаются автоматически. Если проект содержит файл AssemblyInfo.cs, определения будут дублироваться, что приведет к конфликтам компиляции. Вы можете удалить старый файл AssemblyInfo.CS или отключить автоматическое создание, добавив следующую запись в файл проекта .NET:

  false   
Ресурсы

Внедренные ресурсы включаются автоматически, но ресурсы — нет, поэтому ресурсы необходимо перенести в новый файл проекта.

Ссылки на пакеты

С помощью параметра Migrate packages.config to PackageReference (Перенос packages.config в PackageReference) можно легко переместить ссылки на внешние пакеты в новый формат, как упоминалось ранее.

Обновление ссылок на пакеты

Обновите версии совместимых пакетов, как показано в предыдущем разделе.

Исправление кода и сборки

Microsoft.Windows.Compatibility

Если приложение зависит от API, которые недоступны в .NET, например реестра или списков управления доступом, необходимо включить ссылку на Microsoft.Windows.Compatibility пакет, чтобы добавить эти API для конкретного Windows. Они работают на платформе .NET, но не включены в нее, так как не являются кросс-платформенными.

Существует средство, именуемое анализатором совместимости платформы (https://learn.microsoft.com/dotnet/standard/analyzers/platform-compat-analyzer), помогающее определить интерфейсы API, которые не совместимы с кодом.

Использование директив #if

Если требуются разные пути выполнения при нацеливании на платформу .NET Framework и .NET, следует использовать константы компиляции. Добавьте в код некоторые директивы #if, чтобы сохранить одну и ту же базу кода для обоих целевых объектов.

Технологии, недоступные в .NET

Некоторые технологии недоступны в .NET, например:

  • Домены приложений
  • Удаленное взаимодействие
  • Управление доступом для кода
  • Рабочий процесс Windows

Именно поэтому необходимо найти замену этих технологий, если вы используете их в своем приложении. Дополнительные сведения см. в статье Технологии .NET Framework, недоступные в .NET Core и .NET 5 и более поздних версий.

Повторное создание автоматически созданных клиентов

Если приложение использует автоматически созданный код, например клиент WCF, может потребоваться повторно создать этот код для .NET. Иногда можно найти некоторые отсутствующие ссылки, так как они могут быть не включены в набор сборок .NET по умолчанию. С помощью такого средства как https://apisof.net/ можно легко найти сборку, в которой находится отсутствующая ссылка, и добавить ее из NuGet.

Откат версий пакета

Как мы уже упоминали, лучше обновить каждую версию пакета, чтобы она была совместима с .NET. Однако вы можете обнаружить, что нацеливание на обновленную и совместимую версию сборки просто нецелесообразно. Если стоимость изменения не является приемлемой, можно рассмотреть возможность отката версий пакета с сохранением тех, которые используются на платформе .NET Framework. Хотя они и не предназначены для .NET, они должны работать, если не вызывают некоторые неподдерживаемые API.

Запуск и тестирование

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

На этом заключительном этапе может возникнуть несколько различных проблем в зависимости от сложности приложения и используемых зависимостей и интерфейсов API.

Например, при использовании файлов конфигурации (app.config) могут возникнуть ошибки во время выполнения, например отсутствие разделов конфигурации. Использование пакета NuGet Microsoft.Extensions.Configuration должно исправить эту ошибку.

Другой причиной ошибок является использование методов BeginInvoke и EndInvoke , так как они не поддерживаются в .NET. Они не поддерживаются в .NET, так как имеют зависимость от удаленного взаимодействия, которое не существует в .NET. Чтобы решить эту проблему, попробуйте использовать ключевое слово await (если доступно) или метод Task.Run.

Анализаторы совместимости можно использовать для выявления интерфейсов API и шаблонов кода в коде, которые могут вызывать проблемы во время выполнения с помощью .NET. Перейдите на страницу https://github.com/dotnet/platform-compat и используйте анализатор API .NET для своего проекта.

Миграция приложения Windows Forms

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

Главное окно приложения можно увидеть на следующем изображении:

Main application window

Открыв файл проекта .csproj, вы увидите примерно следующее:

Screenshot of the csproj file contents

Как и ранее упоминание, проект .NET имеет более компактный стиль и необходимо перенести структуру проекта в новый стиль пакета SDK для .NET.

В Обозреватель решений щелкните правой кнопкой мыши проект Windows Forms и выберите «Выгрузить >проект правки».

Теперь можно обновить файл .csproj. Вы удалите все содержимое и замените его следующим кодом:

  WinExe net7.0-windows true false   

Сохраните и перезагрузите проект. Теперь вы сделали обновление файла проекта, и проект предназначен для .NET 7.

Скомпилировав проект на этом этапе, вы обнаружите некоторые ошибки, связанные со ссылкой на клиент WCF. Поскольку этот код создается автоматически, его необходимо создать заново для .NET.

Error List in Visual Studio showing errors

Удалите файл Reference.cs и создайте клиент службы.

Щелкните правой кнопкой мыши Подключенные службы и выберите пункт Добавить подключенную службу.

Screenshot of the Connected Services menu with the Add Connected Service option selected

Откроется окно «Подключенные службы». Выберите параметр Microsoft WCF Web Service.

Screenshot of the Connected Services window

Если у вас есть служба WCF в том же решении, что и в этом примере, вместо указания URL-адреса службы можно выбрать параметр Обнаружение.

Screenshot of the Configure WCF Web Service Reference window

После обнаружения службы средство отражает контракт API, реализованный службой. Измените имя пространства имен на eShopServiceReference , как показано на следующем изображении:

Screenshot the API contract and the namespace changed

Нажмите кнопку Готово. Через некоторое время отобразится созданный код.

Вы должны увидеть три автоматически созданных файла:

  1. Getting Started: ссылка на GitHub с информацией о WCF.
  2. ConnectedService.json: параметры конфигурации для подключения к службе.
  3. Reference.cs: фактический код клиента WCF.

Screenshot of the Solution Explorer window with the three autogenerated files

При повторной компиляции отобразится множество ошибок, поступающих из файлов .cs в папку Helper. Эта папка присутствовала в версии .NET Framework, но не была включена в старую версию файла .csproj. Однако при использовании нового проекта в стиле пакета SDK каждый файл кода, который находится под расположением файла проекта, включается по умолчанию. То есть новый проект .NET Core пытается скомпилировать файлы в папке Helper. Так как эта папка не требуется, ее можно безопасно удалить.

Если скомпилировать проект еще раз и выполнить его, образы продукта не будут отображаться. Проблема заключается в том, что теперь путь к файлам немного изменился. Чтобы устранить эту проблему, добавьте в путь другой уровень глубины, обновив в файле CatalogView.cs строку:

string image_name = Environment.CurrentDirectory + "\\..\\..\\Assets\\Images\\Catalog\\" + catalogItems.Picturefilename; 
string image_name = Environment.CurrentDirectory + "\\..\\..\\..\\Assets\\Images\\Catalog\\" + catalogItems.Picturefilename; 

После этого изменения можно проверка, что приложение запускает и запускается должным образом в .NET 7.

Миграция приложения WPF

Для выполнения миграции мы будем использовать пример приложения Shop.ClassicWPF . На следующем изображении показан снимок экрана приложения перед миграцией:

Sample app before the migration

Это приложение использует локальную базу данных SQL Server Express для хранения сведений о каталоге продуктов. Доступ к этой базе данных осуществляется непосредственно из приложения WPF.

Сначала необходимо обновить файл .csproj до нового стиля пакета SDK, используемого приложениями .NET Core. Выполните те же действия, которые описаны в разделе о миграции Windows Forms: выгрузите проект, откройте файл .csproj, обновите его содержимое и перезагрузите проект.

В этом случае удалите все содержимое файла .csproj и замените его следующим кодом:

   WinExe net7.0-windows true false   

Если перезагрузить проект и скомпилировать его, отобразится следующая ошибка:

Error List in Visual Studio showing single error CS0234

Удалив все содержимое файла .csproj, вы потеряли спецификацию ссылок на проект, присутствующую в старом проекте. Необходимо просто добавить эту строку в файл .csproj, чтобы включить ссылку на проект.

Кроме того, для этого можно использовать Visual Studio, щелкнув правой кнопкой мыши узел Зависимости и выбрав пункт Добавить ссылку на проект. Выберите проект из решения и нажмите кнопку «ОК«:

Screenshot of the Reference Manager dialog with the eShop.SqlProvider project selected

После добавления отсутствующей ссылки на проект приложение компилируется и запускается в .NET должным образом.

Совместная работа с нами на GitHub

Источник этого содержимого можно найти на GitHub, где также можно создавать и просматривать проблемы и запросы на вытягивание. Дополнительные сведения см. в нашем руководстве для участников.

The .NET documentation is open source. Provide feedback here.

Обратная связь

Отправить и просмотреть отзыв по

Руководство по развертыванию .NET Framework для разработчиков

В этой статье содержатся сведения для разработчиков, которые хотят установить любую версию платформа .NET Framework с платформа .NET Framework 4.5 до платформа .NET Framework 4.8 со своими приложениями.

Вы можете скачать распространяемые пакеты и языковые пакеты для .NET Framework со следующих страниц скачивания:

  • платформа .NET Framework 4.8.1
  • .NET Framework 4.8
  • .NET Framework 4.7.2
  • .NET Framework 4.7.1
  • .NET Framework 4.7
  • .NET Framework 4.6.2
  • .NET Framework 4.6.1
  • .NET Framework 4.6
  • .NET Framework 4.5.2
  • .NET Framework 4.5.1
  • .NET Framework 4.5

Содержимое платформы .NET Framework, подписанное ранее с помощью сертификатов, использующих алгоритм SHA1, перестанет использоваться, чтобы поддержать развитие отраслевых стандартов.

Следующие версии платформы .NET Framework достигнут окончания поддержки 26 апреля 2022 г. : 4.5.2, 4.6 и 4.6.1. После этой даты исправления безопасности, обновления и техническая поддержка для этих версий предоставляться не будут.

Если вы используете платформу .NET Framework 4.5.2, 4.6 или 4.6.1, обновите развернутую среду выполнения до более новой версии, например .NET Framework 4.6.2 до 26 апреля 2022 г. , чтобы продолжить получать обновления и техническую поддержку.

Для версий .NET Framework 3.5 SP1 и 4.6.2–4.8 будут доступны обновленные установщики, подписанные с использованием SHA2. Дополнительные сведения см. в плане прекращения использования SHA1, записи блога, посвященной обновлению жизненного цикла .NET 4.5.2, 4.6 и 4.6.1 и часто задаваемых вопросах.

  • Версии платформа .NET Framework с платформа .NET Framework 4.5.1 по платформа .NET Framework 4.8 являются обновлениями на месте для платформа .NET Framework 4.5. Это означает, что они используют ту же версию среды выполнения, но версии сборки обновляются и включают новые типы и члены.
  • .NET Framework 4.5 и более поздние версии поэтапно расширяют возможности .NET Framework 4. При установке .NET Framework 4.5 или более поздних версий в системе, где уже установлена платформа .NET Framework 4, сборки версии 4 заменяются более новыми версиями.
  • Если вы ссылаетесь на внештатный пакет Майкрософт в своем приложении, сборка будет включена в пакет приложения.
  • Для установки .NET Framework 4.5 и более поздних версий требуются права администратора.
  • .NET Framework 4.5 входит в состав в Windows 8 и Windows Server 2012, поэтому этот компонент не нужно развертывать вместе с приложением в этих операционных системах. Аналогично, .NET Framework 4.5.1 входит в состав в Windows 8.1 и Windows Server 2012 R2. Платформа .NET Framework 4.5.2 не входит в состав операционных систем. .NET Framework 4.6 входит в состав Windows 10, .NET Framework 4.6.1 — в состав ноябрьского обновления Windows 10, а .NET Framework 4.6.2 — в состав юбилейного обновления Windows 10. .NET Framework 4.7 входит в состав обновления Windows 10 Creators Update, .NET Framework 4.7.1 — в состав Windows 10 Fall Creators Update, а .NET Framework 4.7.2 — в обновления Windows 10 за октябрь и за апрель 2018 г. Платформа .NET Framework 4.8 входит в состав обновления Windows 10 за май 2019 г. и всех последующих обновлений Windows 10. Полный список требований к оборудованию и программному обеспечению см. в разделе Требования к системе для .NET Framework.
  • Начиная с .NET Framework 4.5, пользователи могут просматривать список запущенных приложений .NET Framework во время установки и легко закрывать их. Это помогает избежать перезапуска системы, вызываемого установкой .NET Framework. См. раздел Уменьшение перезапусков системы.
  • При удалении .NET Framework 4.5 или более поздней версии автоматически удаляются все существовавшие ранее файлы .NET Framework 4. Если вам нужно вернуться к .NET Framework 4, ее придется полностью переустановить со всеми обновлениями. Ознакомьтесь со статьей Installing the .NET Framework (Установка платформы .NET Framework).
  • Распространяемый пакет платформы .NET Framework 4.5 был обновлен 9 октября 2012 г., чтобы устранить проблему, связанную с неправильной отметкой времени в цифровом сертификате, которая вызывала преждевременное истечение срока действия цифровой подписи в файлах, создаваемых и подписываемых Microsoft. Если вы ранее установили распространяемый пакет платформы .NET Framework 4.5 от 16 августа 2012 г., рекомендуем обновить установленную копию до последнего распространяемого пакета, который доступен на странице скачивания .NET Framework. Дополнительные сведения об этой проблеме см. в статье Советы по безопасности (Microsoft) (2749655).

Сведения о способах развертывания платформы .NET Framework и ее системных зависимостей по сети см. в разделе Руководство по развертыванию для администраторов.

Варианты развертывания приложения

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

Стратегия развертывания приложения Доступные методы развертывания Используемый распространяемый пакет .NET Framework
Установка из Интернета — InstallAware
— InstallShield
— Набор инструментов WiX
— Установка вручную
Web installer
Установка с диска — InstallAware
— InstallShield
— Набор инструментов WiX
— Установка вручную
Offline installer
Установка из локальной сети (для корпоративных приложений) — ClickOnce Веб-установщик (см. ограничения в ClickOnce ) или автономный установщик

Распространяемые пакеты

Платформа .NET Framework доступна в виде двух распространяемых компонентов пакетов: веб-установщик (начальный загрузчик) и автономный установщик (автономный распространяемый компонент). Все файлы для скачивания .NET Framework размещаются на этой странице. В следующей таблице сравниваются два пакета:

* Автономный установщик больше, поскольку он содержит компоненты для всех целевых платформ. По завершении работы программы установки операционная система Windows кэширует только использовавшийся установщик. Если удалить автономный установщик после установки, используемое место на диске будет таким же, как при использовании веб-установщика. Если средство, используемое для создания программы установки приложения (например, InstallAware или InstallShield), предусматривает папку для файлов установки, которая удаляется после установки, автономный установщик может быть удален автоматически путем помещения его в папку установки.

** При использовании веб-установщика с пользовательской установкой можно использовать параметры языка по умолчанию на основе заданного пользователем параметра многоязычного пользовательского интерфейса (MUI) или задать другой языковой пакет с помощью параметра /LCID в командной строке. Примеры см. в подразделе Привязка с использованием пользовательского интерфейса .NET Framework по умолчанию .

Методы развертывания

Существует четыре метода развертывания:

  • Можно установить зависимость от платформы .NET Framework. Указать платформу .NET Framework в качестве необходимого компонента при установке приложения можно одним из следующих способов:
    • использовать развертывание ClickOnce (предусмотрено в Visual Studio);
    • создать проект InstallAware (бесплатный выпуск доступен для пользователей Visual Studio);
    • создать проект InstallShield (предусмотрено в Visual Studio);
    • использовать набор инструментов Windows Installer XML (WiX).
    • использовать пользовательский интерфейс по умолчанию— дать установщику .NET Framework возможность предоставить свой пользовательский интерфейс;
    • настроить пользовательский интерфейс для представления унифицированного интерфейса установки, а также для отслеживания хода установки .NET Framework.

    Эти методы развертывания подробно рассмотрены в следующих подразделах.

    Установка зависимости от платформы .NET Framework

    Если для развертывания приложения используется ClickOnce, InstallAware, InstallShield или WiX, можно добавить зависимость от .NET Framework, чтобы платформу можно было установить в ходе установки приложения.

    развертывание ClickOnce

    Развертывание ClickOnce доступно для проектов, созданных при помощи Visual Basic и Visual C#, но недоступно для Visual C++.

    Чтобы выбрать развертывание ClickOnce и добавить зависимость от .NET Framework, выполните в Visual Studio следующие действия:

    1. Откройте проект приложения, который требуется опубликовать.
    2. В обозревателе решений откройте контекстное меню своего проекта и выберите Свойства.
    3. Выберите область Публикация .
    4. Нажмите кнопку Необходимые компоненты .
    5. Убедитесь, что в диалоговом окне Необходимые компоненты установлен флажок Создать программу установки для необходимых компонентов .
    6. В списке необходимых компонентов найдите и выберите версию .NET Framework, которую вы использовали для сборки своего проекта.
    7. Выберите вариант с указанием расположения источника для необходимых компонентов и нажмите кнопку ОК. При предоставлении URL-адреса в качестве расположения загрузки .NET Framework можно указать либо страницу скачивания .NET Framework, либо свой сайт. При размещении распространяемого пакета на своем сервере этот пакет должен представлять собой автономный установщик, а не веб-установщик. Ссылка на веб-установщик может вести только на страницу скачивания .NET Framework. URL-адрес может также указывать диск, на котором распространяется приложение.
    8. В диалоговом окне Страницы свойств выберите ОК.

    Развертывание InstallAware

    InstallAware позволяет создавать пакеты для приложения Windows (APPX), установщика Windows (MSI), машинного кода (EXE) и App-V (Application Virtualization) из одного источника. Вы можете легко добавить любую версию .NET Framework в установку. При необходимости настройте установку, изменив скрипты по умолчанию. Например, InstallAware предварительно устанавливает сертификаты в Windows 7, без которых установка .NET Framework 4.7 завершается сбоем. Дополнительные сведения об InstallAware см. на сайте InstallAware для установщика Windows.

    Развертывание InstallShield

    InstallShield создает пакеты приложений для Windows (MSIX, APPX), пакеты установщика Windows (MSI) и установщики машинного кода (EXE). InstallShield также обеспечивает интеграцию с Visual Studio. Дополнительные сведения см. на веб-сайте InstallShield.

    Развертывание с помощью Windows Installer XML (WiX)

    Набор инструментов Windows Installer XML (WiX) собирает установочные пакеты Windows из исходного кода XML. WiX поддерживает среду командной строки, которая может быть интегрирована в процесс сборки для сборки пакетов установки MSI и MSM. С помощью WiX можно указать .NET Framework в качестве необходимого компонентаили создать формирователь цепочки для полного управления развертыванием .NET Framework. Дополнительные сведения о WiX см. на веб-сайте набора инструментов Windows Installer XML (WiX) .

    Установка .NET Framework вручную

    В некоторых случаях автоматически устанавливать .NET Framework вместе с приложением может быть нецелесообразно. В этом случае можно обязать пользователей установить платформу .NET Framework самостоятельно. Распространяемый пакет доступен в двух пакетах. В процессе установки дайте пользователям указания о том, как найти и установить .NET Framework.

    Привязка установки .NET Framework к установке приложения

    При создании для приложения собственной программы установки можно привязать процесс установки .NET Framework к процессу установки приложения (создать цепочку). При привязке существует два варианта пользовательского интерфейса для установки .NET Framework:

    • использование пользовательского интерфейса по умолчанию, предоставляемого установщиком .NET Framework;
    • создание собственного пользовательского интерфейса для установки .NET Framework для единообразия с программой установки приложения.

    Оба метода позволяют использовать как веб-установщик, так и автономный установщик. У каждого пакета есть свои преимущества:

    • при использовании веб-установщика процесс установки .NET Framework принимает решение, какой требуется установочный пакет, и загружает из Интернета и устанавливает только этот пакет;
    • при использовании автономного установщика можно включить в распространяемый носитель полный набор пакетов установки .NET Framework, чтобы пользователям не нужно было во время установки загружать никакие дополнительные файлы из Интернета.

    Привязка с использованием пользовательского интерфейса .NET Framework по умолчанию

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

    Например, если вы исполняете программу Contoso.exe и вам нужно автоматически установить автономный распространяемый пакет .NET Framework 4.5, используйте следующую команду:

    dotNetFx45_Full_x86_x64.exe /q /norestart /ChainingPackage Contoso

    Можно использовать дополнительные параметры командной строки для настройки установки. Пример:

    • Чтобы предоставить пользователю возможность закрыть работающие приложения .NET Framework для минимизации перезапусков системы, установите пассивный режим и используйте параметр /showrmui следующим образом: dotNetFx45_Full_x86_x64.exe /norestart /passive /showrmui /ChainingPackage Contoso Эта команда позволяет диспетчеру перезапуска выводить окно сообщения, которое дает пользователям возможность закрыть приложения .NET Framework, прежде чем устанавливать платформу .NET Framework.
    • При использовании веб-установщика можно использовать параметр /LCID для указания языкового пакета. Например, чтобы привязать веб-установщик .NET Framework 4.5 к программе установки Contoso и установить японский языковой пакет, добавьте в процесс установки приложения следующую команду: dotNetFx45_Full_setup.exe /q /norestart /ChainingPackage Contoso /LCID 1041 Если параметр /LCID опущен, программа установки установит языковой пакет, соответствующий параметру MUI пользователя.

    Примечание Даты выпусков языковых пакетов могут быть разными. Если требуемый языковой пакет отсутствует в центре загрузки, программа установки установит .NET Framework без языкового пакета. Если .NET Framework уже установлена на компьютере пользователя, программа установки установит только языковой пакет.

    Полный список параметров см. в подразделе Параметры командной строки .

    Стандартные коды возврата см. в подразделе Коды возврата .

    Связывание с использованием настраиваемого пользовательского интерфейса

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

    • Проверка требований к оборудованию и программному обеспечению для .NET Framework.
    • Определение наличия нужной версии .NET Framework на компьютере пользователя.

    Важно! При определении наличия нужной версии платформы .NET Framework на компьютере следует проверить, установлена ли требуемая версия или более поздняя версия, а не установлена ли требуемая версия. Другими словами, следует определить следующее: раздел выпуска, полученный из реестра, больше или равен разделу выпуска требуемой версии, а не равен ли он разделу выпуска требуемой версии.

    Обнаружение .NET Framework

    Если установка выполнена успешно, установщик .NET Framework записывает разделы реестра. Можно узнать, установлена ли в системе .NET Framework 4.5 или более поздняя версия, проверив папку HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full в реестре на наличие значения DWORD с именем Release . (Обратите внимание, что папка «NET Framework Setup» не начинается с точки.) Наличие такого ключа означает, что на компьютере установлена .NET Framework 4.5 или более поздняя версия платформы. Значение Release показывает, какая версия .NET Framework установлена.

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

    Version Значение DWORD «Release»
    платформа .NET Framework 4.8.1 533325
    Платформа .NET Framework 4.8, установленная в обновлениях Windows 10 за май и октябрь 2020 г. 528372
    Платформа .NET Framework 4.8, установленная в обновлениях Windows 10 за май и ноябрь 2019 г. 528040
    Платформа .NET Framework 4.8, установленная во всех версиях ОС, отличных от указанных версий обновления Windows 10 528049
    Платформа .NET Framework 4.7.2, установленная в Windows 10 с обновлением за апрель 2018 г. и в Windows Server, версия 1803 461808
    Платформа .NET Framework 4.7.2, установленная на остальных версиях ОС, кроме Windows 10 с обновлением за апрель 2018 г. и Windows Server, версия 1803. Сюда также относится обновление Windows 10 за октябрь 2018 г. 461814
    Платформа .NET Framework 4.7.1, установленная в Windows 10 Fall Creators Update и в Windows Server, версия 1709 461308
    Платформа .NET Framework 4.7.1, установленная на остальных версиях ОС, кроме Windows 10 Fall Creators Update и Windows Server, версия 1709 461310
    .NET Framework 4.7 установлена в обновлении Windows 10 Creators Update 460798
    .NET Framework 4.7 установлена во всех версиях ОС, за исключением обновления Windows 10 Creators Update 460805
    .NET Framework 4.6, установленная в выпусках Windows 10 Anniversary Edition и Windows Server 2016 394802
    .NET Framework 4.5, установленная во всех версиях операционной системы, отличных от Windows 10 Anniversary Edition и Windows Server 2016 394806
    .NET Framework 4.8, установленная в Windows 10 с обновлением за ноябрь 394254
    .NET Framework 4.6.1, установленная во всех версиях ОС, за исключением Windows 10 с обновлением за ноябрь 394271
    .NET Framework 4.6, установленная в Windows 10 393295
    .NET Framework 4.6, установленная во всех версиях ОС, за исключением Windows 10 393297
    .NET Framework 4.5.2 379893
    Платформа .NET Framework 4.5.1, установленная с Windows 8.1 или Windows Server 2012 R2 378675
    Установка .NET Framework 4.5.1 в Windows 8, Windows 7 378758
    .NET Framework 4,5 378389

    Обнаружение языковых пакетов

    Чтобы проверить, установлен ли определенный языковой пакет, проверьте HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full\папке LCID в реестре на наличие значения DWORD с именем Release . (Обратите внимание, что папка «NET Framework Setup» не начинается с точки.) Параметр LCID задает код языка; список кодов см. на странице поддерживаемых языков.

    Например, чтобы проверить, установлен ли уже японский полный языковой пакет (LCID=1041), извлеките следующее именованное значение из реестра:

    Значение
    Ключ HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full\1041
    Ввод Выпуск
    Тип DWORD

    Чтобы определить, установлен ли окончательный выпуск языкового пакета для определенной версии .NET Framework с 4.5 по 4.7.2, проверьте значение DWORD раздела RELEASE, описанное в предыдущем разделе (Обнаружение .NET Framework).

    Привязка языковых пакетов к установке приложения

    Платформа .NET Framework предоставляет набор автономных исполняемых файлов языковых пакетов, содержащих локализованные ресурсы для конкретных языков и региональных параметров. Эти пакеты можно получить со следующих страниц загрузки .NET Framework:

    • платформа .NET Framework 4.8.1
    • .NET Framework 4.8
    • .NET Framework 4.7.2
    • .NET Framework 4.7.1
    • .NET Framework 4.7
    • .NET Framework 4.6.2
    • .NET Framework 4.6.1
    • .NET Framework 4.6
    • .NET Framework 4.5.2
    • .NET Framework 4.5.1
    • .NET Framework 4.5

    Языковые пакеты не содержат компоненты платформы .NET Framework, необходимые для запуска приложения. Необходимо настроить платформу .NET Framework с помощью веб-установщика или автономного установщика перед установкой языкового пакета.

    Начиная с платформа .NET Framework 4.5.1, имена пакетов принимают форму NDP-KB-x86-x64-AllOS< number >> < version -<>culture .exe, где version — номер версии платформа .NET Framework, number — номер статьи базы знаний Майкрософт и указывает страну или culture регион. Пример одного из этих пакетов — NDP452-KB2901907-x86-x64-AllOS-JPN.exe . Имена пакетов, перечислены в разделе Redistributable Packages ранее в этой статье.

    Чтобы установить языковой пакет с помощью автономного установщика .NET Framework , необходимо привязать его к установке приложения. Например, для развертывания автономного установщика .NET Framework 4.5.1 с японским языковым пакетом используйте следующую команду:

    NDP451-KB2858728-x86-x64-AllOS-JPN.exe /q /norestart /ChainingPackage

    Привязывать языковые пакеты при использовании веб-установщика не обязательно: программа установки установит языковой пакет, соответствующий параметру MUI пользователя. Если требуется установить другой язык, можно использовать параметр /LCID для задания языкового пакета.

    Полный список параметров командной строки см. в подразделе Параметры командной строки .

    Устранение неполадок

    Коды возврата

    В следующей таблице перечислены наиболее распространенные коды возврата установщика распространяемого пакета .NET Framework. Коды возврата одинаковы для всех версий установщика. Ссылки на подробные сведения см. в следующем подразделе.

    Код возврата Описание
    0 Установка успешно завершена.
    1602 Установка отменена пользователем.
    1603 Во время установки произошла неустранимая ошибка.
    1641 Для завершения установки необходима перезагрузка. Сообщение указывает на успешное завершение действия.
    3010 Для завершения установки необходима перезагрузка. Сообщение указывает на успешное завершение действия.
    5100 Компьютер пользователя не отвечает системным требованиям.
    Коды ошибок загрузки

    Ознакомьтесь со следующими ресурсами:

    • Коды ошибок Background Intelligent Transfer Service (BITS)
    • Коды ошибок моникера URL
    • Коды ошибок WinHttp
    Другие коды ошибок

    Ознакомьтесь со следующими ресурсами:

    • Коды ошибок установщика Windows
    • Коды результатов агента обновления Windows

    Удаление .NET Framework

    Начиная с Windows 8, вы можете удалить .NET Framework 4.5 или более поздних версий в разделе включения или отключения компонентов Windows на панели управления. В более ранних версиях Windows платформу .NET Framework 4.5 или более поздних версий можно удалить с помощью пункта Установка и удаление программ на панели управления.

    Для Операционных систем Windows 7 и более ранних версий удаление платформа .NET Framework 4.5.1 В версии 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8 или 4.8.1 не восстанавливается платформа .NET Framework файлов версии 4.5, а при удалении платформа .NET Framework 4.5 не восстанавливается платформа .NET Framework 4 файла. Чтобы вернуться к более старой версии, необходимо переустановить платформу со всеми обновлениями.

    Приложение

    Параметры командной строки

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

    Поддерживаемые языки

    В приведенной ниже таблице перечислены языковые пакеты .NET Framework, доступные для платформы .NET Framework 4.5 и более поздних версий.

    LCID Язык — страна/регион culture
    1025 Арабский — Саудовская Аравия ar
    1028 Китайский (традиционное письмо) zh-Hant
    1029 Чешский cs
    1030 Датский da
    1031 Немецкий (Германия) de
    1032 Греческий el
    1035 Финский fi
    1036 Французский (Франция) fr
    1037 Иврит he
    1038 Венгерский hu
    1040 Итальянский (Италия) it
    1041 Японский ja
    1042 Корейский ko
    1043 Голландский (Нидерланды) nl
    1044 Норвежский (Букмол) Нет
    1045 Польский pl
    1046 Португальский (Бразилия) pt-BR
    1049 Русский ru
    1053 Шведский sv
    1055 Турецкий tr
    2052 Китайский (упрощенное письмо) zh-Hans
    2070 Португальский (Португалия) pt-PT
    3082 Испанский (Испания, современная сортировка) es

    См. также

    • Руководство по развертыванию для администраторов
    • Требования к системе
    • Установка .NET Framework для разработчиков
    • Устранение неполадок с заблокированными установками и удалениями .NET Framework
    • Уменьшение числа перезагрузок при установке платформы .NET Framework 4.5
    • Практическое руководство. Получение хода выполнения установщика .NET Framework 4.5

    Совместная работа с нами на GitHub

    Источник этого содержимого можно найти на GitHub, где также можно создавать и просматривать проблемы и запросы на вытягивание. Дополнительные сведения см. в нашем руководстве для участников.

    The .NET documentation is open source. Provide feedback here.

    Обратная связь

    Отправить и просмотреть отзыв по

    Миграция на .NET Framework 4.8, 4.7, 4.6 и 4.5

    Если приложение создано с использованием более ранней версии .NET Framework, обычно его можно легко обновить до версии .NET Framework 4.5 и ее доработанных выпусков (4.5.1 и 4.5.2), версии NET Framework 4.6 и ее доработанных выпусков (4.6.1 и 4.6.2), версии .NET Framework 4.7 и ее доработанных выпусков (4.7.1 и 4.7.2) или версии .NET Framework 4.8. Откройте проект в Visual Studio. Если проект был создан в более ранней версии Visual Studio, автоматически откроется диалоговое окно Совместимость проекта. Дополнительные сведения об обновлении проекта в Visual Studio см. в статьях о переносе, миграции и обновлении проектов Visual Studio и целевой платформе и совместимости для Visual Studio 2019.

    Однако некоторые изменения в платформе .NET Framework требуют внесения изменений в код. Кроме того, возможно, вы захотите воспользоваться преимуществами новых возможностей в версии .NET Framework 4.5 и ее доработанных выпусках, в версии .NET Framework 4.6 и ее доработанных выпусках, в версии .NET Framework 4.7 и ее доработанных выпусках или в версии .NET Framework 4.8. Внесение подобных изменений в приложение для новой версии платформы .NET Framework обычно называется миграцией. Если нет необходимости в миграции приложения, его можно выполнить в среде .NET Framework 4.5 и более поздней версии без перекомпиляции.

    Ресурсы миграции

    Перед миграцией приложения из более ранних версий .NET Framework на версию 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2 или 4.8 просмотрите следующие документы:

    • См. раздел Версии и зависимости, чтобы определить версию среды CLR, лежащую в основе каждой версии .NET Framework, и ознакомиться с рекомендациями по определению целевой платформы для приложений.
    • См. сведения о совместимости приложений, чтобы узнать об изменениях среды выполнения и целевой платформы, которые могут повлиять на приложение, а также о том, что с ними делать.
    • Просмотрите раздел Устаревшие классы библиотеки классов, чтобы определить устаревшие типы и члены в коде и рекомендуемые альтернативы.
    • См. раздел Новые возможности, чтобы узнать о новых возможностях, которые вы, возможно, захотите добавить в приложение.

    См. также

    • Совместимость приложений
    • Миграция из .NET Framework 1.1
    • Совместимость версий
    • Версии и зависимости
    • Практическое руководство. Настройка приложения для включения поддержки .NET Framework версии 4 и выше
    • Новые возможности
    • Устаревшие классы библиотеки классов
    • Официальная политика поддержки .NET Framework
    • Проблемы при миграции на .NET Framework 4

    Как поменять net framework в visual studio

    Как изменить версию .NET своего решения
    Переключил в своем решении требуемую версию .NET на 4.5.1, а ZipFile все равно не могу.

    Изменить версию .NET при создании проекта
    Добрый день при создании новое проекта для (Web). у меня она останавливается для.

    Как изменить версию Framework
    У меня есть готовое по. В момент создания, я поставил значение Framework в 4.5. Сейчас возникла.

    Как определить версию Net Framework, необходимую для запуска программы?
    Собственно сабж, на руках только EXE-файл. При запуске — программа не является Win32 приложением.

    Как изменить версию .NET Framework в Visual Studio? (C#)

    Установил Visual Studio 2022 . Создаю консольное приложение и не могу установить другую версию .NET Framework .

    В выпадающем окошке доступна только 6 версия.

    введите сюда описание изображения

    Большинство же туториалов ориентированы на версии 4 — 4.5 .

    Как изменить версию .NET ?

    Буду рад любой помощи!

    Во-первых, .NET 6 и .NET Framework 4.5 это хоть и разные платформы, но думаю для начала освоения подойдут и туториалы для .NET Framework . У вас на скриншоте .NET 6 (бывший .NET Core ). Главное их различие это наличие кроссплаформенности у .NET ( .NET Framework работает только на Windows ), более подробно про различия можете почитать здесь.

    Во-вторых, касательно вашего вопроса, вам нужно использовать Visual Studio Installer, можете либо найти и запустить его как отдельное приложение, либо в меню выбора типа проекта должна быть кнопка его запуска. Запустив его выберите нужную вам платформу, установите её и перезапустите Visual Studio.

    How to downgrade .net application framework version in visual studio?

    .Net framework is a powerful software development framework developed by Microsoft for building, deploying, and running applications in windows machine.Net developer uses .Net framework for developing desktop and web applications. But this framework sometimes may problem for you. You might face the situation like you are developing a web application using the latest version of the .net framework. Let’s say .net framework 4.8 and at the time of deploying the server does not have .net framework 4.8. Then you have two options:

    1. Downgrade .net framework in application from visual studio

    Please enable JavaScript

    So, you may be liking to downgrade the .net framework, so in this tutorial, I will guide you for the same.

    Downgrade .net application Version

    It’s quite interesting to see that the project works just fine locally. And it’s is time to upload to the server. You have uploaded successfully. But you try to access the site in the browser you may get NuGet package compatibility-related issues. And this may irritate you. Sometimes it may take a day to solve the problem.

    Microsoft usually upgrades DLL files for bug fixing, improving performances, resolving security-related issues, etc.

    A solution to all the problems like:

    • VS 2019 downgrades .NET 4.7 projects to target framework version 4.6.1.
    • How to downgrade the target framework from 4.5 to 4.0?
    • How to downgrade the target framework from 4.7.2 to 4.5.2?
    • Downgrading .NET Framework causing packages related issues
    • Downgrade Net Framework 4.8 to 4.7.03

    can be solved by following the below step-by-step.

    1. Downgrade your application to the required .net framework that the IIS server is asking.
    2. Upgrade IIS Server to the version that your application is asking.

    Doing Step 2 is beyond the scope of this tutorial. Here, I followed step 1.

    Downgrade .net application (Project Level)

    1) Open your project in a visual studio

    First, open your project in a visual studio.

    • Right-click on your project file (not a solution)
    • Click on «Properties«.
    • Then under the «Application» tabs look at the «Target Framework» dropdown section.
    • Here, we can see this project is running at the 4.7.2 .net framework version.
    • Open packages.config file.

    packages.config looks like this:

    3) Change the current.net framework to the required .net framework

    Here, I am having a 4.7.2 .net framework and I am targeting the .net framework to 4.5.2 as shown below.

    Then you may get a warning message as shown below.

    • Tool >Nuget Package Manager >Package Manager Console and type below command

    �� Note! You must have NuGet version 2.1 for using the package manager console. For version less than Nuget version 2.1 visit here. ��

    5) Check the .net framework installed in a package.config file.

    Now, our application is targeting to 4.5.2 .net framework.

    So, finally, we have successfully downgraded the .net framework.

    Downgrade .net framework for NuGet version < 2.1 (Project Level)

    If you have a NuGet version less than 2.1 then the above method doesn’t work. Follow the below steps:

    NuGet 2.0 and Less doesn’t deal very well with re-targeting your applications. To change the target frameworks of your packages, you will need to uninstall each package and reinstall all those packages again.

    Note:

    While downgrading the .net framework for the project, some errors may occur at a compiled time and can’t reference the namespace. So, some packages and libraries may not work if you downgrade so read the documentation properly, and if all of your packages support on lower .net version then Ok and move forward with the process.

    Downgrade .net framework in Computer (OS level)
    1. Goto search and type «Windows features«.
    2. Select the Turn Windows Features ON or OFF option from the list.
    3. Scroll down and find out the .Net framework version you have to downgrade.
    4. Uncheck it then You will get a message stating «The following Windows features will also be turned off because
      they are dependent on .Net Framework xxx. Do you want to continue? Just click on «Yes»
    5. Next, click on the «Ok» Button.
    6. Now Windows will automatically uninstall that particular .Net framework version.
    7. Once uninstall is completed you can again install your desired older version.
    • If you do not know properly what you’re doing then it’s better to backup up your data before you downgrade the .Net framework.
    • It is advised to always downgrade the .NET framework on a test machine and if successful then only do the same in production.
    • Seek the help of a developer if you feel uncomfortable.
    Conclusion

    It seems that it can be simple to downgrade a project, but it takes a long time to find a solution. Thanks, visual studio for such wonderful tools.

    FAQ:

    Ans: It comes with .Net framework 4.7 and all the lower and same versions of the .net application work fluently.

    Visual Studio 2017 — как изменить версию .NET существующего проекта?

    Я только что установил новый VS и открыл существующий проект.

    Это показывает ошибку:

    Но я только что установил новую VS (ноябрь 2018 г.) и почти уверен, что она поставляется с более новой версией .NET.

    Какие настройки конфигурации мне следует изменить, чтобы эта работа работала (открыть существующий проект с правильной версией .NET)?

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

    Из установщика VS вам необходимо установить .NetFramework Version 4.7/4.x .

    Установщик VS2017 по умолчанию предоставляет справочные сборки 4.6.1. Самая распространенная версия. Чтобы получить 4.7.x, вам нужно вернуться к установщику и выбрать его.

    Одна вещь, которую вы хотите сделать, — это убедиться, что целевая среда, на которую вы нацелены, поддерживается на машинах ваших разработчиков, на сервере сборки и на любой цели развертывания, в которой будет развернуто ваше приложение. Вы также хотите убедиться, что версия C#, которую имеют ваши разработчики, соответствует версии компилятора на вашем компьютере сборки (в противном случае вы получите ошибки сборки «почесать голову»).

    Ответы 2

    Щелкните правой кнопкой мыши проект Properties —> Application —> Target framework . В раскрывающемся списке «Целевая платформа» отображается список платформ, установленных на вашем компьютере.

    Недостаточно установить последнюю версию Visual Studio; вам необходимо убедиться, что вы фактически устанавливаете нужную вам версию .NET Framework. По умолчанию он не установит их все.

    1. Повторно запустите установщик Visual Studio 2017.
    2. Он должен обнаружить, что у вас уже установлена ​​Visual Studio 2017, и нажать Изменить.
    3. После этого щелкните поле с надписью .NET Desktop Development (обратите внимание, не снимайте флажок — просто щелкните само поле). На правой панели вы должны увидеть некоторые компоненты по желанию. Если вы видите, что Инструменты разработки .NET Framework 4.7 не отмечен, это означает, что он в настоящее время не установлен, и вам нужно установить этот флажок и все, что вам нужно, и установить его.

    И наоборот, вы также можете перейти в раздел Отдельные компоненты, найти компоненты Пакет SDK для .NET Framework 4.7 / целевой пакет и также установить их оттуда (они должны быть вверху списка).

    Похожие публикации:

    1. Awei h6 как прошить
    2. Как сделать фото до после с ползунком
    3. Хостинг для opencart какой выбрать
    4. Где в тик токе найти мои подписки

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *