当前位置:  开发笔记 > 编程语言 > 正文

我在SQL Server复制项目上收到"尝试加载具有不正确格式的程序"错误

如何解决《我在SQLServer复制项目上收到"尝试加载具有不正确格式的程序"错误》经验,为你挑选了6个好方法。

确切的错误如下

无法加载文件或程序集"Microsoft.SqlServer.Replication,Version = 9.0.242.0,Culture = neutral,PublicKeyToken = 89845dcd8080cc91"或其依赖项之一.尝试加载格式不正确的程序.

在最近两个月搬到另一个项目后,我最近又开始研究这个项目了.它以前工作得很好,我仔细检查了所有参考文献.



1> bboyle1234..:

以下baldy的答案是正确的,但您可能还需要在AppPool中启用32位应用程序.

资料来源:http://www.alexjamesbrown.com/uncategorized/could-not-load-file-or-assembly-chilkatdotnet2-or-one-of-its-dependencies-an-attempt-was-made-to-load-一个程序与-一个-不正确格式/

设置应用程序以在我的本地计算机上运行(运行Vista 64位)时遇到此错误:

无法加载文件或程序集ChilkatDotNet2或其依赖项之一.尝试加载格式不正确的程序.

显然,该应用程序使用ChilKat组件,但似乎我们使用的版本只是32位版本.

要解决此错误,我在IIS中设置我的应用程序池以允许32位应用程序.打开IIS管理器,右键单击应用程序池,然后选择"高级设置"(见下文)

在此输入图像描述

然后将"启用32位应用程序"设置为True.

在此输入图像描述

全部完成!


值得注意的是,此AppPool解决方案仅适用于ASP.NET应用程序 - 可能会混淆一些从未使用过/配置过ASP.NET或IIS的开发人员.
该链接不起作用,但您的解释足以解决我的问题.+1

2> baldy..:

我找到了解决方案.我最近将我的机器升级到Windows 2008 Server 64位.SqlServer.Replication命名空间是为32位平台编写的.我需要做的就是让它再次运行是将Project Build Properties中的Target Platform设置为X86.



3> 小智..:

将Web项目属性页面上的Platform Target值更改为Any CPU.

在此输入图像描述


就我而言,该项目已经瞄准"任何CPU".但我正在运行64位Windows,并试图DllImport一个老式的硬件驱动程序.特别是将目标更改为x86为我修复了它.
我错了 - 在我摆脱了所有'bin'文件夹之后,这很有效.谢谢!

4> 小智..:

转到IIS - >应用程序池 - >高级设置 - >启用32位应用程序



5> Justin..:

我们最近在尝试从Visual Studio运行代码时遇到了问题.在这种情况下,您需要执行
工具>选项>项目和解决方案> WEB项目,并检查"使用64位版本的IIS Express进行网站和项目".



6> Ryan Lundy..:

对于那些在ASP.NET MVC 3项目中获得此错误的人,在Visual Studio本身中:

在我正在处理的ASP.NET MVC 3应用程序中,我尝试将Microsoft.SqlServer.BatchParser的引用添加到项目中,以解决部署服务器上缺少的问题.(我们的应用程序使用SMO;正确的解决方法是在部署服务器上安装SQL Server Native Client和其他一些东西.)

即使在我删除了对BatchParser的引用之后,我仍然在我打开的每个ASP.NET MVC 3页面上得到了"一次尝试..."错误,引用了BatchParser DLL,并且该错误之后是几十页解析错误.

如果您遇到这种情况,请执行文件搜索,查看DLL是否仍在项目的\ bin文件夹中. 即使您进行重建,Visual Studio也不一定清除所有\ bin文件夹中的所有内容.当我从bin中删除DLL并再次构建时,错误就消失了.

推荐阅读
mobiledu2402851203
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有