微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用NSIS部署C#Winforms应用程序时如何使用Properties.Settings?

如何解决使用NSIS部署C#Winforms应用程序时如何使用Properties.Settings?

我已经使用Winforms编写了一个C#应用,并试图利用内置的Properties.Settings(用户作用域)来记住程序启动之间的用户状态。 通过Visual Studio的内置 Build > Publish 部署应用程序时,显然此文件将放入Local Appdata文件夹中。 但是,我想使用NSIS创建程序的可执行文件。我可以通过NSIS脚本将 ProgramName.exe.config 文件放入Local AppData中,但是我的应用似乎无法读取。没有任何用户设置会持续存在。

这甚至可能吗?还是应该使用自己的方法数据库或编写自己的设置xml)来存储用户设置?

解决方法

好的,我知道它可以与NSIS一起使用。 App.config文件具有一个名为“复制到输出目录”的属性,默认情况下该属性设置为“不复制”。我在这里找到此信息:https://docs.microsoft.com/en-us/dotnet/framework/configure-apps/

在@Jimi的帮助下,通过添加System.Configuration作为参考,然后使用以下命令获取路径,我发现了要在哪里创建user.config文件:

var config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.PerUserRoamingAndLocal);

不是在应用程序安装时创建user.config文件,而是在第一次调用以下文件时创建该文件:

Properties.Settings.Default.Save();

在NSIS中,开发人员无需执行任何特殊操作。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。