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

hiv*_*510 4 c# sql-server smo visual-studio-2017

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

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

注意:这不是错字,是文件系统中文件的实际名称。

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

我正在做的操作是:

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

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

融合日志中的例外是:

===预绑定状态信息===日志:DisplayName = Microsoft.SqlServer.BatchParser,版本= 14.100.0.0,文化=中性,PublicKeyToken = 89845dcd8080cc91(完全指定)日志:Appbase = file:/// C: / tfs /后台管理/持久性/ ReplicationManagement / Worker / bin / Debug / LOG:初始PrivatePath = NULL调用程序集:Microsoft.SqlServer.BatchParserClient,版本= 14.100.0.0,区域性=中性,PublicKeyToken = 89845dcd8080cc91。=== 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。日志:策略后参考: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中。我有一个可以在其中工作的项目,唯一的区别是输出中的文件名。

小智 5

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

该应用程序都可以在我的PC上完美运行,但是在部署它并在我们的应用服务器上运行它时出现了错误。

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

要解决此问题,我需要再次针对x86平台构建项目。然后,我还必须安装相应的x86 C ++可再发行组件包