如何使扩展适应Visual Studio 2019?

时间:2019-03-09 22:38:57

标签: visual-studio-extensions

我读到,适应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 个答案:

答案 0 :(得分:2)

我找到了解决问题的方法。它位于PowerQuerySdk.vsix文件内的catalog.json文件中。您应该从以下位置更改文件的一部分:

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

收件人:

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

。 我不怀疑此文件中可能提到了CoreEditor。但是显然,您应该像在extension.vsixmanifest中那样将MSBuild的版本更改为17,如上面Mads Kristensen的帖子中所述。 到目前为止,对我来说一切正常:-)。

答案 1 :(得分:1)

在将Visual Studio Extension从2017年移植到2019年时,我也遇到了这个问题。

变化是2倍:

  • 首先更新“ vsixmanifest ”文件中的“ 安装目标”范围。
  • 第二,更新先决条件' Microsoft.VisualStudio.Component.CoreEditor '

下面是我更改的清单文件的示例。

Pull Request

Mads Kristensen的原始Blog Post关于将Visual Studio Extensions从VS 2017向前移植到VS2019。