VSIX包构建失败而没有显示原因(Visual Studio错误)

jwa*_*zko 10 vspackage visual-studio vs-extensibility vsix

我必须启用MSBuild项目构建输出详细程度的诊断模式才能看到:

1>Done executing task "EnableExtension" -- FAILED. (TaskId:81)
1>Done building target "DeployVsixExtensionFiles" in project "myextension.csproj" -- FAILED.: (TargetId:93)
...
1>Build FAILED.
1>
1>Time Elapsed 00:00:01.27
========== Rebuild All: 0 succeeded, 1 failed, 0 skipped ==========
Run Code Online (Sandbox Code Playgroud)

我的问题是我无法调试我正在处理的Visual Studio扩展包,因为构建输出表明某些内容已失败.什么是有线的,包含所有内容(包括vsix包)的obj和bin文件夹已经创建.我真的不知道我改变了什么特别的,因为几个小时前一切都很好.

我怎样才能调查出了什么问题?

顺便说一句:我正在使用VS 2012 Premium Update 1

编辑:

我记得我做过的事.在处于调试模式时,我输入了Tools - > Extensions and Updates,并卸载了我当前调试的扩展(在该操作之后没有重新启动VS).进一步的调试尝试(在关闭VS的实验实例后的F5)导致这种神秘的构建行为.

jwa*_*zko 26

我目前的解决方法是在一段时间后提出更改source.extension.vsixmanifest文件中扩展包的显示名称:

  <Metadata>
    ...
    <DisplayName>Change this name to sth else and press F5</DisplayName>
    ...
  </Metadata>
Run Code Online (Sandbox Code Playgroud)

没有其他东西需要改变(不幸的是,恢复旧名称仍会触发此错误,但至少可以继续开发和调试).

更新:

我已经检查了Windows注册表中这样有问题的名称,并找到了以下PendingDeletions密钥:

HKEY_USERS\S-1-5-21-1832937852-2116575123-337272265-599953\Software\Microsoft\VisualStudio\11.0Exp\ExtensionManager\PendingDeletions
Run Code Online (Sandbox Code Playgroud)

在这个键下,有一个值指向我以前卸载的扩展(在处于调试模式时):

C:\USERS\G_159\APPDATA\LOCAL\MICROSOFT\VISUALSTUDIO\11.0EXP\EXTENSIONS\JAROSLAW WALISZKO\MYEXTENSION\1.0\
Run Code Online (Sandbox Code Playgroud)

删除此条目修复了这种情况.