我有一些旧的32位控制台.NET 2.0应用程序应该迁移到win2008 r2服务器。
注1: 我有一个旧的32位应用程序没有加载任何程序集并且工作正常。
注2: 当我启动其中一个应用程序时 System.BadImageFormatException无法加载文件或程序集错误
注3: 他们每个人都使用 NLog 版本0.9.0.0。当我在新服务器上启动这些应用程序时,我在nLOG.txt中遇到以下异常:
错误无法加载特定于平台的扩展:System.NullReferenceException:未将对象引用设置为对象的实例。 在NLog.FilterFactory.AddFiltersFromAssembly(Assembly theAssembly,String prefix) at NLog.Config.XmlLoggingConfiguration.LoadExtensionsFromAssembly(Assembly asm,String prefix) 在NLog.Config.XmlLoggingConfiguration.RegisterPlatformSpecificExtensions(String name)
您能帮我们解决这个问题吗?提前谢谢。
Deveti Putnik
答案 0 :(得分:3)
转到项目设置,确保将目标构建为32位(x86)和“所有平台”。
您遇到的问题是尝试访问32位DLL的64位可执行文件。默认情况下,.NET可执行文件在64位操作系统上以64位运行。
答案 1 :(得分:0)
对于第3点:为什么不将NLog升级到2.0,对于第2点:“System.BadImageFormatException无法为哪个程序集加载文件或程序集”你能找到导致此问题的程序集名称,它应该在错误消息中< / p>