Автономный установщик Microsoft платформа .NET Framework 4.7.2 для Windows
Windows Server 2016 Version 1709 Windows 10, version 1709, all editions Windows 10, version 1703, all editions Windows 10, version 1607, all editions Windows Server 2012 R2 Windows 8.1 Windows Server 2012 Windows Server 2008 R2 Service Pack 1 Windows 7 Service Pack 1 Еще…Меньше
О Microsoft платформа .NET Framework 4.7.2
Microsoft платформа .NET Framework 4.7.2 — это обновление на месте для платформа .NET Framework 4, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7 и 4.7.1.
-
Автономный пакет можно использовать в ситуациях, когда веб-установщик нельзя использовать из-за отсутствия подключения к Интернету. Этот пакет больше, чем веб-установщик, и не включает языковые пакеты. Для оптимальной эффективности и пропускной способности рекомендуется использовать веб-установщик, а не автономный установщик.
-
При установке этого пакета в вашей операционной системе устанавливаются следующие пакеты или обновления:
-
В Windows 7 с пакетом обновления 1 (SP1) и Windows Server 2008 R2 с пакетом обновления 1 (SP1) платформа .NET Framework 4.7.2 указан в качестве установленного продукта в элементе Программы и функции панели управления.
-
В Windows Server 2012 статье Обновление для Microsoft Windows (KB4054542) указано в элементе Установленные обновления на панели управления.
org/ListItem»>
В Windows 8.1 или Windows Server 2012 R2 обновление для Microsoft Windows (KB4054566) отображается под элементом Установленные обновления на панели управления.
-
-
-
В Windows 10 Fall Creators Update версии 1709 обновление для Microsoft Windows (KB4073120) указано в списке Установленные обновления на панели управления.
Microsoft платформа .NET Framework 4.7.2 доступна в Windows Update и Windows Server Update Service (WSUS).
Примечание. Установщик пакетов (NDP472-KB4054530-x86-x64-AllOS-ENU.exe) был обновлен 10 июля 2018 г. Если вы скачали установщик до 10 июля 2018 г., рекомендуем скачать последнюю версию установщика (4.7.3081.0), чтобы получить дополнительные исправления, включенные в обновление.
Сведения о загрузке
В Центре загрузки Майкрософт доступны для скачивания следующие файлы:
-
Для всех Windows, кроме Windows RT 8.1:
скачайте пакет автономного установщикаMicrosoft платформа .NET Framework 4.7.2.
-
В Windows RT 8.1:
Префикс был обновлен с последними обновлениями платформа . NET Framework, которые содержат все исправления, которые ранее были включены в исправление. Рекомендуется установить последние обновления платформа .NET Framework.
Сведения о том, как скачать файлы службы поддержки Майкрософт, см. в сведениях о том, как получить файлы службы поддержки Майкрософт из веб-служб.
Корпорация Майкрософт проверила этот файл на наличие вирусов с помощью последней на момент его публикации версии антивирусного программного обеспечения. Файл хранится на защищенных серверах, что предотвращает его несанкционированное изменение.
Проблемы, решаемые этим обновлением
Следующие проблемы устранены в платформа .NET Framework 4.7.2.
SQL Server (SQL)
Исправлена проблема, из платформа .NET Framework из-за которой свойство SqlConnection. ConnectionString API API используется для задания строки подключения NULL или пустой. В этой ситуации при использовании API вместе с API вместе с платформа .NET Framework 4.7.2 возникает NRE. [611802, System.Data.dll, ошибка]
-
Исправлена проблема, из-за которой подключение к Azure SQL DB и
Windows Presentation Framework (WPF)
-
Добавляет переключатель AppContext, который отказаться от некоторых работ, которые были сделаны во время работы AppDomain или завершения процесса.
-
Исправление сбоя в WPF, возникавшего при замене нескольких символов одним символом (на другом языке, чем исходный текст) с помощью IMEPad. [605996, PresentationFramework.dll, ошибка]
Сгруппирование элементов в поле со полем со сгруппированием теперь является правильным через пользовательский интерфейсAutomation. [605922, PresentationFramework.dll, ошибка]
Дополнительная информация
Эта версия платформа .NET Framework работает рядом с платформа .NET Framework 3.5 с SP1 и более ранними версиями. Однако она выполняет обновление на месте для платформа .NET Framework 4, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7 и 4.7.1.
-
Приложения, которые используют платформа .NET Framework для инициализации компонента COM и запускаются с ограниченными разрешениями, могут не запуститься или запуститься правильно, а также вернуть ошибки «доступ запрещен», «класс не зарегистрирован» или «внутренний сбой произошел по неизвестным причинам».
-
Известные проблемы с платформа .NET Framework 4.7.2 см. в платформа .NET Framework 4.7.2.
Параметры командной строки для этого обновления
Дополнительные сведения о различных параметрах командной строки, поддерживаемых этим обновлением, см. в разделе «Параметры командной строки» статьи Руководство по развертыванию платформа .NET Framework для разработчиков.
Требование перезагрузки
После установки обновления может потребоваться перезагрузить компьютер. Перед установкой этого обновления рекомендуется выйти из всех приложений, платформа .NET Framework приложения.
Поддерживаемые операционные системы
Microsoft платформа .NET Framework 4.7.2 (автономный установщик) поддерживает следующие операционные системы:
-
Windows Server 2016 (версия 1709)
-
Windows 10 юбилейного обновления (версия 1607) (x86 и 64)
org/ListItem»>
-
Windows 10 Fall Creators Update (версия 1709) (x86 и x64)
-
Windows Server 2012 R2 (x64)
-
Windows 8.1 (x86 и x64)
-
Windows Server 2012 (x64)
-
Windows Server 2008 R2 с пакетом обновления 1 (x64)
org/ListItem»>
Windows 10 Creators Update (версия 1703) (x86 и x64)
Windows 7 с пакетом обновления 1 (x86 и 64)
Что делать, если не устанавливается NET.Framework
Для тех, кто хотя бы мало-мальски разбирается в программном обеспечении компьютера, абсолютно понятно, что в любом случае наступает время, когда возникает необходимость установить NET.Framework.
С установкой и использованием NET.Framework у пользователей очень часто возникают проблемы
Это совсем неудивительно, поскольку NET.Framework является платформой, на основе которой можно создавать, а затем впоследствии запускать некоторые приложения. Поскольку Microsoft является разработчиком такой платформы, то она рассчитана, безусловно, на Windows, хотя существует всё-таки возможность установить NET.Framework и на некоторые другие операционные системы, в число которых входит и Linux.
К сожалению, установка платформы не всегда проходит успешно, пользователям приходится сталкиваться с серьёзными проблемами, когда возникают системные ошибки, по причине которых процесс инсталляции завершается внезапной неудачей.
Конечно же, сразу возникает вопрос, почему не устанавливается Microsoft NET Framework 4. Получив ответ на этот вопрос, можно найти пути устранения проблемы.
Проблемы установки платформы
Неопытные пользователи, наслышанные о возможных ошибках, возникающих при инсталляции NET.Framework, желают узнать, можно ли обойтись без установки такого пакета на компьютер. В принципе, нет необходимости сразу же перегружать операционную систему всяческими дополнительными приложениями и программами, если пользователь в них не нуждается. Программисты рекомендуют инсталлировать только программное обеспечение, в котором непосредственно нуждается пользователь. Чрезмерная загрузка ОС ненужными программами провоцирует дефицит свободного пространства на жёстком диске, что ухудшает и работу системы, и её быстродействие.
Кстати, Microsoft, изначально вложила в инсталляционный пакет Windows 7 загрузку NET.Framework. Кроме этого, загрузка платформы также может автоматически осуществиться, если у пользователя возникнет желание установить некоторые игровые приложения, поскольку и в этом случае разработчики игр, предвидят, что игра не будет запущена без такой платформы. Чтобы не утруждать пользователя дополнительными поисками, сразу в загрузочный файл игры внедряют и установку платформы.
Встречающиеся ошибки
Разобравшись в алгоритме инсталляции нового программного обеспечения, юзеры по аналогии приступают к установке NET.Framework на Windows 7. Выполняя последовательно все предлагаемые действия, пользователь обнадёживает себя, что всё пройдёт однозначно гладко, и вскоре платформа будет успешно установлена на Windows 7, после чего можно сразу приступить к загрузке и последующему запуску любимой игры.
Однако в некоторых случаях возникает разочарование, поскольку приходится сталкиваться с тем, что даже при чётком следовании инструкции всё равно не устанавливается NET Framework 4 Windows 7, выдавая «грустное» сообщение на экран.
Чаще всего причиной является конфликтная ситуация, возникающая в Windows 7.
Компания Microsoft подтверждает, что проблема, в результате которой не устанавливается НЕТ Фреймворк 4 в Виндовс 7, действительно, связана с Центром обновления Windows.
Безусловно, если возникает проблема, значит, находится и тот, кто старается найти пути её решения. Так и в этом случае, программисты уже нашли эффективные способы, позволяющие обойти возникающую ошибку, успешно установив NET.Framework на Windows 7.
При этом нет необходимости совершать что-то невероятное, алгоритм устранения проблемы подробно расписан, поэтому его освоить сможет даже тот, кто не имеет достаточного практического опыта.
Как установить NET.Framework
«Не могу установить NET Framework» — фраза, которую приходится слышать от многих пользователей. Сочетание «не могу» просто заполонила тематические форумы. К счастью, существуют такие программисты, которые благодаря своим отличным знаниям и практическим умениям, умеют находить различные варианты устранения ошибок. К тому же, они не утаивают свои гениальные «находки», а с радостью делятся со всеми желающими, поэтому на форумах достаточно часто можно найти ценные советы, позволяющие решать проблемы даже абсолютным «чайникам».
Алгоритм действий, ориентированный на установку платформы
Чтобы установить NET.Framework на Windows 7, первоначально следует удалить предыдущие следы установки всех версий. Неопытным пользователям достаточно сложно проделать такие манипуляции, поскольку компания Microsoft достаточно плотно «переплела» системные папки с папками платформы. По этой причине предыдущая версия может очень сложно удаляться, или, вообще, нет возможности от неё «избавиться».
Проигнорировать этот шаг тоже нельзя, поскольку в процессе новой инсталляции платформы на Windows 7, вновь может возникать ошибка.
Чтобы весь процесс деинсталляции и последующей инсталляции был обеспечен успехом, важно следовать всем рекомендациям опытных пользователей. Прежде всего, рекомендуется загрузить файл dotnetfx_cleanup_tool.zip. Далее его следует открыть, а затем сразу же извлечь, поскольку он помещён в архив.
В папке, в которой находятся все извлечённые файлы, необходимо найти файл cleanup_tool с расширением exe. Именно его следует запустить. Сразу же возникнет новое окно, в котором запрашивают разрешение на все последующие действия. Кликнув по кнопке «Да», пользователь соглашается со всем, поэтому программа продолжает выполнять все остальные действия.
В определённый момент возникнет окно, в котором будет предложено право выбрать продукт Microsoft, который требуется удалить. Среди предлагаемого перечня есть строка «NET.Framework — все версии», выбрав её, остаётся нажать на кнопку «Очистить».
Однако и такое приложение не всесильно, поскольку оно не сможет удалить NET.Framework 2.0, поскольку такая версия платформы определена разработчиками Microsoft в качестве неотъемлемой части операционной системы.
После завершения очистки, компьютер нужно обязательно перезагрузить. Разработчики Microsoft выдвигают такие требования для многих важных процедур, связанных с процессами инсталляции и деинсталляции.
После запуска операционной системы следует последовательно установить несколько версий Microsoft. NET.Framework. Первоначально версию 1.1, затем перейти к установке версии 3.5 и 3.0, далее вновь потребуется перезагрузка компьютера.
В завершение остаётся включить Центр обновления Windows и уже после этого благополучно установить Microsoft.NET.Framework 4.
Невзирая на то, что придётся потратить какое-то время на выполнение всех обозначенных действий, пользователь однозначно может гордиться полученным результатом. Новые знания, подкреплённые практическими навыками, всегда рассматриваются в качестве «золотого клада», который может пригодиться ещё много раз.
Итак, установить платформу NET.Framework 4 на компьютер, невзирая на некоторые сложности, сможет каждый пользователь, если поверит в собственные силы и будет следовать рекомендациям опытных пользователей.
Установка компонента .NET Framework Windows Server
Антон Белов
6 ноября 2019
Обновлено 4 июля 2022
Windows
Программная платформа . NET Framework была разработана компанией Microsoft для того, чтобы дать возможность разработчикам абстрагироваться от системного окружения конкретного компьютера, на котором будет исполняться их программа. В этом случае не будет иметь значения какая операционная система установлена, какой процессор и другое аппаратное обеспечение используется — главное, чтобы на компьютере была установлена среда .NET Framework, которая обеспечивает исполнение кода и взаимодействие с необходимыми компонентами окружения. Для работы с этой платформой были разработаны или адаптированы специальные языки программирования C#.NET, VB.NET, C++.NET, J#.NET, F#.NET и т.д.
Достаточно большое количество программ написано под эту платформу, поэтому нужно знать, как установить ее на сервер.
.NET Framework актуальной версии (4.x) уже включен на серверах Windows, развернутых из наших шаблонов. Если требуется включить предыдущую версию (3.5) или же сервер развернут из собственного шаблона/установлен из дистрибутива, можно воспользоваться нижеследующей инструкцией.
Установка компонента .NET Framework в ОС Windows ServerВключение компонента .NET Framework в OC Windows Server возможно с использованием Windows Update или с использованием локального хранилища компонентов (потребуются файлы с дистрибутива ОС). Рассмотрим оба варианта.
Вариант 1
Самый простой и быстрый способ, при наличии подключения к сети Интернет, это установка компонента .NET Framework 3.5 с сервера Microsoft Windows Update (актуально для Windows Server 2008R2/2012R2/2016/2019).
Запускаем PowerShell с правами администратора: Пуск — правый клик по ярлыку Windows Powershell — Запуск от имени Администратора (Run as Administrator):
В открывшемся окне PowerShell набираем команду:DISM /Online /Enable-Feature /FeatureName:NetFx3 /All
Eсли установка производится на Windows Server 2008R2:DISM /Online /Enable-Feature /FeatureName:NetFx3
Нажимаем Enter и ожидаем завершения установки:
Вариант 2
Для установки с использованием локального хранилища (или дистрибутива ОС Windows) через графический интерфейс (Windows Server 2012R2/2016/2019 ):
Запускаем Диспетчер серверов (Server Manager), нажимаем Управление (Manage) – Добавить роли и компоненты (Add Roles and Features):
В появившемся окне нажимаем Далее (Next):
В окне Выбор типа установки (Select installation type) убеждаемся, что выбран пункт установка ролей и компонентов (Role-based or feature-based installation), нажимаем Далее (Next):
Выбор целевого сервера (Select destination server) – проверяем, что в списке выбран требуемый сервер, нажимаем Далее (Next):
Пропускаем Выбор ролей сервера (Select server roles), нажимаем Далее (Next):
В окне Выбор компонентов (Select features) находим в списке требуемую версию . NET Framework и отмечаем галкой, нажимаем Далее (Next):
В случае установки актуальной версии .NET Framework (4.x) в данном окне можно нажимать кнопку Установить (Install), после чего начнется процесс инсталляции из локального хранилища. Если же мы устанавливаем предыдущую версию (3.5), то появится предупреждение, что необходимые для установки файлы отсутствуют и нужно указать путь к данным файлам. Понадобится либо дистрибутив установленной версии дистрибутива ОС Windows, либо копия папки SourcesSxS с этого дистрибутива. Нажимаем на ссылку Указать альтернативный исходный путь (Specify an alternate source path):
В открывшейся форме указываем путь к папке SourcesSxS дистрибутива текущей версии (или копии этой папки – в нашем примере папка скопирована на локальный диск в c:tempsxs), нажимаем ОК:
Вернувшись на форму Подтверждение компонентов установки (Confirm installation selections) нажимаем Установить (Install) и ожидаем окончания установки. Закрываем форму:
Установка на Windows server 2008R2 также производится через Диспетчер серверов:
Запускаем Диспетчер серверов, переходим в раздел Компоненты, нажимаем Добавить компоненты:
В списке компонентов находим и ставим галку на . NET Framework, нажимаем Далее:
В следующем окне нажимаем кнопку Установить:
Дожидаемся успешного окончания установки и закрываем окно:
Установка актуальной версии .NET Framework (4.x) в ОС Windows Server 2008R2 через добавление компонентов не работает. Для инсталляции потребуется скачать автономный установщик с сайта Microsoft (например, по ссылке https://www.microsoft.com/ru-RU/download/details.aspx?id=55167) и установить как обычную программу.
Оценка:
5 из 5
Аverage rating : 5
Оценок: 1
191028 Санкт-Петербург Литейный пр., д. 26, Лит. А
+7 (812) 403-06-99
700 300
ООО «ИТГЛОБАЛКОМ ЛАБС»
191028 Санкт-Петербург Литейный пр. , д. 26, Лит. А
+7 (812) 403-06-99
700 300
ООО «ИТГЛОБАЛКОМ ЛАБС»
700 300
Целевые платформы .NET Framework — Visual Studio (Windows)
Обратная связь Редактировать
Твиттер LinkedIn Фейсбук Эл. адрес
- Статья
- 5 минут на чтение
Применяется к: Visual Studio Visual Studio для Mac Visual Studio Code
В Visual Studio вы можете указать версию . NET, на которую должен ориентироваться ваш проект. Таргетинг на платформу помогает гарантировать, что приложение использует только функциональные возможности, доступные в указанной версии платформы. Чтобы приложения .NET Framework могли работать на другом компьютере, версия платформы, на которую нацелено приложение, должна быть совместима с версией платформы, установленной на компьютере.
Решение Visual Studio может содержать проекты, предназначенные для разных версий .NET. Однако обратите внимание, что вы можете выполнять сборку только для одной версии .NET либо с использованием условных ссылок для одной сборки, либо рекурсивно создавать разные двоичные файлы для каждой версии. Дополнительные сведения о целевых платформах см. в разделе Целевые платформы.
Совет
Вы также можете ориентироваться на приложения для разных платформ. Дополнительные сведения см. в разделе Мультитаргетинг.
Функции таргетинга платформы
Нацеливание на платформу включает следующие функции:
Когда вы открываете проект, предназначенный для более ранней версии платформы, Visual Studio может автоматически обновить проект или оставить цель как есть.
При создании проекта .NET Framework можно указать версию .NET Framework, на которую вы хотите ориентироваться.
В одном проекте можно использовать несколько платформ.
Вы можете выбрать другую версию .NET в каждом из нескольких проектов в одном решении.
Вы можете изменить версию .NET, на которую нацелен существующий проект.
При изменении версии .NET, на которую нацелен проект, Visual Studio вносит все необходимые изменения в ссылки и файлы конфигурации.
Когда вы работаете над проектом, ориентированным на более раннюю версию платформы, Visual Studio динамически изменяет среду разработки следующим образом:0019 диалоговое окно «Добавить новую ссылку » и диалоговое окно «Добавить ссылку на службу », чтобы пропустить варианты, недоступные в целевой версии.
Он фильтрует пользовательские элементы управления в Toolbox , чтобы удалить те, которые недоступны в целевой версии, и показать только самые последние элементы управления, когда доступно несколько элементов управления.
Он фильтрует IntelliSense , чтобы исключить языковые функции, недоступные в целевой версии.
Он фильтрует свойства в окне Свойства , чтобы исключить те, которые недоступны в целевой версии.
Он фильтрует параметры меню, чтобы исключить параметры, недоступные в целевой версии.
Для сборок используется версия компилятора и параметры компилятора, соответствующие целевой версии.
Примечание
- Нацеливание на платформу не гарантирует, что ваше приложение будет работать правильно. Вы должны протестировать свое приложение, чтобы убедиться, что оно работает с целевой версией.
- Вы не можете ориентироваться на версии платформы ниже .NET Framework 2.0.
Выберите версию целевой платформы
При создании проекта .NET Framework вы можете выбрать целевую версию .NET Framework после выбора шаблона проекта. Список доступных фреймворков включает установленные версии фреймворков, применимые к выбранному типу шаблона. Для шаблонов проектов, отличных от .NET Framework, например шаблонов .NET Core, раскрывающийся список Framework не отображается.
Если вы решите создать проект .NET Framework, вы увидите интерфейс, подобный следующему снимку экрана:
Если вы решите создать проект .NET, вы увидите пользовательский интерфейс (UI), похожий на следующие два снимка экрана.
Первый экран, который вы увидите, — это диалоговое окно «Настройка нового проекта ».
Второй экран, который вы увидите, — это диалоговое окно Дополнительные параметры .
Изменение целевой платформы
В существующем проекте Visual Basic, C# или F# целевую версию .NET можно изменить в диалоговом окне свойств проекта. Сведения о том, как изменить целевую версию для проектов C++, см. в разделе Как вместо этого изменить целевую платформу и набор инструментов платформы.
В обозревателе решений откройте контекстное меню правой кнопкой мыши для проекта, который вы хотите изменить, и выберите Свойства .
В левом столбце окна Свойства выберите вкладку Приложение .
Примечание
После создания приложения UWP нельзя изменить целевую версию ни Windows, ни .NET.
В списке Target Framework выберите нужную версию.
В появившемся диалоговом окне проверки нажмите кнопку Да .
Проект выгружается. Когда он перезагружается, он нацелен на версию .NET, которую вы только что выбрали.
В Solution Explorer откройте контекстное меню правой кнопкой мыши для проекта, который вы хотите изменить, и выберите Properties .
В левом столбце окна Свойства выберите вкладку Приложение .
Примечание
После создания приложения UWP нельзя изменить целевую версию ни Windows, ни .NET.
В целевой структуре , выберите нужную версию.
Для проекта .NET Framework диалоговое окно, которое вы видите, может выглядеть примерно так, как показано на следующем снимке экрана:
Для проекта .NET диалоговое окно может выглядеть примерно так, как показано на следующем снимке экрана:
Если появится диалоговое окно подтверждения, нажмите кнопку Да .
Проект выгружается. Когда он перезагружается, он нацелен на версию .NET, которую вы только что выбрали.
Примечание
Если ваш код содержит ссылки на версию .NET, отличную от той, на которую вы нацелились, при компиляции или выполнении кода могут появляться сообщения об ошибках. Чтобы устранить эти ошибки, измените ссылки. См. раздел Устранение ошибок таргетинга .NET.
Совет
В зависимости от целевой платформы он может быть представлен в файле проекта следующими способами:
- Для приложения .NET Core:
netcoreapp2.1 - Для приложения . NET Standard:
netstandard2.0 - Для приложения .NET Framework:
v4.7.2
Разрешить системные и пользовательские ссылки на сборки
Для целевой версии .NET необходимо сначала установить соответствующие ссылки на сборки. Вы можете скачать пакеты разработчика для разных версий .NET на странице загрузок .NET.
Для проектов .NET Framework диалоговое окно Добавить ссылку отключает системные сборки, не относящиеся к целевой версии .NET Framework, чтобы их нельзя было непреднамеренно добавить в проект. (Системные сборки — это файлы .dll , включенные в версию .NET Framework.) Ссылки, принадлежащие версии платформы, которая выше целевой версии, не разрешаются, а элементы управления, зависящие от такой ссылки, не могут быть добавлены. Если вы хотите включить такую ссылку, сбросьте цель проекта .NET Framework на ту, которая включает ссылку.
Дополнительные сведения о ссылках на сборки см. в разделе Разрешение сборок во время разработки.
Включить LINQ
Если вы используете .NET Framework 3.5 или более позднюю версию, ссылка на System.Core и импорт на уровне проекта для System.Linq (только в Visual Basic) добавляются автоматически. Если вы хотите использовать функции LINQ, вы также должны включить параметр Option Infer
(только в Visual Basic). Ссылка и импорт удаляются автоматически, если вы измените цель на более раннюю версию .NET Framework. Дополнительные сведения см. в разделе Работа с LINQ.
См. также
- Целевые рамки
- Мультитаргетинг (MSBuild)
- Как: изменить целевую платформу и набор инструментов платформы (C++)
Обратная связь
Отправить и просмотреть отзыв для
Этот продукт Эта страница
Просмотреть все отзывы о странице
Публикация приложений — .
NET | Microsoft Learn- Статья
- 7 минут на чтение
Приложения, которые вы создаете с помощью .NET, могут быть опубликованы в двух разных режимах, и режим влияет на то, как пользователь запускает ваше приложение.
Публикация вашего приложения как автономного создает приложение, которое включает среду выполнения и библиотеки .NET, а также ваше приложение и его зависимости. Пользователи приложения могут запускать его на компьютере, на котором не установлена среда выполнения .NET.
Публикация вашего приложения как зависящего от платформы создает приложение, которое включает только само приложение и его зависимости. Пользователям приложения необходимо отдельно установить среду выполнения .NET.
Оба режима публикации по умолчанию создают исполняемый файл для конкретной платформы. Приложения, зависящие от платформы, можно создавать без исполняемого файла, и эти приложения являются кроссплатформенными.
При создании исполняемого файла можно указать целевую платформу с помощью идентификатора времени выполнения (RID). Дополнительные сведения о RID см. в разделе Каталог RID .NET.
В следующей таблице перечислены команды, используемые для публикации приложения как зависимого от платформы или автономного, для каждой версии SDK:
Тип | SDK 2.1 | SDK 3.1 | SDK 5.0 | SDK 6.0 | Команда |
---|---|---|---|---|---|
исполняемый файл, зависящий от платформы, для текущей платформы. | ✔️ | ✔️ | ✔️ | публикация в dotnet | |
исполняемый файл, зависящий от платформы, для конкретной платформы. | ✔️ | ✔️ | ✔️ | dotnet publish -r | |
зависимый от фреймворка кроссплатформенный двоичный файл. | ✔️ | ✔️ | ✔️ | ✔️ | публикация в dotnet |
автономный исполняемый файл. | ✔️ | ✔️ | ✔️ | ✔️ | публикация в dotnet -r |
Дополнительные сведения см. в разделе Команда публикации .NET dotnet.
Создать исполняемый файл
Исполняемые файлы не являются кросс-платформенными. Они зависят от операционной системы и архитектуры процессора. При публикации приложения и создании исполняемого файла вы можете опубликовать приложение как автономное или зависящее от платформы. Публикация приложения как автономного включает среду выполнения .NET вместе с приложением, и пользователям приложения не нужно беспокоиться об установке .NET перед запуском приложения. Приложения, опубликованные как зависящие от платформы, не включают среду выполнения и библиотеки .NET; включены только приложение и сторонние зависимости.
Следующие команды создают исполняемый файл:
Тип | SDK 2.1 | SDK 3.1 | SDK 5.0 | SDK 6.0 | Команда |
---|---|---|---|---|---|
исполняемый файл, зависящий от платформы, для текущей платформы. | ✔️ | ✔️ | ✔️ | публикация в dotnet | |
исполняемый файл, зависящий от платформы, для конкретной платформы. | ✔️ | ✔️ | ✔️ | dotnet publish -r | |
автономный исполняемый файл. | ✔️ | ✔️ | ✔️ | ✔️ | публикация в dotnet -r |
Создать кроссплатформенный двоичный файл
Кроссплатформенный двоичный файл создается, когда вы публикуете свое приложение как зависящее от платформы, в форме dll 9файл 0248. Файл dll назван в честь вашего проекта. Например, если у вас есть приложение с именем word_reader , будет создан файл с именем word_reader.dll . Приложения, опубликованные таким образом, запускаются с помощью команды dotnet
и могут выполняться на любой платформе.
Кроссплатформенные двоичные файлы можно запускать в любой операционной системе, если уже установлена целевая среда выполнения .NET. Если целевая среда выполнения .NET не установлена, приложение может работать с использованием более новой среды выполнения, если приложение настроено на повтор транзакций. Дополнительные сведения см. в статье о переносе приложений, зависящих от платформы.
Следующая команда создает кроссплатформенный двоичный файл:
Введите | SDK 2.1 | SDK 3.x | SDK 5.0 | SDK 6.0 | Команда |
---|---|---|---|---|---|
фреймворкозависимый кроссплатформенный двоичный файл. | ✔️ | ✔️ | ✔️ | ✔️ | публикация в dotnet |
Публикация зависит от платформы
Приложения, опубликованные как зависящие от платформы, являются кроссплатформенными и не включают среду выполнения .NET. Пользователь вашего приложения должен установить среду выполнения .NET.
Публикация приложения как зависящего от платформы создает кроссплатформенный двоичный файл в виде файла dll и исполняемого файла для конкретной платформы, ориентированного на вашу текущую платформу. dll является кроссплатформенным, а исполняемый файл — нет. Например, если вы публикуете приложение с именем word_reader и нацелены на Windows, вместе с word_reader.dll создается исполняемый файл word_reader.exe . При нацеливании на Linux или macOS создается исполняемый файл word_reader вместе с word_reader.dll . Дополнительные сведения о RID см. в разделе Каталог RID .NET.
Важно
.NET SDK 2.1 не создает исполняемые файлы для конкретной платформы при публикации приложения, зависящего от платформы.
Кроссплатформенный двоичный файл вашего приложения можно запустить с помощью команды dotnet
на любой платформе. Если приложение использует пакет NuGet с реализациями для конкретной платформы, зависимости всех платформ копируются в папку публикации вместе с приложением.
Вы можете создать исполняемый файл для определенной платформы, передав параметры -r
команде dotnet publish
. Если параметр -r
опущен, исполняемый файл создается для вашей текущей платформы. Все пакеты NuGet, имеющие зависимости от платформы для целевой платформы, копируются в папку публикации. Если вам не нужен исполняемый файл для конкретной платформы, вы можете указать
в файле проекта. Дополнительные сведения см. в справочнике по MSBuild для проектов .NET SDK.
Преимущества
Небольшое развертывание
Распространяется только ваше приложение и его зависимости. Среда выполнения .NET и библиотеки устанавливаются пользователем, и все приложения совместно используют среду выполнения.Кросс-платформенный
Ваше приложение и любая библиотека на основе .NET работают в других операционных системах. Вам не нужно определять целевую платформу для вашего приложения. Сведения о формате файла .NET см. в разделе Формат файла сборки .NET.Использует последнюю исправленную среду выполнения
Приложение использует последнюю версию среды выполнения (в рамках целевого основного и дополнительного семейства .NET), установленную в целевой системе. Это означает, что ваше приложение автоматически использует последнюю исправленную версию среды выполнения .NET. Это поведение по умолчанию можно переопределить. Дополнительные сведения см. в статье о переносе приложений, зависящих от платформы.
Недостатки
Требуется предварительная установка среды выполнения
: Ваше приложение может работать только в том случае, если версия .NET, на которую нацелено ваше приложение, уже установлена в хост-системе. Вы можете настроить поведение повтора транзакций для приложения, чтобы оно требовало определенной версии .NET или разрешало более новую версию .NET. Дополнительные сведения см. в статье о переносе приложений, зависящих от платформы..NET может измениться
Среда выполнения .NET и библиотеки могут быть обновлены на компьютере, на котором запущено приложение. В редких случаях это может изменить поведение вашего приложения, если вы используете библиотеки .NET, что делает большинство приложений. Вы можете настроить, как ваше приложение будет использовать более новые версии .NET. Дополнительные сведения см. в статье о переносе приложений, зависящих от платформы.
Следующий недостаток относится только к .NET Core 2.1 SDK.
- Используйте команду
dotnet
для запуска приложения
Пользователи должны выполнить командуdotnet
для запуска вашего приложения. Пакет SDK для .NET Core 2.1 не создает исполняемые файлы для конкретных платформ для приложений, опубликованных в зависимости от платформы.
Примеры
Публикация кроссплатформенного приложения зависит от платформы. Исполняемый файл, ориентированный на вашу текущую платформу, создается вместе с dll файл.
публикация в сети
Публикация приложения зависит от кроссплатформенной платформы. 64-разрядный исполняемый файл Linux создается вместе с файлом dll . Эта команда не работает с .NET Core SDK 2.1.
dotnet publish -r linux-x64 --self-contained false
Публикация автономного приложения
При публикации приложения как автономного создается исполняемый файл для конкретной платформы. Выходная папка публикации содержит все компоненты приложения, включая библиотеки .NET и целевую среду выполнения. Приложение изолировано от других приложений .NET и не использует локально установленную общую среду выполнения. Пользователю вашего приложения не требуется загружать и устанавливать .NET.
Исполняемый двоичный файл создан для указанной целевой платформы. Например, если у вас есть приложение с именем word_reader и вы публикуете автономный исполняемый файл для Windows, создается файл word_reader.exe . При публикации для Linux или macOS создается файл word_reader . Целевая платформа и архитектура указываются с помощью параметра -r
для команды dotnet publish
. Дополнительные сведения о RID см. в разделе Каталог RID .NET.
Если приложение имеет зависимости для конкретной платформы, например пакет NuGet, содержащий зависимости для конкретной платформы, они копируются в папку публикации вместе с приложением.
Преимущества
Управление версией .NET
Вы сами определяете, какая версия .NET будет развернута с вашим приложением.Нацеливание на платформу
Поскольку вам нужно опубликовать свое приложение для каждой платформы, вы знаете, где оно будет работать. Если .NET представляет новую платформу, пользователи не смогут запускать ваше приложение на этой платформе до тех пор, пока вы не выпустите версию для этой платформы. Вы можете проверить свое приложение на наличие проблем совместимости, прежде чем ваши пользователи запустят ваше приложение на новой платформе.
Недостатки
Более крупные развертывания
Поскольку ваше приложение включает в себя среду выполнения .NET и все зависимости вашего приложения, требуемый размер загрузки и место на жестком диске больше, чем для версии, зависящей от платформы.Совет
Вы можете уменьшить размер развертывания в системах Linux примерно на 28 МБ, используя инвариантный режим глобализации . NET . Это заставляет ваше приложение относиться ко всем культурам как к инвариантной культуре.
Совет
Обрезка IL может еще больше уменьшить размер вашего развертывания.
Сложнее обновить версию .NET
Среду выполнения .NET (распространяемую вместе с вашим приложением) можно обновить, только выпустив новую версию вашего приложения.
Примеры
Публикация автономного приложения. Создается 64-разрядный исполняемый файл macOS.
публикация в dotnet -r OSX-x64
Публикация автономного приложения. Создается 64-разрядный исполняемый файл Windows.
публикация в сети -r win-x64
Публикация с помощью образов ReadyToRun
Публикация с использованием образов ReadyToRun улучшит время запуска вашего приложения за счет увеличения размера вашего приложения. Чтобы опубликовать с помощью ReadyToRun, см. ReadyToRun для получения дополнительных сведений.
Преимущества
- Улучшенное время запуска
Приложение будет тратить меньше времени на выполнение JIT.
Недостатки
- Больший размер
Приложение будет больше на диске.
Примеры
Публикация автономного и готового к запуску приложения. Создается 64-разрядный исполняемый файл macOS.
dotnet publish -c Release -r osx-x64 -p:PublishReadyToRun=true
Публикация автономного и готового к запуску приложения. Создается 64-разрядный исполняемый файл Windows.
dotnet publish -c Release -r win-x64 -p:PublishReadyToRun=true
См. также
- Развертывание приложений .NET с помощью .NET CLI.
- Развертывание приложений .NET с помощью Visual Studio.
- Каталог идентификаторов времени выполнения (RID) .NET.
- Выберите версию .NET для использования.
Устранение неполадок при запуске приложений | Microsoft Learn
- Статья
- 6 минут на чтение
В этой статье описаны некоторые распространенные причины сбоев при запуске приложений и возможные решения. Это относится к приложениям, зависящим от платформы, которые полагаются на установку .NET на вашем компьютере.
Если вы уже знаете, какая версия .NET вам нужна, вы можете загрузить ее из загрузок .NET.
Установка .NET не найдена
Если установка .NET не найдена, приложение не запускается с сообщением, подобным:
Для запуска этого приложения необходимо установить .NET. Приложение: C:\repos\myapp\myapp.exe Архитектура: x64 Версия хоста: 7.0.0 Местоположение .NET: не найдено
Для запуска этого приложения необходимо установить .NET. Приложение: /home/user/repos/myapp/myapp Архитектура: x64 Версия хоста: 7.0.0 Местоположение .NET: не найдено
Сообщение об ошибке содержит ссылку для загрузки .NET. Вы можете перейти по этой ссылке, чтобы перейти на соответствующую страницу загрузки. Вы также можете выбрать версию .NET (указанную Host version
) из загрузок .NET.
На странице загрузки требуемой версии .NET найдите загрузку .NET Runtime , которая соответствует архитектуре, указанной в сообщении об ошибке. Затем вы можете установить его, загрузив и запустив установщик .
.NET доступен через различные менеджеры пакетов Linux. Дополнительные сведения см. в разделе Установка .NET в Linux. Обратите внимание, что предварительные версии .NET обычно недоступны через диспетчеры пакетов.
Вам необходимо установить пакет среды выполнения .NET для соответствующей версии, например dotnet-runtime6
.
Кроме того, на странице загрузки необходимой версии .NET можно загрузить Двоичные файлы для указанной архитектуры.
Требуемая платформа не найдена
Если требуемая платформа или совместимая версия не найдены, приложение не запускается с сообщением, подобным:
Для запуска этого приложения необходимо установить или обновить . NET. Приложение: C:\repos\myapp\myapp.exe Архитектура: x64 Платформа: «Microsoft.NETCore.App», версия «5.0.15» (x64) Расположение .NET: C:\Program Files\dotnet\ Были найдены следующие рамки: 6.0.2 в [c:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Для запуска этого приложения необходимо установить или обновить .NET. Приложение: /home/user/repos/myapp/myapp Архитектура: x64 Платформа: «Microsoft.NETCore.App», версия «5.0.15» (x64) Расположение .NET: /usr/share/dotnet/ Были найдены следующие рамки: 6.0.2 в [/usr/share/dotnet/shared/Microsoft.NETCore.App]
Для запуска этого приложения необходимо установить или обновить .NET. Приложение: /home/user/repos/myapp/myapp Архитектура: x64 Платформа: «Microsoft.NETCore.App», версия «5.0.15» (x64) Расположение .NET: /usr/local/share/dotnet/ Были найдены следующие рамки: 6.0.2 в [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
В ошибке указаны имя, версия и архитектура отсутствующей платформы, а также место, где она должна быть установлена. Чтобы запустить приложение, вы можете установить совместимую среду выполнения в указанном «местоположении .NET». Если приложение предназначено для более ранней версии, чем та, которую вы установили, и вы хотите запустить его в более поздней версии, вы также можете настроить поведение повтора транзакций для приложения.
Установите совместимую среду выполнения
Сообщение об ошибке содержит ссылку для загрузки отсутствующей платформы. Вы можете перейти по этой ссылке, чтобы перейти на соответствующую страницу загрузки.
Кроме того, вы можете загрузить среду выполнения со страницы загрузки .NET. Существует несколько загрузок среды выполнения .NET.
В следующей таблице показаны платформы, которые содержит каждая среда выполнения.
Загрузка во время выполнения | Включенные фреймворки |
---|---|
Среда выполнения ядра ASP.NET | Microsoft.NETCore.App Microsoft.AspNetCore.App |
Среда выполнения рабочего стола . NET | Microsoft.NETCore.App Microsoft.WindowsDesktop.App |
Среда выполнения .NET | Microsoft.NETCore.App |
Загрузка во время выполнения | Включенные фреймворки |
---|---|
Среда выполнения ядра ASP.NET | Microsoft.NETCore.App Microsoft.AspNetCore.App |
Среда выполнения .NET | Microsoft.NETCore.App |
Выберите загрузку среды выполнения, содержащую отсутствующую платформу, и установите ее.
На странице загрузки требуемой версии .NET найдите загрузку среды выполнения, соответствующую архитектуре, указанной в сообщении об ошибке. Вероятно, вы захотите загрузить установщик .
.NET доступен через различные менеджеры пакетов Linux. Дополнительные сведения см. в разделе Установка .NET в Linux. Обратите внимание, что предварительные версии . NET обычно недоступны через диспетчеры пакетов.
Вам необходимо установить пакет среды выполнения .NET для соответствующей версии, например dotnet-runtime6
или dotnet-aspnet6
.
Кроме того, на странице загрузки необходимой версии .NET можно загрузить Двоичные файлы для указанной архитектуры.
В большинстве случаев, когда приложение, которое не удалось запустить, использует такую установку, «Расположение .NET» в сообщении об ошибке указывает на:
%ProgramFiles%\dotnet
/usr/share/dotnet /
/usr/local/share/dotnet/
Другие варианты
Существуют и другие варианты установки и обходные пути.
Запустите сценарий установки dotnet
Загрузите сценарий установки dotnet для своей операционной системы. Запустите сценарий с параметрами на основе информации в сообщении об ошибке. На справочной странице сценария dotnet-install показаны все доступные параметры.
Запустите PowerShell и выполните:
dotnet-install.ps1 -Architecture <архитектура> -InstallDir <каталог> -Runtime <среда выполнения> -Version <версия>
Например, сообщение об ошибке в предыдущем разделе будет соответствовать следующему:
dotnet-install.ps1 -Architecture x64 -InstallDir "C:\Program Files\dotnet\" -Runtime dotnet -Version 5.0.15
Если вы столкнулись с ошибкой, указывающей, что выполнение сценариев отключено, вам может потребоваться настроить политику выполнения, чтобы разрешить выполнение сценария:
Set-ExecutionPolicy Bypass -Scope Process
Дополнительные сведения об установке с помощью сценария см. в разделе Установка с помощью автоматизации PowerShell.
./dotnet-install.sh --architecture <архитектура> --install-dir <каталог> --runtime <среда выполнения> --version <версия>
Например, сообщение об ошибке в предыдущем разделе будет соответствовать следующему:
./dotnet-install. sh --architecture x64 --install-dir /usr/share/dotnet/ --runtime dotnet --version 5.0. 15
Дополнительные сведения об установке с использованием сценария см. в разделе Установка по сценарию.
./dotnet-install.sh --architecture <архитектура> --install-dir <каталог> --runtime <среда выполнения> --version <версия>
Например, сообщение об ошибке в предыдущем разделе будет соответствовать следующему:
./dotnet-install.sh --architecture x64 --install-dir /usr/local/share/dotnet/ --runtime dotnet --version 5.0.15
Дополнительные сведения об установке с помощью сценария см. в разделе Установка с помощью автоматизации bash.
Скачать бинарники
Вы можете скачать бинарный архив .NET со страницы загрузки. Из столбца Binaries загрузки среды выполнения загрузите двоичный выпуск, соответствующий требуемой архитектуре. Извлеките загруженный архив в «местоположение .NET», указанное в сообщении об ошибке.
Дополнительные сведения об установке вручную см. в разделе Установка .NET в Windows
Дополнительные сведения об установке вручную см. в разделе Установка .NET в Linux
Дополнительные сведения об установке вручную см. в разделе Установка .NET в macOS
поведение пересылки
Если у вас уже установлена более поздняя версия требуемой платформы, вы можете запустить приложение в этой более поздней версии, настроив его поведение повтора транзакций.
При запуске приложения можно указать --roll-forward
параметр командной строки или установите переменную среды DOTNET_ROLL_FORWARD
.
По умолчанию приложению требуется платформа, которая соответствует той же основной версии, на которую нацелено приложение, но может использовать более высокую дополнительную версию или версию исправления. Однако разработчики приложений могли указать другое поведение. Дополнительные сведения см. в разделе Накат транзакций приложений, зависящих от платформы.
Примечание
Поскольку использование этого параметра позволяет приложению работать в версии платформы, отличной от той, для которой оно было разработано, это может привести к непреднамеренному поведению из-за изменений между версиями платформы.
Критические изменения
Многоуровневый поиск отключен для .NET 7 и более поздних версий
В Windows до .NET 7 приложение могло искать платформы в нескольких местах установки.
Подкаталоги, относящиеся к:
-
dotnet
исполняемый файл при запуске приложения черезdotnet
-
DOTNET_ROOT
переменная среды (если установлена) при запуске приложения через его исполняемый файл (apphost
)
-
Глобально зарегистрированное расположение установки (если задано) в
HKLM\SOFTWARE\dotnet\Setup\InstalledVersions\
.\InstallLocation Место установки по умолчанию:
%ProgramFiles%\dotnet
(или%ProgramFiles(x86)%\dotnet
для 32-разрядных процессов в 64-разрядной версии Windows).
Этот многоуровневый поиск был включен по умолчанию, но его можно было отключить, установив переменную среды DOTNET_MULTILEVEL_LOOKUP=0
.