320

确切的错误如下

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

在转移到另一个项目两个月后,我最近再次开始从事这个项目。它以前工作得很好,我已经仔细检查了所有的参考资料。

4

12 回答 12

405

下面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。

在此处输入图像描述

全部做完!

于 2010-05-28T06:19:41.417 回答
120

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

于 2008-09-03T10:57:53.560 回答
91

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

在此处输入图像描述

于 2010-10-26T13:09:20.947 回答
53

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

于 2011-10-13T09:31:56.333 回答
24

我们最近在尝试从 Visual Studio 运行代码时遇到了问题。在这种情况下,您需要执行
TOOLS > OPTIONS > Projects and Solutions > WEB PROJECTS 并选中“将 IIS Express 的 64 位版本用于网站和项目”。

于 2015-11-05T20:15:28.930 回答
11

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

于 2011-06-21T13:33:05.597 回答
4

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

  • 工具 =>
    • 选项 =>
      • 项目和解决方案 =>
        • 网络项目 =>
          • 为网站和项目使用 64 位版本的 IIS Express
于 2017-08-11T17:29:28.197 回答
3

将其更改为 32 位(真)它可以工作

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

于 2016-02-05T11:17:51.520 回答
2

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

取消选中

于 2013-10-24T22:23:57.147 回答
0

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

于 2017-06-17T09:12:09.870 回答
0
  1. 删除位于此处的临时测试目录 C:\Users(User)\AppData\Local\Temp\VisualStudioTestExplorerExtensions\

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

  3. 将默认处理器架构设置为 x64(Test/TestSettings/Default Processor Architecture)。

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

于 2017-07-18T13:30:27.080 回答
0

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

于 2018-04-09T14:59:12.283 回答