【问题标题】:Error: Could not load file or assembly Microsoft.AnalysisServices.AdomdClientUI错误:无法加载文件或程序集 Microsoft.AnalysisServices.AdomdClientUI
【发布时间】:2018-05-10 06:31:53
【问题描述】:

我是分析服务的新手。当我尝试在命令提示符下使用 dtexec 命令执行 ssis 包时,出现错误:

无法加载文件或程序集 Microsoft.AnalysisServices.AdomdClientUI.dll 版本 13.0.0.0

我尝试了一些在互联网上找到的解决方案,但没有奏效。

感谢您的建议。

【问题讨论】:

    标签: ssis ssas sql-server-data-tools


    【解决方案1】:

    SQL_AS_ADOMD.msi 包括 Microsoft.AnalysisServices.AdomdClient.dll,但不包括 Microsoft.AnalysisServices.AdmomdClientUI.dll。

    Microsoft.AnalysisServices.AdmomdClientUI.dll 包含在 SQL Management Studio 中,但由于调用了新方法,我作为替换的版本 13.0.1700.441 失败,并且我无法找到匹配的 SQL 2016 SP2 版本。大概现在正在等待 Microsoft 的修补程序。

    【讨论】:

      【解决方案2】:

      编辑 20180604:Cumulative Update 1 for SQL Server 2016 SP2 修复了该问题。

      20180604 之前的答案:现在有针对此错误的解决方法,已发布 here:

      有一个错误,它可能会在我已经修复的 SP2 CU1 中得到纠正 被告知将在月底发布。我们有一个 来自 MS 的解决方法建议,但这还不够。

      简而言之:提供的解决方法不能按原样工作,但我发现 现在还可以做什么呢?它现在可以在带有 SP2 的服务器上运行

      更长:提供的解决方法不能按原样工作,因为它可以 注册正确的程序集和正确的版本(v14),但是当 包运行它仍然会搜索以前的版本 v13。一世 已经测试过,即使我的笔记本电脑上有 SP2,情况也是如此, 在 SSIS 项目中重建所有内容并进行部署——它仍然是 v13 正在寻找。注册程序集的 v13 无济于事,因为 该版本没有被调用的方法,因此只会 导致其他错误消息。

      我在服务器上做的解决方案是在 .NET machine.config 以便在搜索 v13 时使用 v14 为。

      我做了一步一步,从提升的 CMD 运行:

      1:注册程序集:"C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A\bin\NETFX 4.5.1 Tools\x64\gacutil.exe" /i "C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\PrivateAssemblies\Microsoft.AnalysisServices.AdomdClientUI.dll"

      您应该会在 GAC 中成功注册消息一程序集。

      2:(可选)验证注册:

      "C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A\bin\NETFX 4.5.1 Tools\x64\gacutil.exe" /l Microsoft.AnalysisServices.AdomdClientUI

      您应该会看到已注册版本 14.0.0.0 的消息

      3:在 machine.config 中配置版本重定向(当 编辑!!)

      要编辑的文件: "C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config\machine.config"

      要添加内容的元素是

      配置/运行时

      在我修复它的服务器上,这个元素是完全空的,即

      <runtime/>
      

      如果它不为空,当然保留元素中的内容并添加 如下所示的 assemblyBinding 元素。

      更改/添加以使整个元素包含此内容:

      <runtime>
        <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
          <dependentAssembly>
            <assemblyIdentity name="Microsoft.AnalysisServices.AdomdClientUI"
                              publicKeyToken="89845dcd8080cc91"
                              culture="neutral"/>
            <bindingRedirect oldVersion="13.0.0.0"
                             newVersion="14.0.0.0" />
          </dependentAssembly>
        </assemblyBinding>
      </runtime>
      

      5:保存文件。该软件包现在应该可以工作了。

      安装 CU1 中的修复程序后,应执行以下步骤:

      1:移除上面添加的assemblyBinding元素并保存文件

      2:删除添加到 GAC 的 dll:“C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A\bin\NETFX 4.5.1 Tools\x64\gacutil.exe” /u Microsoft.AnalysisServices.AdomdClientUI

      在我的服务器中,“C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\PrivateAssemblies\Microsoft.AnalysisServices.AdomdClientUI.dll”是第 13 版,因此在第 1 步中注册了 v13(您可以通过右键单击/属性然后单击详细信息选项卡来检查版本。

      为了解决这个问题,我:

      1. 未注册的 v13 使用“C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A\bin\NETFX 4.5.1 Tools\x64\gacutil.exe”/u Microsoft.AnalysisServices.AdomdClientUI
      2. 将 v14 从安装了 VS 的计算机复制到“C:\Program Files\”
      3. 对于第 1 步,我执行了 "C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A\bin\NETFX 4.5.1 Tools\x64\gacutil.exe" /i "C:\Program Files \Microsoft.AnalysisServices.AdomdClientUI.dll"

      修复到达时的步骤保持不变(除了删除“C:\Program Files\Microsoft.AnalysisServices.AdomdClientUI.dll”)。

      注意:如果您在 32 位而不是 64 位中运行包,则需要编辑的 machine.config 位于 c:\Windows\Microsoft.NET\Framework\v4.0.30319 \Config\machine.config

      【讨论】:

        【解决方案3】:

        您可以从 MS SQL Server 功能包组件 SQL_AS_ADOMD.msi 中获取 Microsoft.AnalysisServices.AdomdClientUI.dll。

        大概你有SQL server 2016,所以你可以从SQL 2016 Feature Pack得到它。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2010-10-07
          • 2023-03-05
          • 1970-01-01
          • 2013-02-23
          • 2015-09-25
          • 2016-12-23
          • 1970-01-01
          相关资源
          最近更新 更多