c# - 如何公开 Application.Properties.Settings 并保持这种状态

标签 c# visual-studio-2010 configuration

我正在将我的应用程序设置集中到一个位置,我选择使用我的公共(public)库中的设置集合来完成此操作。

我已将所有这些设置移动到它们自己的文件中,该文件使用配置源拉入我的 app.config 中:

<Common.Properties.Settings configSource="config\Common.Properties.Settings.config" />

这让我可以使用 Visual Studio 的“添加链接”功能,在我的 Web 和测试应用程序中使用导入的配置文件覆盖默认库设置。

现在,我希望能够从我的其他库中访问所有这些很棒的设置值,并且发现我可以通过公开生成的类来简单地做到这一点:

文件:Common.Properties.Settings

public sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase

这让我可以从我的网络应用程序或单元测试中访问诸如 Common.Properties.Settings.Default.MySetting 之类的东西。但是,问题在于每当添加新设置时,Visual Studio 都会重新生成 Setting.settings 文件,并将 Settings 类翻转回内部:

internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase

所以我的问题是,是否有人知道覆盖它的方法,或者建议使用宏方法或其他方法来确保在重建 Settings.settings 文件后,将此类设置为公共(public)。

谢谢!

最佳答案

我假设您已经在编辑器中创建和修改了 visual studio build 的设置,可以通过项目属性部分设置访问这些设置。在同一个编辑器上有一个组合框,您需要将其从内部更改为公共(public),它被标记为访问修饰符。

enter image description here

关于c# - 如何公开 Application.Properties.Settings 并保持这种状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11873656/

相关文章:

c# - 如何全局更改 C# WPF 中的字体大小?

c# - Linq 和维数组中的 SelectMany?

c++ - 使用键盘中的值将值从 Visual Studio C++ 2010 插入数据库...?

java - Eclipse:每个工作区可能有 'Ignore optional compile problems'?

Objective-C – 拥有一个包含 TestFlight SDK 的 TestFlight 配置

c# - 对象继承、密封方法覆盖和 C#

c# - 如何转换文件名中的符号?

c# - asp.net 页面上的预设格式。

xml - Powershell 编辑 Xml 导致 Visual Studio 报告行尾不一致

javascript - 我如何获得 Angularjs 模块并在其上调用 .value?