首页 / 知识

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

2023-04-14 01:27:00

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复选框。
    谢谢大家


    错误加载项目我在

    最新内容

    相关内容

    热门文章

    推荐文章

    标签云

    猜你喜欢