User.config 损坏

2024-01-01

因此,我做了相当多的研究来试图解决这个问题,但似乎无法 1) 重现该问题,但更重要的是 2) 找到一个最新的解决方案来修复它。

这种情况在两周内已经发生过两次,其中 user.config 文件会随机损坏(例如,XML 文件的块会丢失),从而导致应用程序在下次启动时崩溃。

悬崖笔记:

  1. 我需要一个最新的解决方案来以编程方式处理这个问题(即是否是来自CodeProject 对损坏的用户配置的处理 https://www.codeproject.com/Articles/30216/Handling-Corrupt-user-config-Settings或不同的帖子

  2. 我还需要一个可重现的案例来“损坏” user.config 文件(除了删除其中的大部分内容,因为它对我不起作用),以便能够测试上面的#1。

我遇到的解决方案:

  1. 我知道您可以手动导航到疯狂的路径 (.../AppData/..././1.0.0.0/user.config) 并将其删除并重新运行应用程序,但是,这不是一个合适的解决方案为了我们。我们需要能够以编程方式捕获此错误,并进行相应的处理。如果可能的话,最好不必重新启动应用程序。

  2. 我发现了一些帖子/答案,它们与本文的版本略有不同CodeProject 对损坏的用户配置的处理 https://www.codeproject.com/Articles/30216/Handling-Corrupt-user-config-Settings他们使用与该链接相同的机制,或者使用 ConfigurationManager 命令打开配置文件并捕获异常。

我尝试过的:

  1. 我的问题之一是我似乎无法访问 C# 4.5.2 中的 ConfigurationManager 类。但 MSDN 文档说它在当前框架中可用。所以我无法真正尝试

  2. 当我尝试手动“损坏”我的 user.config 文件来测试我的解决方案时,它没有给我带来任何问题,并且应用程序运行良好......这是令人担忧的,因为我找不到可重现的案例来测试是否给定的解决方案有效(即上面链接中提供的不使用 ConfigurationManager 的解决方案)

任何帮助将不胜感激!


要手动损坏文件,只需删除其中的所有文本并保存文件即可。

为了访问ConfigurationManager类,您必须添加 DLL 引用System.Configuration。如果您需要添加参考的帮助,请按照下列步骤操作online https://msdn.microsoft.com/en-us/library/wkze6zky.aspx:

  1. 在“解决方案资源管理器”中,右键单击项目节点,然后单击“添加引用”。
  2. 在“添加引用”对话框中,选择指示要引用的组件类型的选项卡。
  3. 选择要引用的组件,然后单击“确定”。

为了解决损坏问题,您可以使用 try/catch 块,如下所示:

try {
    ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.PerUserRoamingAndLocal);
}
catch (ConfigurationErrorsException exception) {
    Console.WriteLine("Settings are Corrupt!!");
    // handle error or tell user
    // to manually delete the file, you can do the following:
    File.Delete(exception.Filename); // this can throw an exception too, so be wary!
}

编辑:作为进一步说明,请注意,如果您有Settings.Upgrade()在任何地方调用并且您的“旧”文件已损坏,这也会使软件崩溃。确保包围你的Settings.Upgrade()打电话给try/catch块也。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

User.config 损坏 的相关文章

  • 在哪里可以找到列出 SSE 内在函数操作的官方参考资料?

    是否有官方参考列出了 GCC 的 SSE 内部函数的操作 即 头文件中的函数 除了 Intel 的 vol 2 PDF 手册外 还有一个在线内在指南 https www intel com content www us en docs in
  • 不支持将数据直接绑定到存储查询(DbSet、DbQuery、DbSqlQuery)

    正在编码视觉工作室2012并使用实体模型作为我的数据层 但是 当页面尝试加载时 上面提到的标题 我使用 Linq 语句的下拉控件往往会引发未处理的异常 下面是我的代码 using AdventureWorksEntities dw new
  • 为什么当实例化新的游戏对象时,它没有向它们添加标签? [复制]

    这个问题在这里已经有答案了 using System Collections using System Collections Generic using UnityEngine public class Test MonoBehaviou
  • 嵌套接口:将 IDictionary> 转换为 IDictionary>?

    我认为投射一个相当简单IDictionary
  • BitTorrent 追踪器宣布问题

    我花了一点业余时间编写 BitTorrent 客户端 主要是出于好奇 但部分是出于提高我的 C 技能的愿望 我一直在使用理论维基 http wiki theory org BitTorrentSpecification作为我的向导 我已经建
  • HTTPWebResponse 响应字符串被截断

    应用程序正在与 REST 服务通信 Fiddler 显示作为 Apps 响应传入的完整良好 XML 响应 该应用程序位于法属波利尼西亚 在新西兰也有一个相同的副本 因此主要嫌疑人似乎在编码 但我们已经检查过 但空手而归 查看流读取器的输出字
  • OleDbDataAdapter 未填充所有行

    嘿 我正在使用 DataAdapter 读取 Excel 文件并用该数据填充数据表 这是我的查询和连接字符串 private string Query SELECT FROM Sheet1 private string ConnectStr
  • Clang 3.1 + libc++ 编译错误

    我已经构建并安装了 在前缀下 alt LLVM Clang trunk 2012 年 4 月 23 日 在 Ubuntu 12 04 上成功使用 GCC 4 6 然后使用此 Clang 构建的 libc 当我想使用它时我必须同时提供 lc
  • 如何从 appsettings.json 文件中的对象数组读取值

    我的 appsettings json 文件 StudentBirthdays Anne 01 11 2000 Peter 29 07 2001 Jane 15 10 2001 John Not Mentioned 我有一个单独的配置类 p
  • 堆栈溢出:堆栈空间中重复的临时分配?

    struct MemBlock char mem 1024 MemBlock operator const MemBlock b const return MemBlock global void foo int step 0 if ste
  • 显示UnityWebRequest的进度

    我正在尝试使用下载 assetbundle统一网络请求 https docs unity3d com ScriptReference Networking UnityWebRequest GetAssetBundle html并显示进度 根
  • 如何设计以 char* 指针作为类成员变量的类?

    首先我想介绍一下我的情况 我写了一些类 将 char 指针作为私有类成员 而且这个项目有 GUI 所以当单击按钮时 某些函数可能会执行多次 这些类是设计的单班在项目中 但是其中的某些函数可以执行多次 然后我发现我的项目存在内存泄漏 所以我想
  • while 循环中的 scanf

    在这段代码中 scanf只工作一次 我究竟做错了什么 include
  • SolrNet连接说明

    为什么 SolrNet 连接的容器保持静态 这是一个非常大的错误 因为当我们在应用程序中向应用程序发送异步请求时 SolrNet 会表现异常 在 SolrNet 中如何避免这个问题 class P static void M string
  • 对现有视频添加水印

    我正在寻找一种用 C 在视频上加水印的方法 就像在上面写文字一样 图片或文字标签 我该怎么做 谢谢 您可以使用 Nreco 视频转换器 代码看起来像 NReco VideoConverter FFMpegConverter wrap new
  • 如何在Xamarin中删除ViewTreeObserver?

    假设我需要获取并设置视图的高度 在 Android 中 众所周知 只有在绘制视图之后才能获取视图高度 如果您使用 Java 有很多答案 最著名的方法之一如下 取自这个答案 https stackoverflow com a 24035591
  • C# 成员变量继承

    我对 C 有点陌生 但我在编程方面有相当广泛的背景 我想做的事情 为游戏定义不同的 MapTiles 我已经像这样定义了 MapTile 基类 public class MapTile public Texture2D texture pu
  • 基于 OpenCV 边缘的物体检测 C++

    我有一个应用程序 我必须检测场景中某些项目的存在 这些项目可以旋转并稍微缩放 更大或更小 我尝试过使用关键点检测器 但它们不够快且不够准确 因此 我决定首先使用 Canny 或更快的边缘检测算法 检测模板和搜索区域中的边缘 然后匹配边缘以查
  • 混合 ExecutionContext.SuppressFlow 和任务时 AsyncLocal.Value 出现意外值

    在应用程序中 由于 AsyncLocal 的错误 意外值 我遇到了奇怪的行为 尽管我抑制了执行上下文的流程 但 AsyncLocal Value 属性有时不会在新生成的任务的执行范围内重置 下面我创建了一个最小的可重现示例来演示该问题 pr
  • 哪种 C 数据类型可以表示 40 位二进制数?

    我需要表示一个40位的二进制数 应该使用哪种 C 数据类型来处理这个问题 如果您使用的是 C99 或 C11 兼容编译器 则使用int least64 t以获得最大的兼容性 或者 如果您想要无符号类型 uint least64 t 这些都定

随机推荐

  • Automapper - 如何从源子对象映射到目标

    我正在尝试从源的子对象映射到目标 作为父对象 来源模型 public class SourceBaseResponse
  • 在Java中将编码UTF-8的字符串转换为TIS620(泰语编码)。有哪些方法可以做到这一点并且不会丢失数据?

    作为输入 字符串将是任何采用 UTF 8 编码的泰语字符字符串 隐藏此字符串格式UTF 8 to TIS620在爪哇 可以通过java io Charset实现吗 编码后是否有任何数据丢失或字符大小增加 有任何java实用程序 开源可用于任
  • 使用预构建的 .so 库构建系统应用程序

    我已经被困在这里一周了 试图将第 3 方 so 库与我的应用程序一起构建到自定义 Android 系统中 我跟着http www maxters net 2012 05 adding prebuilt shared library to a
  • 如何更新聚合内的实体

    我有一个名为 活动 的聚合 每个聚合都有一个名为 活动 的根实体 该根实体有一个尝试列表 实体 public class Attempts IEntity
  • Fluent NHibernate 的仅查询属性

    我找不到 Nhibernate 功能如何描述阿延德的博客 http ayende com Blog archive 2009 06 10 nhibernate ndash query only properties aspx与 Fluent
  • NodeJs 和 ExpressJs 无法设置 Cookie

    你能帮我创建cookie吗 因为我无法让它工作 我想在用户登录后设置和创建 cookie 但我不知道我的代码有什么问题 多谢你们 这是我的代码 如果您认为还有其他错误或代码更正 您可以帮我修复吗 多谢你们 app js deps var e
  • 显示最后一次 git 提交评论

    通常在提交期间 git commit m 我希望阅读我的最后评论以记住我取得的进展 有没有一种简单的方法可以通过命令行直接访问最后的提交消息 我使用的是 Windows git show 是输入速度最快的 但也会显示差异 git log 1
  • 创建新页面时,不考虑 css

    我能够根据用户输入自动创建一个新网页 但只有一个问题 CSS 对此不起作用 我知道如何将 css 文件附加到 HTML 文件 但这一次 它不起作用 为了帮助您直观地了解这一点 这是我到目前为止的代码 HTML lt content for
  • OSX cocoa 应用程序 - 获取 safari 选项卡信息

    我想知道是否可以以编程方式从 safari 获取任何选项卡 窗口信息 有图书馆可以做吗 我不喜欢 applescript 因为我发现 我想知道它在 Cocoa 框架中是否可行以及如何可行 你可以这样做脚本桥 https developer
  • Android Studio 添加 Adob​​e Creative SDK 时出错

    这是我的构建 gradle文件 我已关注this https creativesdk adobe com 教程 repositories mavenCentral jcenter mavenLocal maven url project r
  • SpringBoot Thymeleaf 序数

    我读过一些好文章 例如this one https stackoverflow com q 4011075 1756598解释了当给定一个时接收序数的方法int 现在 我有一个 LocalDate 对象 我可以使用任何以下方式格式化我的日期
  • 无法在 Internet Explorer 10 上加载 Google Cloud Endpoints

    我正在开发一个使用Google JavaScript 客户端库 https developers google com api client library javascript reference referencedocs加载一些通过以
  • .Net Core 是否支持每个环境的用户机密?

    假设我有指定的开发环境的连接字符串appsettings Development json以及中指定的暂存环境的连接字符串appsettings Staging json 要在开发和暂存之间切换 我需要做的就是导航到项目属性中的 Visua
  • Maven 在集成测试阶段运行 jetty

    I use failsafe插入 所以当我输入时mvn failsafe integration test它是我的集成测试的主角 这很棒 但我想要我的jetty server开始于pre integration那么阶段 我应该怎么办 我不想
  • Python:为什么存在 int.numerator 和 int.denominator?

    int numerator and int denominator对我来说是个谜 help int numerator states 有理数最低项的分子 但据我所知 int不是有理数 那么为什么会存在这些属性呢 See http docs
  • 如何获取 gstreamer 插件 - Windows

    我现在从 gstreamer freedesktop org 安装了 gstreamer 1 0 并进行了他们的教程 http gstreamer freedesktop org data doc gstreamer head manual
  • 当我们已经有一阶逻辑时,为什么还需要 PDDL?

    这可能是一个完全天真的问题 但我有兴趣知道具体原因 最初为什么要开发 PDDL 为什么我们不能使用一阶逻辑进行推理 解决问题的效率 使用更具体的语言来表达您的问题可以应用更具体的算法来解决问题 从理论上来看 FOL 是不可判定的 而大多数
  • Android Activity ClassNotFoundException - 尝试了一切

    我刚刚将应用程序重构为框架库和应用程序 但现在当我尝试在模拟器中启动应用程序时 我收到以下错误堆栈跟踪 06 02 18 22 35 529 E AndroidRuntime 586 FATAL EXCEPTION main 06 02 1
  • 如何将链接延伸到整个单元格?

    我有一个表 其中包含可以单击以编辑行的链接 锚点 我希望将这些链接拉伸到包含单元格的整个宽度和高度 我已经将它们设置为display block 所以它们有完整的宽度 问题是 我很难使用 CSS 将它们设置为全高 请参阅我的示例小提琴 ht
  • User.config 损坏

    因此 我做了相当多的研究来试图解决这个问题 但似乎无法 1 重现该问题 但更重要的是 2 找到一个最新的解决方案来修复它 这种情况在两周内已经发生过两次 其中 user config 文件会随机损坏 例如 XML 文件的块会丢失 从而导致应