我已成功使用exe(我编写的控制台应用程序的输出)及其应用程序配置文件一段时间了。当我将它们压缩并发送给我的经理时,他问我是否可以删除app.config文件,因此他将来复制的唯一内容就是exe。
以下是我的控制台应用程序的主要内容。例如,我的app.config具有以下内容。
<userSettings>
<myapp.Properties.Settings>
<setting name="productline" serializeAs="String">
<value>Electronics</value>
</setting>
</userSettings>
当我像
一样运行应用程序时c:\>myapp.exe -productline Mechanical -save
它会将产品线设置更新为Mechanical。当我再次运行我的应用程序时,产品线将保留为Mechanical,直到我再次更改它。
回到问题,我想我将摆脱app.config文件,并有一个静态变量'productline'并更新它。但是,当我测试时,静态变量只被覆盖,直到我运行exe一次。下次我运行exe时,它会回到默认的'Electronics'。我假设我第二次运行exe就像使用iisreset运行Web应用程序一样,所以静态变量又是新鲜的。
这里最好的方法是什么?可以将app.config嵌入到exe中,所以我仍然可以使用它,但输出只是一个exe文件?或者在这种情况下保存和保留变量的替代方法是什么?
答案 0 :(得分:0)
如果您有一个阻止您保存到文件的约束,那么您可以将您的设置放在注册表中。 RegistryProxy class使您可以轻松访问CurrentUser注册表设置。 This documentation提供了创建和操作这些设置的方法。