在多台机器上开发时无法运行 VSPackage

Posted

技术标签:

【中文标题】在多台机器上开发时无法运行 VSPackage【英文标题】:Cannot run VSPackage when developing on multiple machines 【发布时间】:2013-07-11 15:15:43 【问题描述】:

我们正在团队中使用 Visual Studio 2012 和 TFS 开发 VSPackage。

扩展程序在用于创建它的计算机上运行良好(通过向导)。在另一台计算机上,Visual Studio 在我们尝试运行它时说“无法直接启动具有类库输出类型的项目”(使用 F5)。

项目的输出确实是类库,在第一台机器上按 F5 会启动 Visual Studio 的实验实例,并加载并运行扩展。

通过查看第二台计算机上的%LOCALAPPDATA%\Microsoft\VisualStudio\11.0Exp\Extensions,我们看到扩展已经构建,并且尝试将其注册到 VS。 我们还在第二台计算机上创建了另一个扩展,并尝试在第一台计算机上运行它。它显示相同的错误。

我们如何才能让扩展程序在未用于创建它的计算机上运行?

【问题讨论】:

我在同一台机器上遇到了这个问题:主要源代码在路径 C:\Dev-1` I checked out the same source code to the path C:\Dev-2` 现在新副本给了我同样的错误。 尝试使用rootSuffix exp2或其他方式启动Visual Studio - 这样,新副本将转到一个全新的VS实验实例,并且不会与C:\Dev-1的扩展冲突 @Matze 的回答解决了这个问题。谢谢。 【参考方案1】:

Visual Studio 包项目类型向名为VISX 的项目属性视图添加了一个附加选项卡。在该选项卡上,Deploy VSIX content to experimental instance for debugging 选项默认处于选中状态;这就是为什么包文件在构建后被复制到当前用户配置文件的扩展目录的原因。

如果您想使用实验性配置单元启动 Visual Studio,您必须自定义类库项目的 Debug 设置。将Start Action 设置为Start external program 并选择devenv.exe 文件(文件的位置取决于您的安装文件夹)并指定以下命令行参数:

/rootSuffix Exp

这允许通过按 F5 来调试扩展。

【讨论】:

谢谢!为了进一步讨论该问题,此特定信息存储在 Projectname.csproj.user 文件中,该文件似乎并未通过 TFS 共享 - 它既不在包含的更改中,也不在排除的更改中。这将是需要在每台机器上完成的手动修复。 你说得对;默认情况下,.user 文件从待处理的更改列表中被忽略(有充分的理由)。 是的,一旦我将本地代码放到源代码管理中,同样的问题。 .user 文件没有签入,给我带来了麻烦。 终于!多亏了你,我终于恢复了生意,非常感谢。顺便说一句,我还需要完成其他答案中的步骤才能使其正常工作:***.com/questions/7767249/…

以上是关于在多台机器上开发时无法运行 VSPackage的主要内容,如果未能解决你的问题,请参考以下文章

Team Fundation Service 无法构建 VSPackage(未找到 VsSDK)

分布式爬虫

分布式爬虫

分布式爬虫

python网络爬虫——分布式爬虫

15-scrapy-redis两种形式分布式爬虫