关于c#:我在SQL Server复制项目中收到“试图加载格式不正确的程序”错误

I get a “An attempt was made to load a program with an incorrect format” error on a SQL Server replication project

确切的错误如下

Could not load file or assembly 'Microsoft.SqlServer.Replication,
Version=9.0.242.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91'
or one of its dependencies. An attempt was made to load a program with
an incorrect format.

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


以下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位)时遇到此错误:

Could not load file or assembly ChilkatDotNet2 or one of its
dependencies. An attempt was made to load a program with an incorrect
format.

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

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

enter image description here

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

enter image description here

全部做完!


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


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

enter image description here


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


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


对于那些在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并再次构建时,错误就消失了。


我在Windows 10中针对IIS Express的MVC5应用程序中使用了此功能。我的解决方案如下:

  • 工具=>

    • 选项=>

      • 项目和解决方案=>

        • Web Projects =>

          • 将64位版本的IIS Express用于网站和项目

将其更改为32位(true)它的工作原理

如果你得到这个长度不能小于零。参数名称:iis服务器配置中的长度问题做简单的事情就像你的sql server名称和服务器名称一样改变web.config文件中的连接字符串并重新启动iis然后尝试加载它工作的页面


如果在错误时在Visual Studio 2012中发布,请尝试取消选中"发布"向导中的"发布期间的Procompile"选项。

Un-check


将项目属性中的目标框架从.NET Framework 4.7.1更改为4.6.2对我有用。


  • 删除此处的临时测试目录
    C:用户(用户)应用程序数据本地 TEMP VisualStudioTestExplorerExtensions

  • 在Visual Studio中将所有项目设置为x64

  • 将默认处理器体系结构设置为x64(Test / TestSettings / Default Processor Architecture)。

  • 确保清理构建解决方案文件。希望这有帮助!


    在Windows窗体应用程序中我这样做,
    右键单击Project-> Properties-> Build-> Check Prefer 32-bit复选框。
    谢谢大家


    推荐阅读

      linux命令刷新加载?

      linux命令刷新加载?,系统,下来,工具,网上,命令,终端,环境变量,以下,文件,路

      linux命令创建项目组?

      linux命令创建项目组?,管理,密码,项目,命令,系统,位置,文件,用户组,用户,文

      复制项目的linux命令?

      复制项目的linux命令?,系统,项目,文件,命令,目录,源文件,语法,选项,目标,功

      加载linux内核的命令?

      加载linux内核的命令?,系统,信息,地址,电脑,发行,设备,简介,平台,发展,基础,l

      linux命令项目部署?

      linux命令项目部署?,项目,服务,环境,软件,系统,代理,管理,统一,做好,业务,怎

      linux命令忽略错误?

      linux命令忽略错误?,系统,地址,工作,信息,设备,命令,设计,灵活,观察,标准,lin

      linux加载没有的命令?

      linux加载没有的命令?,系统,服务,工具,信息,设备,标准,工作,命令,检测,代码,

      linux部署项目的命令?

      linux部署项目的命令?,项目,系统,设备,环境,工作,基础,传播,信息,标准,代码,L

      linux项目常用命令?

      linux项目常用命令?,工作,地址,系统,信息,管理,项目,命令,目录,标准,网络,lin

      linux项目更新命令?

      linux项目更新命令?,系统,信息,网络,地址,网站,通信,管理,时间,项目,命令,lin

      启动项目命令linux?

      启动项目命令linux?,工作,经理,产品,技术,地址,数字,系统,项目,命令,信息,怎

      linux编译项目的命令?

      linux编译项目的命令?,系统,工作,地址,软件,工具,信息,代码,项目,命令,环境,l

      加载变量的linux命令?

      加载变量的linux命令?,工具,系统,名称,环境变量,环境,命令,用户,文件,变量,

      项目linux常用命令?

      项目linux常用命令?,工作,地址,系统,管理,设备,信息,项目,命令,目录,标准,lin

      linux模块化加载命令?

      linux模块化加载命令?,软件,系统,设备,代码,信息,环境,适当,资料,网上,电脑,

      linux命令加载模块?

      linux命令加载模块?,设备,系统,工具,检测,信息,模块,内核,文件,命令,杂项,lin

      linux上部署项目命令?

      linux上部署项目命令?,项目,软件,服务,工具,环境,代理,地址,代码,首页,做好,l

      linux创建项目命令?

      linux创建项目命令?,名称,新增,项目,文件,命令,首次,工作,时间,文件夹,文件

      linux项目部署命令?

      linux项目部署命令?,项目,服务,软件,环境,系统,代理,代码,统一,数字,基础,怎

      linux命令加载驱动?

      linux命令加载驱动?,官网,电脑,系统,材料,网络,软件,设备,地址,下来,服务,ope