C#smo项目程序集未引用错误

问题描述 投票:1回答:2

我正在做一个使用smo对象(服务器,数据库)的C#项目。我包括

using Microsoft.SqlServer.Management.Smo;
using Microsoft.SqlServer.Server;  

我添加了Microsoft.SqlServer.Management.Smo,Microsoft.SqlServer.Management.SmoExtended,Microsoft.SqlServer.SqlEnum,Microsoft.SqlServer.ConnectionInfo。

但是我仍然收到这样的错误(类似于10的错误):

The type 'Microsoft.SqlServer.Management.Sdk.Sfc.ISfcHasConnection' is defined in an assembly that is not referenced. You must add a reference to assembly 'Microsoft.SqlServer.Management.Sdk.Sfc, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91'.  

如何解决这个问题?

c# sql-server assemblies smo
2个回答
7
投票

嗯,我认为该错误是相当可解释的,包括对Microsoft.SqlServer.Management.Sdk.Sfc的引用。您尚未列出您添加了该参考的信息。有时,当您添加使用未包括的其他dll引用的引用时,则您必须包括那些其他引用...即使您没有使用它们。


0
投票

我不知道您的问题是否仍然发生,但就我而言,问题是App.Config中的程序集绑定重定向:

<startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" />
  </startup>
  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="Microsoft.SqlServer.Management.Sdk.Sfc" publicKeyToken="89845dcd8080cc91" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-15.100.0.0" newVersion="15.100.0.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="Microsoft.SqlServer.ConnectionInfo" publicKeyToken="89845dcd8080cc91" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-15.100.0.0" newVersion="15.100.0.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="Microsoft.SqlServer.Diagnostics.STrace" publicKeyToken="89845dcd8080cc91" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-15.100.0.0" newVersion="15.100.0.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="Microsoft.SqlServer.Smo" publicKeyToken="89845dcd8080cc91" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-15.100.0.0" newVersion="15.100.0.0" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>

我不确切知道Visual Studio何时将其放在这里,但是当我删除它时,它可以工作。

=)

© www.soinside.com 2019 - 2024. All rights reserved.