为什么在这里寻找VsixUtil.exe?

时间:2018-10-09 15:25:56

标签: c# visual-studio vsix

我有一个解决方案,它是VS扩展,可以编译为VSIX。我删除了packages文件夹,构建了解决方案,但出现错误... The specified task executable location "D:\git\QueryFirst\packages\Microsoft.VSSDK.BuildTools.15.0.26201\tools\VSSDK\bin\VsixUtil.exe" is invalid.

该文件夹存在,但请确保其中没有足够的VsixUtil.exe。我安装了带有nuget的VsixUtil,但是它没有转到该位置。为什么我的解决方案在该位置寻找VsixUtil。我可以指出其他地方吗?还是在那安装?

我正在使用VS 2017 Enterprise。

1 个答案:

答案 0 :(得分:2)

不应单独下载/安装VsixUtil.exe实用程序。您用来下载的NuGet软件包不是Microsoft或VisualStudioExtensibility的“官方”软件。

您的项目中显然有两个VSSDK之间的版本不匹配:

  • 该项目使用的是最近的Microsoft.VsSDK.targets文件,该文件使用了VsixUtil任务:
  <UsingTask TaskName="VsixUtil" AssemblyFile="$(VsSDKAssemblyFile)" />
  • 但是它将转到一个旧的VSSDK文件夹(Microsoft.VSSDK.BuildTools.15.0.26201),该文件夹没有该任务所需的VsixUtil.exe文件。

升级项目的Microsoft.VSSDK.BuildTools NuGet软件包,以使用最新版本的15.8.x(15.8.3252或15.8.3247),该版本的文件夹tools \ vssdk \ bin中确实包含VsixUtil.exe。