我正在将现有的Windows Forms C#应用程序迁移到.NET 5.0,并尝试按照migration docs上的说明进行操作。一切都正常,但仍有一件事要做:从app.config文件迁移调试/发布设置。
我曾经考虑过重用NET Core的IConfiguration
,但是将Microsoft.Extensions.Configuration nuget包添加到项目中(以便能够创建ConfigurationBuilder
示例)似乎会破坏一切(例如,using System;
将开始生成编译错误)。
你们是如何将Windows窗体应用程序上的设置从4.8迁移到.NET 5.0的?
2条答案
按热度按时间sg24os4d1#
在Windows窗体中使用.NET 5、.NET 6或.NET核心配置系统
您可以执行下列步骤:
1.创建WinForms .NET(5)应用程序
1.安装
Microsoft.Extensions.Hosting
套件。您可能希望安装
Microsoft.Extensions.Configuration.Json
和Microsoft.Extensions.Configuration.Binder
,而不是宿主包,这两个包对于本示例来说已经足够了。1.将appsettings.json文件添加到项目根目录,将其生成操作设置为Content,将“复制到输出目录”设置为Always。
1.修改程序类:
确保已添加
using Microsoft.Extensions.Configuration;
1.设置文件的内容:
1.若要读取该设置,请打开Form1.cs并粘贴以下代码:
1.运行应用程序并查看结果:
使用Windows窗体的经典设置
最后一个问题:你们是如何在Windows窗体应用程序上将设置从4.8迁移到.NET 5.0的?
看起来您很熟悉.NET 4.x中的应用程序/用户设置。.NET 5中仍然支持相同的设置。
Settings.settings
文件是默认项目模板的一部分,它允许您创建具有设计器支持和更多功能的用户设置和应用程序设置。您可以查看Application Settings for Windows Forms。jrcvhitl2#
在寻找同样的答案时,我注意到该文档只提到app.config中不再支持运行时配置,因此您仍然可以使用它。
如果您的应用程序具有App.config文件,请移除
<supportedRuntime>
.NET 5+(和.NET核心)中的App.config文件不再用于运行时配置。
对我来说,主要问题是在不同配置中的不同设置之间切换。我现在使用一个App.config每个配置,如前面提到的here。