【发布时间】:2013-10-07 14:12:16
【问题描述】:
我注意到 Visual Studio 2012 的以下行为:我创建 VS2012 包项目(来自 SDK)。当我编译并运行它时,会启动一个实验性的 VS 实例,所以我可以测试实现的包。但是如果我从实验 VS 实例卸载包(使用Tools -> Extensions and Updates -> Uninstall),然后我尝试重新编译并重新运行包,我会得到编译错误,而输出和错误列表中没有显示任何错误。因此,不可能再次启动我正在开发的包。这个问题可以在每个新创建的 VS2012 包项目中重现。
总而言之,我无法在实验性 VS 实例中运行我的包,因为我之前已将其卸载。这似乎是包元数据缓存问题。我该如何解决这个问题?
编辑:
重现此问题的步骤:
- 新建 Visual Studio 2012 包项目(必须安装 VS2012 SDK)。
- 编译并运行项目。应启动 VS Experimental 实例。
- 在 VS Experimental 实例中,转到
Tools -> Extensions and Updates,然后卸载刚刚创建的扩展。 - 关闭 VS Experimental 实例。
- 再次尝试编译和运行包项目。应该有编译或启动错误,但输出和错误列表中都没有信息。
此时无法再次使用此 Package Project 运行 VS Experimental 实例。
【问题讨论】:
-
这是一个很好的解决方案。另一种解决方法是从
bin\debug目录中生成的*.vsix文件安装Package,然后将其卸载。但是现在我遇到了下一个问题 - 我编译了 Package 并尝试在 VS Experimental Instance 中启动它,然后我收到错误消息 - “无法直接启动具有类库输出类型的项目”。这是一个奇怪的消息,因为它是此类项目的正确和默认输出类型。 -
有一个解决上述问题的方法 - 编译一个包项目,重置并从命令行或 Windows 开始面板启动 VS Experimental Instance(开始 -> 所有程序 -> Microsoft Visual Studio 2012 -> Microsoft Visual Studio SDK -> 工具 -> [重置/启动选项])。开发的包需要在 VS Experimental Instance 环境中加载。
-
可能项目设置搞砸了,
.user项目的文件被意外修改或删除。打开 Project->Properties,转到 Debug 选项卡,确保选中“Start External Program”,并且 VS 的路径在框中,所以类似于C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\devenv.exe和 Command Line Arguments 框具有此值 @987654328 @
标签: visual-studio visual-studio-2012 visual-studio-extensions vsix visual-studio-package