You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

UWP部署后appsettings.json配置存储位置及修改问题

解决UWP部署后无法找到/修改appsettings.json的问题

问题根源

按照该教程配置的appsettings.json默认是作为嵌入资源编译进应用包的,不会生成独立的可修改文件,所以你在C:\Users\[user]\AppData\Local\Packages[Package ID]下找不到它——这类嵌入资源无法直接在部署后修改。

可行解决方案

1. 改为将配置文件复制到应用数据目录

  • 右键项目中的appsettings.json,在属性里设置:
    • 生成操作:内容
    • 复制到输出目录:如果较新则复制
  • 在应用启动时,检查应用的本地数据目录(ApplicationData.Current.LocalFolder)是否存在该文件,若不存在,从安装目录(Package.Current.InstalledLocation)复制过去:
    private async Task CopySettingsToLocalIfNeeded()
    {
        var localFolder = ApplicationData.Current.LocalFolder;
        var installedFolder = Package.Current.InstalledLocation;
        var localSettingsFile = await localFolder.TryGetItemAsync("appsettings.json");
        
        if (localSettingsFile == null)
        {
            var installedSettingsFile = await installedFolder.GetFileAsync("appsettings.json");
            await installedSettingsFile.CopyAsync(localFolder);
        }
    }
    
  • 修改读取配置的逻辑,改为读取本地数据目录下的appsettings.json,而非嵌入资源。

2. 使用UWP内置设置存储替代

如果只是保存连接字符串这类键值对,完全可以用UWP原生的ApplicationData.Current.LocalSettings,无需额外配置文件:

// 写入连接字符串
ApplicationData.Current.LocalSettings.Values["DbConnectionString"] = "你的连接字符串";

// 读取连接字符串
var connectionString = ApplicationData.Current.LocalSettings.Values["DbConnectionString"] as string;

这种方式存储的设置会直接出现在你已经找到的C:\Users\[user]\AppData\Local\Packages[Package ID]\Settings\settings.dat里,也可以通过代码直接修改,无需操作文件。

3. 若坚持使用JSON文件

除了上面的复制方案,也可以在应用首次启动时从嵌入资源读取默认配置,写入到本地数据目录的JSON文件中,后续修改直接操作本地文件即可。读取嵌入资源的代码大致如下:

private async Task<string> GetEmbeddedSettingsContent()
{
    var assembly = typeof(App).GetTypeInfo().Assembly;
    using (var stream = assembly.GetManifestResourceStream("你的命名空间.appsettings.json"))
    using (var reader = new StreamReader(stream))
    {
        return await reader.ReadToEndAsync();
    }
}

内容的提问来源于stack exchange,提问作者ccdmfc

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 01:01:04