1

有人见过这个吗?

有几秒钟的延迟,然后其中一个对话框显示“雅达雅达遇到问题,需要关闭。对于给您带来的不便,我们深表歉意。” (这很奇怪,因为我的程序有一个异常处理系统,如果在我的代码中抛出异常,它会提供有用的错误消息,但显然没有达到这一点:这个对话框与你尝试运行时看到的相同未安装 .NET 的机器上的 .NET 程序。)同样的二进制文件可以在其他 Windows 系统上运行。

我尝试重新安装 .NET 2.0。我试过删除它(不允许我)。我尝试“更改”它(显然没有任何变化)。我尝试重新发布我的项目(ClickOnce),它仍然可以在其他机器上运行,但不能在我的开发机器上运行,除了在 Visual Studio 中。我尝试删除已安装的 ClickOnce 项目并重新安装,但它仍然无法启动该程序。

我发现的最接近的是这个(阅读他的澄清),但这些解决方案都没有奏效。

我正在考虑重命名程序并重新发布和重新安装,看看它是否与神秘的 GAC 或邪恶的注册表有关。

4

6 回答 6

1

你有什么可以在应用程序事件部分捕获和报告未处理的异常吗?

于 2009-05-22T01:43:25.783 回答
1

使用事件查看器检查应用程序事件日志。您可能不会获得很多信息,但有时它可以为您指明正确的方向。

于 2009-05-22T18:01:54.053 回答
1

我还建议将 EXE 和 Dll 手动复制到一个目录,并为自己获取 Reflector 的副本并使用反射器打开您的主应用程序 exe,然后浏览所有引用。也许存在一些依赖关系,它期望不同的版本或 Gac 中较旧的东西,而你认为​​你已经删除了它。

还要在你的程序中找到入口点,看看 Reflector 认为它在做什么。

于 2009-06-26T04:23:01.873 回答
0

您是否尝试过可再发行组件(vcredist_x86.exe)?

于 2009-05-21T23:47:08.467 回答
0

您是否尝试过手动将 exe 和支持文件复制到机器而不是使用发布?也不是您想经历麻烦,而是在我们偶尔遇到此类问题的机器上,我们安装了 Visual Studio 的副本,因此它会出现调试或关闭提示,我们点击调试并复制源代码它要求的代码文件,我们可以看到更多细节。

于 2009-06-23T11:52:09.840 回答
0

当您直接双击编译器输出时它不会运行?如果是这样,通常为我解决这个问题的方法是为项目中引用的所有 DLL 指定 Copy Local = True。

于 2009-06-25T19:36:47.063 回答