【问题标题】:Could not load file or assembly 'Microsoft.SqlServer.BatchParserClien.dll File Name无法加载文件或程序集“Microsoft.SqlServer.BatchParserClien.dll 文件名
【发布时间】:2018-03-28 11:38:09
【问题描述】:

我有一个 SMO 操作失败的疯狂问题,唯一的区别是我的 bin 文件夹中的这个奇怪的文件:

无法加载文件或程序集 'Microsoft.SqlServer.BatchParserClien.dll

注意:这不是拼写错误,而是文件系统中文件的实际名称。

我不知道该怎么做,我以前从未在我的 bin 文件夹中看到过这样的东西。

我正在做的操作是:

var distributor = new ReplicationServer(conn);
                    if (!distributor.DistributorInstalled)
                    {
                        distributor.InstallDistributor((string)null, distributionDb);
                    }

我正在使用版本为 140.17177.0 的 Microsoft.SqlServer.SqlManagementObjects nuget 包。

异常中的融合日志是:

=== 预绑定状态信息 === LOG: DisplayName = Microsoft.SqlServer.BatchParser, Version=14.100.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91(完全指定)日志:Appbase = file:///C:/tfs/返回 Office/Persistence/ReplicationManagement/Worker/bin/Debug/LOG: 初始 PrivatePath = NULL 调用程序集: Microsoft.SqlServer.BatchParserClient,版本=14.100.0.0, 文化=中性,PublicKeyToken=89845dcd8080cc91。 === LOG:此绑定在默认加载上下文中开始。 LOG:使用应用程序配置文件:C:\tfs\Back Office\Persistence\ReplicationManagement\Worker\bin\Debug\Worker.exe.Config LOG:使用主机配置文件: LOG:使用机器配置 文件来自 C:\Windows\Microsoft.NET\Framework64\v4.0.30319\config\machine.config。 LOG:后策略参考:Microsoft.SqlServer.BatchParser, 版本=14.100.0.0,文化=中性,PublicKeyToken=89845dcd8080cc91 日志:正在尝试下载新的 URL 文件:///C:/tfs/Back Office/Persistence/ReplicationManagement/Worker/bin/Debug/Microsoft.SqlServer.BatchParser.DLL。 ERR:无法完成程序集的设置(hr = 0x8007000b)。探测 终止。

BatchParser 文件确实存在于 bin 中,并指定了相同的版本。我有一个项目可以使用,唯一的区别是输出中的文件名。

【问题讨论】:

标签: c# sql-server visual-studio-2017 smo


【解决方案1】:

我遇到了类似的问题。我有一个使用 Microsoft.SqlServer.SqlManagementObjects nuget 包的 SMO 应用程序。

该应用程序在我的电脑上完美运行,但是在我们的应用程序服务器上部署和运行它时,我遇到了错误。

无法加载文件或程序集“Microsoft.SqlServer.BatchParser.dll”或其依赖项之一。找不到指定的模块。

为了解决这个问题,我需要再次针对 x86 平台构建项目。 然后我还必须安装相应的x86 C++ Redistributable Package

【讨论】:

【解决方案2】:

对于 Visual Studio 2017,请下载此 nuget 包

Install-Package Microsoft.SqlServer.SqlManagementObjects -Version 140.17283.0

More Information about latest builds

【讨论】:

    【解决方案3】:

    我遇到了类似的问题,我必须将我的平台目标设置为任何 CPU以检查首选 32 位。

    【讨论】:

      猜你喜欢
      • 2020-08-17
      相关资源
      最近更新 更多