.NET 2.0程序(VS 2005)在Visual Studio中运行,但不在Windows资源管理器中运行

时间:2009-05-21 23:43:10

标签: .net visual-studio-2005 gac

有没有人见过这个?

有几秒钟的延迟,然后其中一个对话框说“Yada Yada遇到了问题,需要关闭。我们很抱歉这种不便。” (这很奇怪,因为我的程序有一个特殊的处理系统,如果在我的代码中抛出异常,它会提供有用的错误消息,但显然没有达到这一点:如果你试图运行,这个对话框就是你看到的那种没有安装.NET的计算机上的.NET程序。)这个二进制文件在其他Windows系统上运行。

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

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

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

6 个答案:

答案 0 :(得分:1)

我还建议将EXE和Dll的手动副本放到一个目录中,然后给自己一份Reflector并用反射器打开你的主应用程序exe,然后浏览所有的引用。也许有一些依赖关系,它期待Gac中的不同版本或某些东西更老,你认为你已经删除了它。

还可以在程序中找到入口点,看看Reflector认为它正在做什么。

答案 1 :(得分:1)

您是否有任何捕获并报告应用程序事件部分中未处理的异常的内容?

答案 2 :(得分:1)

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

答案 3 :(得分:0)

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

答案 4 :(得分:0)

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

答案 5 :(得分:0)

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