繁体   English   中英

WPF Do.NET 应用程序将在调试模式下运行,但 .EXE 将不会运行

[英]WPF DotNET Application will run in debug mode, but .EXE will not run

我使用 VS 2010 在 C# 中编写了一个 WPF 应用程序。该应用程序将使用 Visual Studio 在调试模式下运行良好,但是当我 go 从 bin\release 文件夹运行 .EXE 时,没有任何反应。 我没有从 windows 收到任何错误消息,VS 中也没有错误或警告。 我曾尝试构建、重建和清理解决方案(以各种可能的顺序),但没有成功。 我的解决方案包含 2 个项目,它们都使用 .NET 4.0 框架,我的 PC 上安装了 .NET 4.0。 我在 XP 和 Win7 上都试过了,但仍然没有。

我还刚刚注意到,当我在调试模式下运行应用程序时,来自 Debug 的 output 说:“无法找到或打开 PDB 文件”在加载 each.Dll 之后。

我每次都编译到 Release 文件夹,但我确实尝试将它更改为调试文件夹并清理/重建只是为了看看这是否会有所作为,但它没有,所以我将其改回,再次尝试,仍然没有。

有任何想法吗?

以下是一些想法

  • 如果您使用的是x64计算机,请尝试将应用程序从AnyCPU更改为x86。 这是应用程序在调试模式下默认的模式,并且在x64中运行的问题可能导致发布版本中出现问题
  • 发布二进制文件可能已过期。 从Release文件夹中删除二进制文件,重建并运行新生成的运行
  • 在Visual Studio中的调试器下运行发布版本,看它是否崩溃

我也遇到了上述问题,但其他解决方案都没有对我有用。

我的应用程序在事件查看器中列出了事件ID 1018和1022.这似乎与ASP.NET 2.0 dll奇怪有关(奇怪;因为这只是一个空白的WPF项目)。 日志包含如下消息:

Windows无法在32位环境中打开64位可扩展计数器DLL ASP.NET_64_2.0.50727

最后,当我禁用我的防病毒软件时,它最终得以解决。 我读过这个解决方案适用于McAfee的人; 它也适用于我的环境,拥有Avast。

我假设你试过没有安装visual studio的机器,也没有用于开发的组件。

您只有一个选项:在导致问题的计算机上使用调试器启动应用程序并检查那里的异常。 (以WinDBG为例 - 它轻松简单)。

这看起来像是缺少依赖关系的问题,但也可能是其他问题。

调试实验室应该为您提供有关如何使用windbg查找问题的足够信息:

也用这个:

我有一个非常相似的问题。

在App Pool条目上查看此设置:

  • 转到高级设置。
  • 将“启用32位应用程序”更改为“TRUE”。

这对我有用!

(JaredPar)回答看起来正确(x64),但如果没有尝试右键单击EXE并在管理模式下运行win 7。

我遇到了类似的问题,我在构造函数中引用的发布模式中缺少一个自定义文件夹。 将文件夹添加到版本修复了问题。

我会疯狂地猜测:

  • 要么在.NET Framework安装中有一些奇怪的损坏
  • 使用#if DEBUG有一些特定于调试/发布的代码,或者导致问题的代码大不相同。
  • 您还没有最近编译成Release(尝试在编译最新代码之前将其更改为Release,并确保没有错误)。

这些是我能想到的唯一一件事。

同样的问题 。
通过将缺少的dll添加到exe文件的新文件夹路径来解决。
在我的例子中,WindowsApiCodePack的一些nuget dll和解决方案中的类dll。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM