应用无法在Windows 2003上运行

时间:2010-05-15 06:26:23

标签: .net

我在Windows XP机器上创建了.net framework 2.0的应用程序,然后我将应用程序复制到已安装.net framework 3.5的另一台Windows 2003服务器机器上 但是应用程序无法启动,在事件视图中我收到了以下错误:

Event Type: Error
Event Source:   .NET Runtime 2.0 Error Reporting
Event Category: None
Event ID:   5000
Date:       5/15/2010
Time:       2:19:39 PM
User:       N/A
Computer:   AVCNDAECLIU4
Description:
EventType clr20r3, P1 ftacsearchpopup.exe, P2 1.0.0.0,  P3 4bee3c42, P4 ftacsearchpopup, P5 1.0.0.0, P6 4bee3c42,  P7 11, P8 e, P9 system.io.fileloadexception,  P10 NIL.

For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.
Data:

我使用FusLogVw得到了可能的原因:在我的应用程序的项目中,我添加了一个xxx.dll作为参考,在Windows 2003机器中,xxx.dll的版本与我在项目中引用的版本不同,那么我该怎么办才能解决问题,让app运行不同版本的xxx.dll?

2 个答案:

答案 0 :(得分:0)

这可能是对丢失的dll的依赖。

您声明计算机上有xxx.dll,但版本错误。您应该可以执行“xcopy部署”(只需在安装时复制.exe旁边需要的dll)。如果它需要的xxx.dll位于.exe旁边,那么它就不会在PC上寻找它,因此将使用正确的版本。

答案 1 :(得分:0)

仅仅重建您的应用程序,这样您就可以100%确定更改的程序集与您的程序兼容,您可以使用app.exe.config文件中的<bindingRedirect> element

为AppDomain.CurrentDomain.UnhandledException编写一个事件处理程序,并记录e.ExceptionObject.ToString()值以获得更好的错误报告。