C# .NET:使用注册表作为存储的Properties.Settings后端

C# .NET:使用注册表作为存储的Properties.Settings后端,c#,.net,winforms,C#,.net,Winforms,我曾经有过这样的案例:当我尝试访问Properties.Settings.Default的成员时,我的.NET WinForms应用程序在启动时在野外崩溃。经过一些调查,我发现当您的user.config(位于%USERPROFILE%\AppData\Local\Company Name\ExeName\u hash?\Version\user.config)为空或已损坏(满“\0”个字符)时会发生这种情况。这种情况很早就发生在程序类构造函数中,所以我还没有找到一种方法来检测和修复它 所以我想

我曾经有过这样的案例:当我尝试访问Properties.Settings.Default的成员时,我的.NET WinForms应用程序在启动时在野外崩溃。经过一些调查,我发现当您的user.config(位于
%USERPROFILE%\AppData\Local\Company Name\ExeName\u hash?\Version\user.config
)为空或已损坏(满“\0”个字符)时会发生这种情况。这种情况很早就发生在程序类构造函数中,所以我还没有找到一种方法来检测和修复它


所以我想把我的设置移到注册表,如果只是因为它不那么容易损坏的话。是否有人编写了属性的替换后端。将它们存储在注册表中的设置?谁能给我指点一下我该怎么做吗?

注册表项和文件一样容易损坏。一点也不,因为它们存储在一个文件中:)Google“registrysettingsprovider sample”。为什么不先花时间调查文件是如何损坏的呢?也许无论做什么,它都会对注册表同样有害。@Damien_不信者曾在我身上发生过一次,当时电源突然关闭。