【问题标题】:mysterious exception "Could not find file 'D:\xxxx\bin\Debug\xxx.vshost.exe.config'."神秘异常“找不到文件 'D:\xxxx\bin\Debug\xxx.vshost.exe.config'。”
【发布时间】:2010-07-17 13:41:07
【问题描述】:

我是 WPF 和 .net 的新手。我有一个其他人之前编写的 WPF 应用程序,AFAI 记得它在一段时间前工作得很好。但是今天我在尝试构建应用程序并从调试器运行时看到了这个神秘的错误: 异常:“找不到文件 'D:\xxxx\bin\Debug\xxx.vshost.exe.config”

我能够从外部调试器运行生成的 exe。只有在尝试从 VS2008 进行调试时,我才会收到上述异常。

【问题讨论】:

    标签: c# wpf exception


    【解决方案1】:

    首先尝试进行清理/重建。也可以尝试关闭 Visual Studio 并完全删除调试文件夹,然后重新启动并重建。

    假设不这样做:要解决您的短期问题,请尝试转到项目的属性,然后转到“调试”选项卡,然后取消选中“启用 Visual Studio 托管进程”。这应该消除对 vshost.exe 和为其生成的配置文件的所有依赖。如果上面的错误是你唯一的问题,那至少应该让你在调试模式下运行。

    我猜这是一个锁定文件,权限问题,文件损坏问题。除了在非常慢的机器上,我从未听说过有人在使用 VSHost 时遇到问题。

    【讨论】:

    • 我正在尝试一下,我发现如果我将 .settings 文件添加到项目中,打开它的“复制到输出文件夹”属性,然后构建,那么错误就会消失。那是因为配置文件是自动创建的。如果我能找到表明始终需要 .config 的内容,我正在调查 csproj。也会尝试你的建议。
    • 清除/重建没有帮助。但我怀疑这是csproj损坏的情况。得到答案后会更新
    【解决方案2】:

    我不确定异常的原因是什么,但我想出了如何解决它。 基本上我在调试->异常下启用了“抛出”复选框,这就是问题的根源。还是不知道为什么 vshost.exe 默认会查找配置文件。

    【讨论】:

    • 仅供参考:这不是解决方案。如果您想让调试器在异常时停止,您需要选中 Thrown 复选框以检查 Common Language Runtime Exceptions。问题是在不应该产生异常的时候产生了异常。
    【解决方案3】:

    我也遇到过同样的问题,当我们将代码从 vs2005 迁移到 vs2013 或 vs2015 时,为了解决这个问题,进入 vs 解决方案中的 bin 文件夹,你会看到 vshost.exe 引用丢失,删除所有相关的引用到 vshost,然后重建您的应用程序。 :) 我看到了关于堆栈溢出的先前答案,所以我的建议是 1. 不要尝试禁用 Visual Studio 托管。 2. 不要尝试在发布模式下构建解决方案。 这两个都行不通。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-04
      • 2012-12-27
      • 1970-01-01
      • 2023-03-11
      • 1970-01-01
      • 2013-04-16
      相关资源
      最近更新 更多