Csharp/C#教程:移动应用程序时重置用户设置分享


移动应用程序时重置用户设置

我注意到,如果您将该应用程序.exe文件移动到另一个位置,则用户设置将重置。

根据我的理解,这是因为app数据文件夹中的位置也基于.exe的路径,这在生成哈希时会被考虑。

我知道有不同的选择,通过使用注册表或手动创建自定义配置文件,但我的问题是,当应用程序(.exe)移动到具有默认function的另一个位置时,是否可以保留用户设置微软提供?

对于我的测试,我使用独立的应用程序(仅一个.exe文件)。 只需将文件移动到,使用/Desktop/Test/ from /Desktop/会导致在C:Users\AppDataLocal\Appname_Url_使用默认用户生成新文件夹.config中。 旧的user.config仍然可用,因此如果将.exe文件移回其先前的位置,则会再次加载先前的设置。 这会变得很麻烦,不仅因为你丢失了设置,而且如果你在10个不同的位置移动文件10次,你最终会在appdata中有10个新文件夹。

这实际上是一个安全function,与程序集部署和clickonce内容有关。 我认为您只需要在主程序集中添加一个强名称即可克服此问题。

如果您没有强名称,则名称将是这样的,如果应用程序路径发生更改,它将更改(请参阅Url令牌):

 %appdata%WindowsFormsApplication1WindowsFormsApplication1._Url_3pei3cdnq3srqpjiwh1qnf12ncsp5c2w1.0.0.0user.config 

如果您有一个强名称,它将是这样的,它不会改变,因为您的应用程序来源现在已被识别,无论其当前位置是什么(请参阅StrongName令牌):

 %appdata%WindowsFormsApplication1WindowsFormsApplication1._StrongName_fe0ndyau2vlgeac4gmbg13u3q4jtyrqv1.0.0.0user.config 

在这篇博文中 ,关于配置文件的位置:

如果由于某种原因需要将设置存储在其他位置,建议的方法是编写自己的SettingsProvider。

这告诉我,通过一些代码,您可以将文件存储在您想要的位置,并且它不会移动。

上述就是C#学习教程:移动应用程序时重置用户设置分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/1014854.html

(0)
上一篇 2021年12月31日
下一篇 2021年12月31日

精彩推荐