.net 应用程序无法在Windows 2003上运行

.net 应用程序无法在Windows 2003上运行,.net,.net,我在一台windows XP计算机上创建了一个基于.net framework 2.0的应用程序,然后将该应用程序复制到另一台安装了.net framework 3.5的windows 2003 server计算机上 但应用程序无法启动,通过事件视图,我发现以下错误: Event Type: Error Event Source: .NET Runtime 2.0 Error Reporting Event Category: None Event ID: 5000 Date:

我在一台windows XP计算机上创建了一个基于.net framework 2.0的应用程序,然后将该应用程序复制到另一台安装了.net framework 3.5的windows 2003 server计算机上 但应用程序无法启动,通过事件视图,我发现以下错误:

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的版本与我在项目中引用的版本不同,那么,我该怎么做才能解决这个问题,让应用程序以不同版本的xxx.dll运行呢?

它可能依赖于缺少的dll


您声明计算机上有xxx.dll,但版本错误。您应该能够进行xcopy部署,这只是在安装.exe时将所需的DLL复制到它旁边。如果所需的xxx.dll位于.exe旁边,则它不会在PC上的其他位置查找它,因此将使用正确的版本。

简而言之,不只是重新生成应用程序,这样您就可以100%确保更改的程序集与您的程序兼容,您可以使用app.exe.config文件中的


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

您是否考虑过在该机器上加载.NET 2.0?您的意思是在Win 2003机器上安装.NET 2.0?@Carols,我认为这是Mitch的想法。您还考虑过为.NET3.5运行时开发应用程序吗?据我所知,您可以在最新版本的Visual Studio中选择作为选项。我想要的是让我的应用程序可以使用另一个版本的xxx.dll文件,但我不知道如何在我的项目设置中进行配置以使其正常工作。