3

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

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

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

* * (视觉工作室 2010)

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

问题是我想定义一个 $(tree of projects root) 任何引用特定项目的项目都可以访问,并且根将与该项目相关。

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

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

4

1 回答 1

1

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

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

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

于 2011-06-17T16:22:28.717 回答