如何解决使用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 举报,一经查实,本站将立刻删除。