Visual studio 2010 如何在visual studio 2010解决方案中全局定义变量?

Visual studio 2010 如何在visual studio 2010解决方案中全局定义变量?,visual-studio-2010,visual-c++-2010,Visual Studio 2010,Visual C++ 2010,是否有任何方法可以为解决方案定义一个全局变量,该变量可由解决方案中包含的任何项目文件或项目属性表访问 如果可以为每个项目都可以包含的属性页定义路径,那么一个变量就足够了 这是一个理想的解决方案。 环境变量虽然不太理想,但也可以 **(视觉研究2010) 再次指出,我看不出如何在项目中设置用户定义的$(xxx)变量-是的,您可以在属性表中设置,但在项目中我引用了$(ProjectDir)- 问题是我想定义一个$(项目根目录树),任何引用特定项目的项目都可以访问它,并且根目录将相对于该项目 另一种选

是否有任何方法可以为解决方案定义一个全局变量,该变量可由解决方案中包含的任何项目文件或项目属性表访问

如果可以为每个项目都可以包含的属性页定义路径,那么一个变量就足够了

这是一个理想的解决方案。 环境变量虽然不太理想,但也可以

**(视觉研究2010)

再次指出,我看不出如何在项目中设置用户定义的$(xxx)变量-是的,您可以在属性表中设置,但在项目中我引用了$(ProjectDir)-

问题是我想定义一个$(项目根目录树),任何引用特定项目的项目都可以访问它,并且根目录将相对于该项目

另一种选择是,如果属性表可以访问自己的路径,并相对于该路径定义项目集合根(具有公共资源的相关项目树)


似乎每个使用VS构建大型系统的人都有同样的问题。

我不知道您的用例,但这听起来不是最好的主意。这会将所有项目紧密地联系在一起,这违反了良好的OO设计。由于这个原因,Microsoft没有包含任何解决方案级别的属性。然而,如果你真的想做这样的事情,你有两种方法(至少)去做

第一种方法,也是我建议反对的方法,是将变量存储在您的一个项目中,并将其公开。然后,您的所有项目都可以访问它,只要它们包含该项目作为参考


第二种方法,也是保留一些OO原则的方法,是创建一个配置文件,所有项目都会查看该变量。这可以是XML文件、CSV文件,甚至是简单的文本文件。如果您想变得更复杂,可以指向数据库位置,因为这是数据库的角色之一。

第一个正确的方法是,糟糕的项目不必相互了解。这是针对VisualStudio的,而不是针对MSBuild.oops的5分钟规则:)正确的第一个方法是坏项目不必相互了解。这是针对VisualStudio的,而不是针对MSBuild的。我想可以有一个与解决方案同名的属性表?所有项目都可以导入$(SolutionDir)$(SolutionName).vsprops??我基本上需要它,以便解决方案可以指定一组相关项目和配置文件的根路径,这些项目和配置文件以通用方式影响项目的构建、库集等。如果上述方法有效,则解决方案可以有效地定义要包括的全局属性表。