【发布时间】: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 中,并指定了相同的版本。我有一个项目可以使用,唯一的区别是输出中的文件名。
【问题讨论】:
-
MS Connect 上的相同问题:connect.microsoft.com/SQLServer/feedback/details/3140836/…
标签: c# sql-server visual-studio-2017 smo