全部: 我正在研究一个解决方案,其中一个项目实际上插入了解决方案构建的主exe。由于这个项目是一个插件,从主exe引用插件是错误的(该程序集不能保证在部署中存在,它是可选的)。
所以这是我的问题: 如果我在我的插件项目中修改代码,然后按F-5运行,Visual Studio将不会构建我的插件(因为基于引用树,主exe似乎不依赖于它)。
是否有解决方案或项目级设置,我可以更改以便在运行时包含此插件项目(不添加引用)?
我知道工具的全局设置选项|构建和运行,但我宁愿不必全局改变VS的行为只是为了使这个解决方案正确构建(同样,如果设置与解决方案或项目一致,那么当其他开发人员检查它时,他们应该只是继承设定)
BTW:这些是VS 2005解决方案中的c#项目。
答案 0 :(得分:3)
右键单击解决方案资源管理器中的根节点 - >属性 - >项目依赖性。 (VS 2008用户:此功能有自己的对话框,可以从上下文菜单中直接访问。)
依赖关系图表示为复选框的邻接列表。您选择的每个项目都将检查其直接参考。禁用[假设您使用项目引用,而不是程序集引用]。如果它们会创建循环依赖关系,则可能会禁用其他复选框。
对于未禁用的任何复选框,选中/取消选中会将 ProjectSection(ProjectDepedencies)部分写入解决方案文件。因此,您的设置将通过源代码控制传播给其他开发人员。
公平警告:如果您使用MSBuild(包括任何版本的Team Build),它并不总是像在Visual Studio中构建一样处理* .sln文件自定义。 * .sln不是本机MSBuild文件类型,与*。?? proj文件不同。我自己遇到了问题described here;我偶尔也看到了相反的行为。
答案 1 :(得分:0)
我是否可以建议创建一个虚拟(空)项目,表示主exe和插件的组合,并将该项目配置为依赖于两者,但在启动时运行EXE?