【问题标题】:How to overcome "Could not load type 'Microsoft.Cct.Services.Sqm.IWatSqmService'" without updating?如何在不更新的情况下克服“无法加载类型'Microsoft.Cct.Services.Sqm.IWatSqmService'”?
【发布时间】:2017-01-13 09:08:53
【问题描述】:

我收到与此问题相同的错误消息:Could not load type 'Microsoft.Cct.Services.Sqm.IWatSqmService' 不幸的是,我无法升级到 Azure SDK 2.9,正如那里的最佳答案所示。

具体来说,每当我尝试打包我的 Azure 云服务项目时,我都会在消息框中收到此错误:

有趣的是我可以在模拟器中启动同一个项目,我认为这涉及到打包它。

我尝试过的事情:

  1. 确保我只安装了 2.8.2 版的模拟器(我最初可能安装了 2.9 版)
  2. 重新安装 SDK 2.8.2 版
  3. 手动将 Windows Azure ToolsC:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v10.0 复制到 v14.0 等效项。
  4. 确保C:\Program Files\Microsoft SDKs\Azure\.NET SDK\v2.8 存在
  5. 重新安装 Visual Studio(所以你知道我很绝望!)

我不知道接下来要尝试什么。我无法确定哪个 DLL 应该包含 Microsoft.VisualStudio.WindowsAzure.Services 程序集,我在任何配置文件中都找不到任何引用,并且所有 Google 命中似乎都指向上面链接的 SO 问题。

发生了什么事?我该如何解决?


如果我是个白痴,这里是我安装的所有与 Azure 相关的东西:

另外(以防万一)我使用的是 Windows 7 SP1。


17/01/16 更新

根据优秀的 Rest Azured Slack channel 的一些建议,我尝试使用 ProcMon 和 Fusion Log 来诊断这个问题(剧透:没有成功

过滤到该程序集的 ProcMon 不返回任何内容:

Fusion 日志(设置为记录所有内容)会产生很多这样的条目:

* 组装活页夹日志条目 (17/01/2017 @ 11:52:02) *

操作成功。绑定结果:hr = 0x0。操作 顺利完成。

程序集管理器从以下位置加载: C:\Windows\Microsoft.NET\Framework\v4.0.30319\clr.dll 下运行 可执行文件 C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\devenv.exe --- 详细的错误日志如下。

=== 预绑定状态信息 === LOG: DisplayName = Microsoft.VisualStudio.WindowsAzure.Services, Version=1.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a(完全指定) 日志:Appbase = file:///C:/Program Files (x86)/Microsoft Visual Studio 14.0/Common7/IDE/ LOG: Initial PrivatePath = NULL LOG: Dynamic Base = NULL LOG: Cache Base = NULL LOG: AppName = devenv.exe 调用程序集 :Microsoft.VisualStudio.WindowsAzure,版本=2.9.0.0, 文化=中性,PublicKeyToken=b03f5f7f11d50a3a。 === 警告:将不会在 LoadFrom 上下文中探测本机图像。本机图像只会在默认加载上下文中被探测,例如 程序集.加载()。警告:未找到匹配的本机图像。日志:IL 程序集 从 C:\Program Files (x86)\Microsoft Visual Studio 加载 14.0\Common7\IDE\Extensions\Microsoft\Windows Azure 工具\Microsoft.VisualStudio.WindowsAzure.Services.dll。

当我探索提到的 DLL 时,我可以找到 Microsoft.Cct.Services.Sqm,但它不包含类型 IWatSqlService

感觉这是问题的症结所在,但我不知道下一步该做什么。大概我需要用定义IWatSqlService 的版本替换DLL,但我不确定我会从哪里得到一个。或者,就此而言,为什么它甚至是必要的。

下一站可能是彻底清除机器。

【问题讨论】:

  • 您的意思是您已经按照上述类似问题卸载了所有与 azure 相关的东西并将您的 azure 项目更新/更改为等效版本吗?
  • @Bruce-MSFT 我已经尝试了所有除了升级到 2.9,因为这不是我的选择。不过,我已经尝试了帖子中的所有其他内容。
  • 我在 2.9 中也遇到了这个错误,相关问题表明这是一个修复,但它并没有真正起作用
  • 嗨@Cyber​​Dude。对不起,你也在挣扎。另一个问题也是我能找到的唯一另一个问题。如果您找到解决方案,我会非常渴望听到它。与此同时,我接下来要做的似乎是将我的机器从轨道上发射出去。 :(
  • 到目前为止,我只能注意到尽管发布错误,网络角色似乎可以正常运行......但是不要以此作为保证,我自己并没有真正测试整个事情,我只帮助将其部署到 Azure,然后其他人将验证所有端点是否都在做他们应该做的事情。

标签: visual-studio visual-studio-2015 azure-sdk-.net


【解决方案1】:

我也遇到过同样的问题,通过不使用Web Platform Installer解决了。

从 Microsoft 站点:https://www.microsoft.com/en-us/download/details.aspx?id=50041 下载所有部件(Microsoft Azure SDK for .NET - 2.8.2)并按照说明进行安装。

【讨论】:

    【解决方案2】:

    对于其他有此问题的人。我最终通过从轨道上对其进行核爆解决了这个问题。全新安装 Windows,重新安装 VS 和 SDK。

    【讨论】:

      【解决方案3】:

      令人困惑的是,当你添加一个新的时,你也可以看到这个错误

      <setting name="TODO" />
      

      元素添加到您的 *.csdef 文件中,但是:

      1. 忘记给每个*.cscfg file添加对应的&lt;setting name="TODO" value="TODO" /&gt;元素,或者

      2. 不小心将重复的&lt;setting name="TODO" value="TODO" /&gt; 元素添加到任何*.cscfg 文件中。

      【讨论】:

        猜你喜欢
        • 2017-04-13
        • 2021-01-10
        • 1970-01-01
        • 1970-01-01
        • 2015-06-04
        • 1970-01-01
        • 2021-07-17
        • 1970-01-01
        • 2021-12-10
        相关资源
        最近更新 更多