如果您使用 Visual Studio 2008 并且解决方案中有许多项目文件,您如何使它们保持同步?换句话说,如果你在一个项目中更改了一个属性,你如何确保这个属性在其他项目中自动更改?
4 回答
鉴于有足够多的贡献者对嵌套解决方案的概念感到困惑,我将假设您的意思是“具有多个项目的解决方案”。您可以使用项目属性表为它们提供通用设置。从 View + Other Windows + Property Manager 开始。打开其中一个节点,右键单击配置并选择添加新的。选择对解决方案有意义的位置,例如解决方案目录。以您想要的方式配置设置。
对解决方案中的所有其他项目重复此过程,现在使用添加现有项目。每个项目都将继承您在工作表中配置的设置,除非它明确覆盖它们。您可能必须返回项目属性并将覆盖更改回“继承”。
IDE 对项目属性表的支持有点不稳定,请务必在进行更改时明确保存它们。
我不得不说,我还没有听说过“嵌套解决方案”,而且我需要一个非常有说服力的理由来做这种事情。特别是考虑到您的问题实际上集中在“我如何保持重复?” 既然您说解决方案将共享属性。这是编程中的一条基本规则“不要复制你自己”。
您可以将所需的选项放入编译器响应文件中,并在每个 .vcproj 文件中使用相同的响应文件。
见这里: http: //msdn.microsoft.com/en-us/library/3te4xt0y (VS.71).aspx
基本上,您创建一个像 SharedOptions.rsp 这样的文本文件,并在文件的每一行上指定一个不同的命令行编译器选项。像 /I.\include 或 /DDEFINE 或其他什么。
然后在每个项目的 c++ 命令行属性页中,将其添加到附加选项框中:@"SharedOptions.rsp"。
然后,当您编辑文本文件中的选项时,它们将被所有项目拾取。nobugz 提供的属性管理器解决方案可能只是一个 gui - 我不知道,我更像是一个命令行人。
我猜你在过去的 2 个月里已经对此做了一些事情,但这个答案更适合谷歌人......
我最终使用了 Visual Studio 中可用的全局变量。这些是 $ProjectName 之类的变量。VS 中已经有很多可用的,它们也可以是用户定义的。