Visual studio 如何使简单的VS扩展在VS 2019、VS 2017和VS 2015中正确安装和工作?
我使用VS2019开发了一个简单的扩展。当我调试它(即exp-hive)时,它对VS2019和VS2017都有效。我不知道如何将VS 2015添加到启动菜单,即: 因此,我在发行版中构建了扩展(我将其更改为不将其部署到发行版中的exp配置单元),并运行: 得到这个: 我试着使用依赖项和先决条件,我能得到的最好结果是一个干净的安装对话框,建议它可以安装到所有三个版本的VS上,但实际上扩展被破坏了——缺少引用时出现了一个错误。无论如何,它现在是失败的,那时也是失败的 扩展非常简单: RunAdjustLocalApplicationHostConfigScriptVSExt.csprojVisual studio 如何使简单的VS扩展在VS 2019、VS 2017和VS 2015中正确安装和工作?,visual-studio,visual-studio-extensions,Visual Studio,Visual Studio Extensions,我使用VS2019开发了一个简单的扩展。当我调试它(即exp-hive)时,它对VS2019和VS2017都有效。我不知道如何将VS 2015添加到启动菜单,即: 因此,我在发行版中构建了扩展(我将其更改为不将其部署到发行版中的exp配置单元),并运行: 得到这个: 我试着使用依赖项和先决条件,我能得到的最好结果是一个干净的安装对话框,建议它可以安装到所有三个版本的VS上,但实际上扩展被破坏了——缺少引用时出现了一个错误。无论如何,它现在是失败的,那时也是失败的 扩展非常简单: RunAdj
16
$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)
假的
如何避免呢
附言
此问题与有关。要使扩展在VS 2015-2019中可安装,您需要调整source.extension.vsixmanifest:
删除依赖项d:Source=“Installed”Id=“Microsoft.VisualStudio.MPF.16.0”DisplayName=“Visual Studio MPF 16.0”Version=“[16.0,17.0)”
将CoreEditor版本=“[16.1.28811.260,17.0)”更改为版本=“[15.0,)”
要在VS 2015-2019中运行,您需要确保只引用VS 2015程序集(它们的名称中通常有14.0)。最后,对我有效的是:
在VS 2015上创建扩展。一点也不优化,但我已经安装了它
参考nuget包
保存完之后,我在VS2017中打开了它,并迁移到包引用
csproj
15
$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)
真的
14
调试
任意CPU
2
{82b43b9b-a64c-4715-b499-d71e9ca2bd60};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
{E21DB471-B7B3-4A7D-A737-8260B01D5AC6}
图书馆
我非常想摆脱它。但我不知道如何摆脱。我想这将是另一个问题
编辑1
在这两个帖子的帮助下(按此顺序)最终锁定:
我已经更新了上面的代码片段以反映更改。请参见编辑1。我想知道如何使其适用于VS 2015…@mark for VS 2015您需要的是Microsoft.VisualStudio.SDK v14,而不是15。那么,这是否意味着我必须使用VS 2015?Nuget中似乎没有v14。请参见编辑2@mark您的包类和清单看起来如何VS 2015中有什么?嗯。很有趣。我没有故意删除它。我想这就是它在VS2015中的工作方式。我应该添加什么而不破坏VS2015?VS 2015不知道先决条件并忽略它。只需复制你在VS 2017中使用的内容。这不起作用。它显示无效的vsix文件。如果我删除了先决条件,那么它就可以工作,使用上述方法内德抱怨。
C:\RunAdjustLocalApplicationHostConfigScriptVSExt [master ↓1 ↑1]> git clean -qdfx
C:\RunAdjustLocalApplicationHostConfigScriptVSExt [master ↓1 ↑1]> msbuild /restore /p:Configuration=Release /v:m
Microsoft (R) Build Engine version 15.9.21+g9802d43bc3 for .NET Framework
Copyright (C) Microsoft Corporation. All rights reserved.
Restoring packages for C:\RunAdjustLocalApplicationHostConfigScriptVSExt\src\RunAdjustLocalApplicationHostConfigScriptVSExt.csproj...
Generating MSBuild file C:\RunAdjustLocalApplicationHostConfigScriptVSExt\src\obj\RunAdjustLocalApplicationHostConfigScriptVSExt.csproj.nuget.g.props.
Generating MSBuild file C:\RunAdjustLocalApplicationHostConfigScriptVSExt\src\obj\RunAdjustLocalApplicationHostConfigScriptVSExt.csproj.nuget.g.targets.
Restore completed in 817.27 ms for C:\RunAdjustLocalApplicationHostConfigScriptVSExt\src\RunAdjustLocalApplicationHostConfigScriptVSExt.csproj.
RunAdjustLocalApplicationHostConfigScriptVSExt -> C:\RunAdjustLocalApplicationHostConfigScriptVSExt\src\bin\Release\RunAdjustLocalApplicationHostConfigScriptVSExt.dll
RunAdjustLocalApplicationHostConfigScriptVSExt -> C:\RunAdjustLocalApplicationHostConfigScriptVSExt\src\bin\Release\RunAdjustLocalApplicationHostConfigScriptVSExt.vsix
C:\RunAdjustLocalApplicationHostConfigScriptVSExt [master ↓1 ↑1]> .\src\bin\Release\RunAdjustLocalApplicationHostConfigScriptVSExt.vsix
C:\RunAdjustLocalApplicationHostConfigScriptVSExt [master ↓1 ↑1]>
The following extensions are not compatible with the selected version of Visual Studio. Installation may cause Visual Studio to be unstable.
- RunAdjustLocalApplicationHostConfigScriptVSExt