Как адаптировать расширение к Visual Studio 2019? - PullRequest
5 голосов
/ 10 марта 2019

Я читал, что адаптация расширения для VS 2019 довольно проста - https://devblogs.microsoft.com/visualstudio/visual-studio-extensions-and-version-ranges-demystified/#.

Но я получаю ошибку, если я делаю все действия из сообщения:

Невозможно установить, потому что нет следующих ссылок: Microsoft.VisualStudio.Component.CoreEditor.

Автор поста показывает точно такую ​​же строку, когда он адаптирует свои расширения:

<Prerequisite Id="Microsoft.VisualStudio.Component.CoreEditor" Version="[15.0,)" />

Так что, похоже, эта предпосылка не была для него проблемой.

Мое обновленное расширение .vsixmanifest:

<?xml version="1.0" encoding="utf-8"?>
<PackageManifest Version="2.0.0" xmlns="http://schemas.microsoft.com/developer/vsx-schema/2011">
  <Metadata>
    <Identity Id="PowerQuerySDK.Microsoft.30831070-f420-4649-a031-6f679996b182" Version="1.0.0.20" Language="en-US" Publisher="Microsoft" />
    <DisplayName>Power Query SDK</DisplayName>
    <Description xml:space="preserve">A Power Query language service for Visual Studio</Description>
    <License>Microsoft Power Query SDK - Pre-Release or Evaluation Use Terms.rtf</License>
    <Icon>dataconnector_128.png</Icon>
    <PreviewImage>EATIcon.ico</PreviewImage>
  </Metadata>
  <Installation>
    <InstallationTarget Id="Microsoft.VisualStudio.Community" Version="[14.0,17.0)" />
    <InstallationTarget Version="[14.0,17.0)" Id="Microsoft.VisualStudio.Pro" />
    <InstallationTarget Version="[14.0,17.0)" Id="Microsoft.VisualStudio.Enterprise" />
  </Installation>
  <Dependencies>
    <Dependency Id="Microsoft.Framework.NDP" DisplayName="Microsoft .NET Framework" Version="[4.5,)" />
  </Dependencies>
  <Assets>
    <Asset Type="Microsoft.VisualStudio.ProjectTemplate" Path="ProjectTemplates" />
    <Asset Type="Microsoft.VisualStudio.ItemTemplate" Path="ProjectTemplates" />
    <Asset Type="Microsoft.VisualStudio.VsPackage" Path="Dependencies\Microsoft.Mashup.Tools.VisualStudio.pkgdef" />
    <Asset Type="Microsoft.VisualStudio.MefComponent" Path="Dependencies\Microsoft.Mashup.Tools.VisualStudio.dll" />
  </Assets>
  <Prerequisites>
<Prerequisite Id="Microsoft.VisualStudio.Component.CoreEditor" Version="[15.0,)"  />
  </Prerequisites>
</PackageManifest>

Пожалуйста, не могли бы вы сказать, как можно обойти эту проблему?

Ответы [ 2 ]

3 голосов
/ 15 марта 2019

Я нашел решение проблемы. Он находится в файле catalog.json внутри файла PowerQuerySdk.vsix. Вы должны изменить часть файла с:

"Microsoft.VisualStudio.Component.CoreEditor":"[15.0,16.0)"}

до:

"Microsoft.VisualStudio.Component.CoreEditor":"[15.0,17.0)"}

. Я не подозревал, что упоминание CoreEditor может быть в этом файле. Но очевидно, что вам следует изменить версию MSBuild на 17, как вы должны это сделать в extension.vsixmanifest, как это описано в посте Мадса Кристенсена выше. До сих пор у меня все отлично работает: -).

1 голос
/ 06 мая 2019

Я также столкнулся с этой проблемой при переносе расширения Visual Studio с 2017 по 2019 год.

Изменение было в 2 раза:

  • Сначала обновите диапазон ' Installation Target ' в файле ' vsixmanifest '.
  • Во-вторых, обновление обязательного компонента ' Microsoft.VisualStudio.Component.CoreEditor '

Ниже приведен пример файла манифеста, который я изменил.

Запрос на извлечение

Оригинал Mads Kristensen's Blog о прямом переносе расширений Visual Studio с VS 2017 на VS 2019.

...