Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 我得到一个;试图加载格式不正确的程序;SQL Server复制项目出错_C#_Sql Server_Replication - Fatal编程技术网

C# 我得到一个;试图加载格式不正确的程序;SQL Server复制项目出错

C# 我得到一个;试图加载格式不正确的程序;SQL Server复制项目出错,c#,sql-server,replication,C#,Sql Server,Replication,准确的误差如下所示 无法加载文件或程序集“Microsoft.SqlServer.Replication”, 版本=9.0.242.0,区域性=中性,PublicKeyToken=89845dcd8080cc91' 或者它的一个依赖项。试图加载带有的程序 格式不正确 经过两个月的转移到另一个项目后,我最近又开始了这个项目的工作。它以前工作得很好,我仔细检查了所有的参考资料。我找到了解决方案。我最近将我的机器升级到64位Windows 2008 Server。复制命名空间是为32位平台编写的。要使

准确的误差如下所示

无法加载文件或程序集“Microsoft.SqlServer.Replication”, 版本=9.0.242.0,区域性=中性,PublicKeyToken=89845dcd8080cc91' 或者它的一个依赖项。试图加载带有的程序 格式不正确


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

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

下面的内容是正确的,但您可能还需要在应用程序池中启用32位应用程序

资料来源:

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

无法加载文件或程序集
ChilkatDotNet2
或其中一个 依赖关系。试图加载带有错误代码的程序 格式

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

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

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


全部完成

将web项目属性页上平台目标的值更改为
任意CPU


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

在我正在开发的ASP.NET MVC 3应用程序中,我尝试将对Microsoft.SqlServer.BatchParser的引用添加到项目中,以解决部署服务器上缺少该引用的问题。(我们的应用程序使用SMO;正确的修复方法是在部署服务器上安装SQL Server本机客户端和其他一些东西。)

即使在我删除了对BatchParser的引用之后,我仍然会在打开的每个ASP.NET MVC 3页面上出现引用BatchParser DLL的“尝试…”错误,该错误之后会出现几十个页面解析错误

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

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

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


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

将其更改为32位(true)即可


如果你得到这个长度不能小于零。参数名称:iis服务器配置中的长度问题执行以下简单操作更改web.config文件中的连接字符串(如sql server名称和服务器名称),然后重新启动iis,然后尝试在windows窗体应用程序中加载其工作的页面, 右键单击项目->属性->构建->选中首选32位复选框。 谢谢大家

  • 删除位于此处的临时测试目录 C:\Users(User)\AppData\Local\Temp\VisualStudioTestExplorerExtrade\

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

  • 将默认处理器体系结构设置为x64(测试/测试设置/默认处理器体系结构)


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

    我在Windows10的一个MVC5应用程序中针对IIS Express使用了这个。我的解决办法如下:

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

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

    这会导致整个应用程序池以32位而不是64位的方式运行吗?重新编译64位/所有平台的依赖关系是更好的解决方案吗?由于NFOP,我遇到了这个问题,但由于它是开源的,我可以重新编译它。链接不起作用,但是你的解释足以解决我的问题+1联系有关如何启用32位应用程序的说明:可能值得注意的是,此AppPool解决方案仅适用于ASP.NET应用程序-可能会混淆一些从未使用/配置ASP.NET或IIS的开发人员。不在IIS7中修复它,仅在IIS7中修复。不幸的是,IIS7.5没有效果。我错了-这很有效,在我扔掉所有的“垃圾箱”文件夹之后。谢谢也解决了我的问题,但只有在解决方案中的每个项目都这样做之后。上述步骤适用于C#项目。对于VB.NET项目,将项目属性>编译>高级编译选项>目标CPU更改为“AnyCPU”。在我的例子中,项目已经以“AnyCPU”为目标。但我运行的是64位Windows,并试图下载一个老式的硬件驱动程序。特别是将目标更改为x86为我修复了它。在我的情况下,我希望在x64下运行。它不起作用了。在更改了所有建议之后,我还必须将Web下的“Bitness”也更改为x64I。我刚刚进行了一次重建,问题消失了,而无需手动删除DLL。谢谢我的DLL有这个问题,但是我的项目>HDP属性。。。没有“Build”选项卡(似乎什么都没有,但不是那个)。都是t