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

StackOverflow https://stackoverflow.com/questions/41449

  •  09-06-2019
  •  | 
  •  

具体错误如下

无法加载文件或汇编'Microsoft.sqlserver.replication,版本= 9.0.242.0,culture =中性,publicKeyToken = 89845DCD8080CC91'或其依赖项之一。尝试使用不正确的格式加载程序。

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

有帮助吗?

解决方案 2

我找到了解决方案。我最近将我的计算机升级到 Windows 2008 Server 64 位。SqlServer.Replication 命名空间是为 32 位平台编写的。要让它再次运行,我所需要做的就是将项目构建属性中的目标平台设置为 X86。

其他提示

秃子的回答 以下是正确的,但您可能还需要在 AppPool 中启用 32 位应用程序。

来源: http://www.alexjamesbrown.com/uncategorized/could-not-load-file-or- assembly-chilkatdotnet2-or-one-of-its-dependency-an-attempt-was-made-to-load-a-格式不正确的程序/

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

无法加载文件或程序集 ChilkatDotNet2 或它的依赖之一。尝试使用不正确的格式加载程序。

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

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

enter image description here

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

enter image description here

全做完了!

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

enter image description here

转到IIS->应用程序池 - > Advance设置 - >启用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 的 MVC5 应用程序中针对 IIS Express 进行了此操作。我的解决方案如下:

  • 工具=>
    • 选项=>
      • 项目和解决方案=>
        • 网络项目 =>
          • 对网站和项目使用 64 位版本的 IIS Express

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

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

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

Un-check

在Windows表单应用程序中,我要这样做,右键单击Project-> properties-> build->检查优先32位复选框。谢谢大家

  1. 删除位于此处的temp Test目录C: USER(用户) AppData local temp temp visualstudiotestexploreRextensions

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

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

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

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top