我需要在基于 Windows Server 2003 的服务器上运行一个基于 .NET 2.0 的小型应用程序。
我已经成功安装了.NET 2.0.50727这里并重新启动服务器。
当我启动该应用程序时,感觉就像我从未尝试过一样 - 没有错误对话框,只是静默死亡。事件查看器显示应用程序错误,其中包含以下信息:
Source: .NET runtime 2.0 error
Event ID: 5000
Event Type: clr20r3
system.io.filenotfoundexception
我认为这是因为 .NET 框架将一个或多个所需的 DLL 放在了与 Windows XP(该应用程序在该位置运行无问题)不同的位置,并且该应用程序查找到了错误的位置。
有人能给我指出正确的方向,告诉我如何确定错误指的是哪些丢失的文件吗?
我应该补充一点,我曾经尝试在 XP 兼容模式下运行该应用程序,但没有成功。
答案1
我很确定您的问题发生在应用程序代码有机会运行之前 - 该错误看起来来自 CLR(公共语言运行时),它负责正确加载应用程序和任何依赖项。
我以前肯定遇到过这种错误,但我记不清具体原因了。不过,这篇文章中的讨论可能会给你一些想法:
此外,如果您在程序启动时使用 FILEMON.EXE 记录活动,您很可能会看到无法访问或找到的文件上的错误。可能需要挖掘大量的日志行,但如果您在 Excel 中加载日志文件,则很容易对数据进行排序并找到一些线索。
希望这里有一些可以提供帮助...
答案2
听起来你可能缺少与应用程序配套的 app.config 文件。在尝试加载配置文件时,应用程序仍在启动,此时会抛出异常。