Поделиться через


Целевой объект Visual Studio 2022 (ARM64) при создании расширения в Visual Studio 2022

При создании проекта VSIX с помощью Visual Studio 2022 проект создается из шаблона, предназначенного для Visual Studio 2022 (Amd64). Если вы хотите использовать Visual Studio 2022 (ARM64), необходимо изменить созданный проект.

Выполните следующие действия в проекте VSIX, который должен быть предназначен для Visual Studio 2022 (ARM64):

Установка расширений Visual Studio и компиляция

Установите Visual Studio 2022 из скачивания Visual Studio 2022.

Расширения, написанные на языке .NET

Пакет SDK Visual Studio, предназначенный для Visual Studio 2022 для управляемых расширений, предназначен исключительно для NuGet:

  • Метапакет Microsoft.VisualStudio.Sdk (версии 17.x) приносит большинство или все необходимые эталонные сборки.
  • Пакет Microsoft.VSSDK.BuildTools (версии 17.x) должен ссылаться из проекта VSIX, чтобы он смог создать visual Studio 2022-совместимый VSIX.

Расширения, написанные на C++

Пакет SDK Visual Studio для расширений, скомпилированных с помощью C++, доступен с установленным пакетом SDK Visual Studio, как обычно. Расширения должны быть скомпилированы специально для пакета SDK Для Visual Studio 2022 и для ARM64.

Добавление целевого объекта Visual Studio 2022: ARM64

Добавьте в расширение поддержку Visual Studio 2022:ARM64, выполнив следующие действия.

  • Для управляемых расширений Visual Studio:

    1. Откройте проект VSIX в решении. Этот проект предназначен для Visual Studio 2022 ARM64.
    2. Убедитесь, что проект VSIX правильно строится. Для устранения ошибок компилятора может потребоваться добавить ссылки на соответствие исходному проекту VSIX.
    3. Используйте ссылки на пакет 17.x (или более ранние версии) в файле проекта с целевым объектом Visual Studio 2022. Используйте диспетчер пакетов NuGet или непосредственно измените файл проекта.
      • Метапакет Microsoft.VisualStudio.Sdk (версии 17.x) приносит большинство или все необходимые эталонные сборки.
      • Пакет Microsoft.VSSDK.BuildTools (версии 17.x) должен ссылаться из проекта VSIX, чтобы он смог создать visual Studio 2022-совместимый VSIX.
    4. Если проект уже создан для любого ЦП, вам не нужно изменять конфигурацию сборки, так как она будет создаваться для ARM64 , а также. Однако если вы хотите использовать только ARM64, измените проект на сборку ARM64 вместо любого ЦП.
    5. Измените файл source.extension.vsixmanifest , чтобы отразить назначение Visual Studio 2022. Задайте тег, <InstallationTarget> чтобы указать Visual Studio 2022. ProductArchitecture Задайте элемент для указания полезных данных ARM64.
       <InstallationTarget Id="Microsoft.VisualStudio.Community" Version="[17.0,18.0)">
          <ProductArchitecture>amd64</ProductArchitecture>
       </InstallationTarget>
       <InstallationTarget Id="Microsoft.VisualStudio.Community" Version="[17.0,18.0)">
          <ProductArchitecture>arm64</ProductArchitecture>
       </InstallationTarget>
      

    Примечание.

    Полезные данные для управляемых расширений Visual Studio могут нацелены на установку arm64 и amd64 при создании для AnyCPU.

  • Для расширений Visual Studio на C++ выполните следующее:

    1. Откройте проект VSIX в решении. Этот проект предназначен для Visual Studio 2022 ARM64.
    2. Убедитесь, что проект VSIX правильно строится. Для устранения ошибок компилятора может потребоваться добавить ссылки на соответствие исходному проекту VSIX.
    3. Измените проект из сборки для целевого объекта ARM64.
    4. Обновление зависимостей. Любые зависимости, которые может иметь расширение в собственном модуле, необходимо обновить до образа ARM64.
    5. Измените файл source.extension.vsixmanifest , чтобы отразить назначение Visual Studio 2022. Задайте тег, <InstallationTarget> чтобы указать Visual Studio 2022. ProductArchitecture Задайте элемент для указания полезных данных ARM64.
      <InstallationTarget Id="Microsoft.VisualStudio.Community" Version="[17.0,18.0)">
         <ProductArchitecture>arm64</ProductArchitecture>
      </InstallationTarget>
      

    Примечание.

    Одна полезные данные расширения Visual Studio на C++ не могут быть предназначены для установки arm64 и amd64.

На этом этапе у вас есть расширение VSIX для Visual Studio 2022. Вы должны создать проект VSIX, предназначенный для Visual Studio 2022.

<InstallationTarget> Задайте тег для указания Visual Studio 2022 с помощью представления конструктора

Снимок экрана: добавление InstallationTarget.

Пример расширения vsixmanifest: предназначен для AMD64 и ARM64

Снимок экрана: добавление amd64 и arm64 InstallationTarget.

Компиляция управляемых расширений Visual Studio: предназначен только для ARM64

  1. Добавьте конфигурацию ARM64 в проект (CSPROJ).

    <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|arm64' ">
       <DebugSymbols>true</DebugSymbols>
       <DebugType>full</DebugType>
       <Optimize>false</Optimize>
       <OutputPath>bin\Debug\</OutputPath>
       <DefineConstants>DEBUG;TRACE</DefineConstants>
       <ErrorReport>prompt</ErrorReport>
       <WarningLevel>4</WarningLevel>
       <PlatformTarget>ARM64</PlatformTarget>
       <RuntimeIdentifier>win-arm64</RuntimeIdentifier>
    </PropertyGroup>
    <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|arm64' ">
       <DebugType>pdbonly</DebugType>
       <Optimize>true</Optimize>
       <OutputPath>bin\Release\</OutputPath>
       <DefineConstants>TRACE</DefineConstants>
       <ErrorReport>prompt</ErrorReport>
       <WarningLevel>4</WarningLevel>
       <PlatformTarget>arm64</PlatformTarget>
       <RuntimeIdentifier>win-arm64</RuntimeIdentifier>
    </PropertyGroup>
    
  2. Выберите целевой объект ARM64 (CSPROJ).

    Снимок экрана: сборка проекта arm64.

Компиляция расширений Visual Studio на C++ — предназначено только для ARM64.

  1. Выберите целевую платформу ARM64.

    Снимок экрана: добавление целевой платформы arm64.

  2. Выберите расположение библиотеки ARM64.

    Требуемые файлы lib можно найти по адресу: [VSInstallatioPath]\VSSDK\VisualStudioIntegration\common\lib\arm64

    Снимок экрана: добавление пути lib arm64