2011-04-26 193 views
16

有没有办法为解决方案的所有项目有公共属性文件?共同Settings.settings文件的整个解决方案

我有一个控制台应用程序和一堆其他类librarry文件,我想只有一个设置文件给他们。

我不是在谈论app.Config文件。我在说Settings.settings文件。

任何想法我可以做到这一点?

将配置设置存储在设置文件而不是app.config中,这也是一种很好的做法吗?

+0

我认为这会毁了整个解决方案/项目的想法。您可以为一个解决方案创建多个项目,以便在其他解决方案中轻松地复制部分代码。项目不是组织解决方案的一种方式,因为您最好使用项目中的文件夹。 – hyp 2011-04-26 16:02:07

+0

settings.settings文件中的内容将生成每个解决方案所特有的app.config文件的内容。除非您的类库文件具有应用程序(而不是用户)设置,否则您的设计将很快显示出一些设计缺陷。如果您正在处理生成单个项目的多个解决方案,我强烈建议您避免使用配置文件。 – 2011-04-26 16:31:46

+0

我说过我有多个解决方案可以生成单个项目吗?我想要做的就是在整个项目中使用常见的Settings.setting文件。就像我们有web.config或app.config。 – Asdfg 2011-04-26 16:52:29

回答

21

将您想要跨项目共享的文件放在解决方案文件夹中。然后,在每个项目中,选择添加现有项目。

在Add Existing Item对话框中,选择公共文件。点击添加按钮右侧的下拉箭头,然后从下拉菜单中选择添加为链接,而不是点击添加按钮。

Add As Link

如果这是一个设置文件,你需要设置自定义工具属性文件:

file properties

如果你的文件是Settings.settings你可以打开你的项目属性,转到设置选项卡,Visual Studio会自动为您设置此自定义工具属性。

一旦设置了自定义工具,您将看到在您的设置文件下创建的Designer.cs文件。这个Designer.cs文件包含生成的代码,以便以编程方式访问您的设置。

Designer sub-file

正如你所看到的,Designer.cs文件也是一个链接文件,它的物理位置将与您的设置文件。

+2

但后来如果我尝试访问它们像Properties.Settings.Default.SettingName在类库中,它不认识它。 – Asdfg 2011-04-26 18:25:59

+0

看到我的编辑.... – 2011-04-26 18:57:44

+0

如果这解决了你的问题(它应该)upvoting并接受我的答案将不胜感激,谢谢。 – 2011-04-26 19:01:53

8

或者,您可以将设置设置为public而不是internal

转到YourProject->属性 - >设置

enter image description here

1

通过@qes上述接受的答案是正确的,但我有哪里指定CustomToolNamespace派上了用场,因为我已经有一些项目的情况具体设置。通过将Namespace设置为特定的内容,我没有得到与解决方案中每个项目相关的自动生成的名称空间。