Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Visual Studio позволяет настроить сборки приложений для различных платформ (архитектур процессоров), включая Arm64 и другие платформы. Для сборки для этой целевой платформы не требуется запускать Visual Studio. Дополнительные сведения о поддержке Arm64 в Visual Studio см. в Visual Studio на устройствах с поддержкой ARM. 64-разрядная поддержка платформы для разработки .NET см. в 64-разрядных приложениях.
Замечание
Visual Studio 2022 выполняется как 64-разрядное приложение. Это полностью отличается от платформ, которые можно использовать для проектов в Visual Studio. Вы можете использовать любую версию Visual Studio для 32-разрядных и 64-разрядных платформ.
Visual Studio позволяет настроить сборки приложения для различных платформ (архитектур процессоров), таких как x86 и x64. 64-разрядная поддержка платформы для разработки .NET см. в 64-разрядных приложениях.
Замечание
Visual Studio выполняется как 32-разрядное приложение. Это полностью отличается от платформ, которые можно использовать для проектов в Visual Studio. Вы можете использовать любую версию Visual Studio для 32-разрядных и 64-разрядных платформ.
Целевые платформы с Configuration Manager
Configuration Manager предоставляет способ быстрого добавления новой платформы в целевой объект проекта. При выборе одной из платформ, включенных в Visual Studio, настройка настраивается для создания проекта для выбранной платформы.
Чтобы нацелиться на некоторые платформы в собственном проекте C++, необходимо установить средства сборки для платформы. Средства сборки C++ для платформ x86 и x64 устанавливаются с рабочей нагрузкой C++ по умолчанию. Если вы используете другую архитектуру процессора, например Arm64, необходимо использовать Visual Studio Installer для установки средств сборки для платформы, прежде чем продолжить. См. изменения в Visual Studio. Вам не нужно запускать Visual Studio на устройстве Arm64 для целевого объекта Arm64. Для Arm64 можно установить средства сборки Arm64 или ARM64EC средства сборки; см. статью Arm64 Visual Studio.
Для разработки .NET требуется .NET 6 или более поздней версии для целевой платформы Arm64. См. сведения о поддержке .NET для macOS 11 и Windows 11 для Arm64 и x64.
Настройка проекта для целевой платформы Arm64 и других платформ
В строке меню выберите "Сборка">Диспетчер конфигураций.
В списке платформы активных решений выберите платформу для целевого решения и нажмите кнопку "Закрыть ".
Если требуемая платформа не отображается в списке платформы активных решений , нажмите кнопку "Создать". После установки средств для определенной платформы вы сможете добавить новое решение и конфигурации проектов, предназначенные для этой платформы.
Откроется диалоговое окно Создание платформы решения.
Введите или выберите новый список платформ , выберите нужную платформу (архитектуру процессора); например,
ARM64
.Замечание
Если вы присвойте конфигурации новое имя, может потребоваться изменить параметры в конструкторе проектов , чтобы нацелиться на правильную платформу.
Если вы хотите скопировать параметры из текущей конфигурации платформы, выберите ее и нажмите кнопку "ОК ".
Настройка проекта для целевой платформы
В строке меню выберите "Сборка">Диспетчер конфигураций.
В списке платформы активных решений выберите платформу для целевого решения и нажмите кнопку "Закрыть ".
Если требуемая платформа не отображается в списке платформы активных решений , нажмите кнопку "Создать". После установки средств для определенной платформы вы сможете добавить новое решение и конфигурации проекта, предназначенные для этой платформы.
Откроется диалоговое окно Создание платформы решения.
Введите или выберите новый список платформ , выберите нужную платформу (архитектуру процессора); например,
x64
.Замечание
Если вы присвойте конфигурации новое имя, может потребоваться изменить параметры в конструкторе проектов , чтобы нацелиться на правильную платформу.
Если вы хотите скопировать параметры из текущей конфигурации платформы, выберите ее и нажмите кнопку "ОК ".
Замечание
Имя платформы Win32 используется для проектов C++ и означает x86. Visual Studio рассматривает как платформы на уровне проекта, так и платформы уровня решения, а платформы проектов — из систем проектов, относящихся к языку. Проекты C++ используют Win32 и x64, но платформы решений используют x86 и x64. При выборе x86 в качестве конфигурации решения Visual Studio выбирает платформу Win32 для проектов C++. Чтобы просмотреть параметры платформы уровня проекта и платформы на уровне решения, откройте Configuration Manager и запишите два параметра платформы. Платформа уровня решения отображается в раскрывающемся списке "Активная платформа решения ", а в таблице показана платформа уровня проекта для каждого проекта.
Целевые платформы в пользовательском интерфейсе конструктора проектов или свойств проекта
Пользовательский интерфейс конструктора проектов или свойств проекта также предоставляет способ нацеливать различные платформы в проекте. Если выбор одной из платформ, включенных в список в диалоговом окне "Новая платформа решения ", не работает для решения, можно создать пользовательское имя конфигурации и изменить параметры в свойствах проекта , чтобы нацелиться на правильную платформу.
Выполнение этой задачи зависит от используемого языка программирования. Дополнительные сведения см. по следующим ссылкам:
Сведения о проектах Visual Basic см. в разделе /platform (Visual Basic).
Сведения о проектах C# см. на странице сборки конструктора проектов (C#).
Предпочитать 32-разрядный параметр
Параметр "Предпочитать 32-разрядную " на странице "Сборка " конструктора проектов для .NET Framework 4.5 или более поздних версий обрабатывает ситуацию, когда вы создаете AnyCPU
конфигурацию, но требуется, чтобы приложение выполнялось в 32-разрядном режиме при выполнении на платформах, поддерживающих как 32-разрядные, так и 64-разрядные режимы. Если установлен флажок, PlatformTarget
для свойства сборки задано anycpu32bitpreferred
значение . См. комментарии на платформе PlatformTarget для C# и /platform для Visual Basic.
Редактирование файла проекта вручную
Иногда необходимо вручную изменить файл проекта для определенной пользовательской конфигурации. Например, если у вас есть условия, которые не могут быть указаны в интегрированной среде разработки, например ссылка, которая отличается для двух разных платформ, или сборка, которая должна быть зарегистрирована для конкретной платформы, чтобы предоставить ее COM. Средство, обрабатывающее файл проекта, — MSBuild.
Осторожность
Не рекомендуется вручную редактировать файл проекта C++, который вы используете в Visual Studio.
Регистрация COM
Если вы создаете сборку .NET и предоставляете ее com, Visual Studio регистрирует сборку с определенной архитектурой платформы, так как для каждой архитектуры платформы существуют разные расположения реестра (например, x86
и x64
). Если сборка уже нацелена на определенную платформу, то используется, но если вы регистрируете сборку .NET, созданную для Any CPU
, MSBuild по умолчанию регистрирует ее для текущей среды выполнения MSBuild. Если вы создаете в Visual Studio, это x64
в Visual Studio 2022 и более поздних версий, а также x86
в Visual Studio 2019 и более ранних версий. Если вы задаете архитектуру платформы с помощью методов, описанных ранее в этой статье, или укажите другой PlatformTarget
в файле проекта, MSBuild будет учитывать это при регистрации. Существует свойство, которое можно задать для переопределения этого поведения. RegisterAssemblyMSBuildArchitecture
Вы можете задать RegisterAssemblyMSBuildArchitecture
нужную архитектуру платформы (например x86
, или x64
) путем добавления его в элемент верхнего уровня PropertyGroup
в файле проекта.
Ссылки на сборки x86 и x64 и БИБЛИОТЕК DLL
У вас может быть сборка .NET или БИБЛИОТЕКА DLL с версиями x86 и x64. Чтобы настроить проект для использования этих ссылок, сначала добавьте ссылку, а затем откройте файл проекта и измените его, чтобы добавить ItemGroup
условие, которое ссылается как на конфигурацию, так и на целевую платформу. Например, предположим, что двоичный файл, на который вы ссылаетесь, — ClassLibrary1, и существуют разные пути для конфигураций отладки и выпуска, а также версий x86 и x64. Затем используйте четыре ItemGroup
элемента со всеми сочетаниями параметров следующим образом:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp2.0</TargetFramework>
<Platforms>AnyCPU;x64;x86</Platforms>
</PropertyGroup>
<ItemGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x64'">
<Reference Include="ClassLibrary1">
<HintPath>..\..\ClassLibrary1\ClassLibrary1\bin\x64\Debug\netstandard2.0\ClassLibrary1.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x64'">
<Reference Include="ClassLibrary1">
<HintPath>..\..\ClassLibrary1\ClassLibrary1\bin\x64\Release\netstandard2.0\ClassLibrary1.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86'">
<Reference Include="ClassLibrary1">
<HintPath>..\..\ClassLibrary1\ClassLibrary1\bin\x86\Debug\netstandard2.0\ClassLibrary1.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86'">
<Reference Include="ClassLibrary1">
<HintPath>..\..\ClassLibrary1\ClassLibrary1\bin\x86\Release\netstandard2.0\ClassLibrary1.dll</HintPath>
</Reference>
</ItemGroup>
</Project>
Дополнительные сведения о файле проекта см. в справочнике по схеме файлов проекта MSBuild.