我试图在我的WinUI桌面应用程序中实现配置文件。我一直得到以下错误。
System.IO.FileNotFoundException: 'The configuration file 'appsettings.json' was not found and is not optional. The physical path is 'C:\Windows\SysWOW64\appsettings.json'.'
字符串
我已经将构建操作设置为内容,并将复制到输出直接设置为更新的复制。但是没有任何效果。
Appsettings properties
我的App.xaml.cs代码是。
using Microsoft.Extensions.Hosting;
using Microsoft.UI.Xaml;
namespace ManagementSystem.Web
{
public partial class App : Microsoft.UI.Xaml.Application
{
public App()
{
this.InitializeComponent();
}
protected override void OnLaunched(LaunchActivatedEventArgs args)
{
IHost host = CreateHostBuilder(args).Build();
using (IServiceScope scope = host.Services.CreateScope())
{
IServiceProvider services = scope.ServiceProvider;
MainWindow MainWindow = services.GetRequiredService<MainWindow>();
MainWindow.Activate();
}
}
private static IHostBuilder CreateHostBuilder(LaunchActivatedEventArgs args) =>
Host.CreateDefaultBuilder()
.ConfigureAppConfiguration((_, config) =>
{
config.SetBasePath(Directory.GetCurrentDirectory());
config.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true);
})
.ConfigureServices((_, services) =>
{
services.AddOptions();
services.ConfigureServices();
});
}
型
我不知道为什么会发生这种情况。我试着在谷歌上搜索它,但我找不到任何关于为什么会发生这种情况的东西。
2条答案
按热度按时间vnjpjtjt1#
经过一番搜索,我找到了解决问题的方法。
在将Json文件添加到我的管道之前调用下面的代码行修复了这个问题。
字符串
xjreopfe2#
解决方案是将
optional
属性设置为true
:字符串