Visual Studio解决方案 - 如何确保项目属性被共享?

5

如果您使用Visual Studio 2008,并且在解决方案中有许多项目文件,您该如何使它们保持同步?换句话说,如果您更改一个项目中的属性,如何确保其他项目中的此属性会自动更改?


嵌套解决方案?你是指项目吗? - Hans Passant
4个回答

8
鉴于许多贡献者对嵌套解决方案的概念感到困惑,我将假设您指的是“具有多个项目的解决方案”。您可以使用项目属性表为它们提供公共设置。从视图 + 其他窗口 + 属性管理器开始。打开其中一个节点,右键单击配置,然后选择添加新项。选择一个在解决方案中有意义的位置,例如解决方案目录。按照您想要的方式配置设置。
重复此过程以为解决方案中的所有其他项目使用“添加现有项”。每个项目都将继承您在该表中配置的设置,除非它们明确地覆盖这些设置。您可能需要返回到项目属性并将覆盖更改回“继承”。
IDE 对项目属性表的支持有些不稳定,请确保在更改时显式保存它们。

抱歉让您感到困惑...我已经澄清了问题。 - fooMonster

0
我必须说,我从未听说过“嵌套解决方案”,而且我需要一个非常有说服力的理由才能做出这样的事情。特别是考虑到你的问题实际上集中在“如何维护重复性”上,因为你说这些解决方案将共享属性。在编程中,“不要重复自己”是一个基本规则。

滑块,感谢您的评论。您会很高兴知道,我并没有创造我所描述的混乱,只是试图评估混乱程度并获得一些帮助来解决它。您有什么想法可以帮助我吗?谢谢! - fooMonster
既然你改变了问题,看起来这与C++项目有关,因为我从未在我所做的任何C#或VB.NET项目中传播属性。自从多年前上学以来,我就没有再做过任何与C++相关的事情。 - sliderhouserules

0

您可以将所需的选项放入编译器响应文件中,并在每个 .vcproj 文件中使用相同的响应文件。

请看这里:http://msdn.microsoft.com/en-us/library/3te4xt0y(VS.71).aspx

基本上,你需要创建一个文本文件,如 SharedOptions.rsp,并在文件的每一行指定不同的命令行编译器选项。比如 /I.\include 或 /DDEFINE 等等。

然后,在每个项目的 c++ 命令行属性页中,您可以在其他选项框中添加:@"SharedOptions.rsp"

然后当您编辑文本文件中的选项时,它们将被所有项目捕获。nobugz 提供的属性管理器解决方案可能只是这种方式的 GUI,我不知道,我更喜欢命令行方式。

我猜您在过去的两个月内已经做了些什么,但这个答案更多的是给 Google 用户预留下来的......


0

我最终使用了在Visual Studio中可用的全局变量。这些变量像$ProjectName之类的。在VS中有许多可用的变量,也可以用户定义。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接