2

全部: 我正在研究一个解决方案,其中一个项目实际上是插件到解决方案构建的主要exe文件。由于这个项目是插件,因此从主exe引用插件是不正确的(组件不能保证在部署中存在,它是可选的)。在不使用引用的情况下设置构建依赖关系?

所以这里是我的问题: 如果我在我的插件项目中修改代码,然后按F-5运行,Visual Studio将不会构建我的插件(因为基于参考树,主exe似乎不依赖于它)。

是否有解决方案或项目级别的设置,我可以更改为导致此插件项目在运行时包含在内(不添加引用)?

我知道工具的全局设置|选项|构建和运行,但我宁愿不必在全局上改变VS的行为,只是为了让这个解决方案能够正确构建(另外,如果设置与解决方案或项目一起使用,那么当其他开发人员检查出来时,他们应该简单地继承设置)

顺便说一句:这些是VS 2005解决方案中的c#项目。

回答

2

右键单击Solution Explorer - > Properties - > Project Dependencies中的根节点。 (VS 2008用户:此功能获取可从上下文菜单中直接访问的对话框。)

依赖关系图表示为复选框的邻接列表。您选择的每个项目都将检查其直接引用&已禁用[假设您使用项目引用,而不是程序集引用]。其他复选框可能会被禁用,如果他们会创建一个循环依赖。

对于任何未禁用的复选框,选中/取消选中将在您的解决方案文件中写入ProjectSection(ProjectDepedencies)部分。因此,您的设置将通过源代码管理传播给其他开发人员。但是,如果您使用MSBuild(包括任何版本的Team Build),它并不总是像处理Visual Studio一样处理* .sln文件自定义。 * .sln不是原生MSBuild文件类型,不像* .proj文件。我自己遇到了这个问题described here;我也看到有时与行为相反。

+0

明白了!我知道我以前看过那个对话,但我找不到它(最终,我一半以为我梦见了整个事情)。谢谢。 – JMarsch 2009-07-09 14:20:37

0

我可以建议创建一个虚拟(空)项目,代表主要exe和插件的组合,并将该项目配置为依赖两者,但在启动时运行EXE?

相关问题