相关疑难解决方法(0)

.NET Core中的用户配置设置

我昨天花了一整天时间研究这个并没有找到任何合理的解决方案.

我正在将.NET Framework项目移植到.NET Core 2.0.该项目使用用户设置(Properties.Settings.Default)来存储通过每次应用程序启动而持久存储的某些信息.它还可以更新此信息(例如用户首选项选项).

我的理解是.NET Core中不存在?那怎么可能实现这个呢?我能找到的最接近的东西是安装一些NuGet包并使用Microsoft.Extensions.Configuration,但是,这Properties.Settings.Default在.NET Framework中甚至都不是很接近.

首先,它需要一个文件(JSON,XML,你有什么)在运行文件的目录中.这看起来很疯狂,特别是在安全信息的情况下.另外,我不想要把配置文件与项目时,我的项目的内部图书馆应该能够应付这一切,因为它与.NET框架一样.

我意识到有环境变量,但我无法让它们为我的生活加载.老实说,这应该是一个简单的过程,所以我不确定我是否遗漏了一些明显的东西.在这里,在我的库的属性>调试部分,有一个名为"环境变量"的部分,我在其中添加了两个值.

环境变量示例

我的配置对象如下所示:

private static IConfiguration Configuration { get; } = new ConfigurationBuilder()
    //.SetBasePath(Directory.GetCurrentDirectory())
    //.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true)
    .AddEnvironmentVariables()
    .Build();
Run Code Online (Sandbox Code Playgroud)

要访问变量,我尝试过这些方法:

Configuration.GetSection("SettingName").Value;
Configuration["SettingName"];
Environment.GetEnvironmentVariable("SettingName");
Run Code Online (Sandbox Code Playgroud)

他们都回来了.

还有,没有办法保存财产吗?我知道它的设计重量轻,但肯定有一种方法可以节省吗?

我试过了:

Configuration["SettingName"] = "Value";
Environment.SetEnvironmentVariable("SettingName", "Value");
Run Code Online (Sandbox Code Playgroud)

它似乎更新了内存,但不是文件本身,这使得持久设置无用.

如何在库中读取和保存用户设置,同时将其全部包含在库中?

c# settings configuration .net-core

8
推荐指数
1
解决办法
1247
查看次数

如何在.NET Core中使用.settings文件?

我正在将应用程序移植到依赖于.settings文件的.NET Core 。不幸的是,我找不到从.NET核心读取它的方法。通常,.csproj将以下行添加到中将生成一个TestSettings类,该类可以让我读取设置。

<ItemGroup>
    <None Include="TestSettings.settings">
        <Generator>SettingsSingleFileGenerator</Generator>
    </None>
</ItemGroup>
Run Code Online (Sandbox Code Playgroud)

不幸的是,这似乎不再有任何作用。我什至无法验证SettingsSingleFileGenerator运行情况。这个GitHub问题表明这是新.csproj格式的错误,但是没有人提供替代方法。

.settings在.NET Core 中读取文件的正确方法是什么?

c# msbuild .net-core

4
推荐指数
2
解决办法
9393
查看次数

WPF C# Properties.Settings 不存在

我正在尝试为我的 WPF 应用程序创建简单的应用程序/用户设置。

大多数答案和教程都建议Properties.Settings.Default为此使用。
但是,Settings它不存在于我的Properties命名空间中。正如微软文档
所示,我的项目资源管理器中 也没有.settings文件:

  1. 打开视觉工作室。
  2. “解决方案资源管理器”中,展开项目的“属性”节点。
  3. 双击要在其中添加新设置的.settings文件。该文件的默认名称是Settings.settings。

解决方案浏览器

此外,正如一些(较旧的?)资源所建议的那样,我的项目属性窗口中没有“设置”选项卡。

项目属性窗口

c# wpf settings properties

2
推荐指数
1
解决办法
3919
查看次数

标签 统计

c# ×3

.net-core ×2

settings ×2

configuration ×1

msbuild ×1

properties ×1

wpf ×1