无法加载类型' Microsoft.Cct.Services.Sqm.IWatSqmService'

时间:2016-11-29 08:31:04

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

从Visual Studio 2015发布我的云服务时出现此错误:

10:11:26 AM - Instance 0 of role MySite is ready
10:11:26 AM - Instance 1 of role MySite is ready
10:11:27 AM - Starting...
10:11:45 AM - Initializing...
10:11:46 AM - Created web app URL: http://mysite.cloudapp.net/
10:11:46 AM - Complete.
10:11:46 AM - Could not load type 'Microsoft.Cct.Services.Sqm.IWatSqmService' from assembly 'Microsoft.VisualStudio.WindowsAzure.Services, Version=1.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'.

这在部署结束时发生,并且该站点似乎已部署,但Visual Studio仍然表示部署失败。我该如何解决这个问题?

4 个答案:

答案 0 :(得分:17)

我今天解决了这个问题,看到你们也有。让我度过了重新安装SDK和运行修复的坚实日子,没有解决方案。在Azure SDK 2.9.x之前和安装最新2.9.6 SDK之后创建的项目上会出现问题。无论出于何种原因 - Visual Studio似乎无法正确识别项目的旧版本 - 即组件的位置 - 因此无法加载类型'。通常,它会提示您升级解决方案 - 但这会失败,因此这里是手动查看升级是否可用或自行执行升级的方法。

检查升级

  • 右键单击Azure Cloud项目(假设您已安装Azure SDK NET) 2.9.6)并单击属性

  • 导航到“应用程序”标签(如果没有)并看到一条消息( 旧版本)单击此处将项目升级到最新的SDK 格式。

手动替代
在&#34; AZURE.CCPROJ&#34;中转换一条线(约9行)。 Azure Solution文件夹中的文件:<ProductVersion>2.8</ProductVersion>需要为 的 <ProductVersion>2.9</ProductVersion>

转换同一文件中的另一行(约66行):
<CloudExtensionsDir Condition=" '$(CloudExtensionsDir)' == '' ">$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v$(VisualStudioVersion)\Windows Azure Tools\2.8\</CloudExtensionsDir>

要:
<CloudExtensionsDir Condition=" '$(CloudExtensionsDir)' == '' ">$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v$(VisualStudioVersion)\Windows Azure Tools\2.9\</CloudExtensionsDir>

之后清理解决方案,关闭解决方案,然后重新启动Visual Studio并打开项目。

注意:之后您可能会收到调试失败的错误,声称它无法找到特定文件夹。不要担心并尝试从&#34; Debug&#34;更改配置。其中一个配置选项 - 我认为一些较旧的项目使用配置&#34;开发&#34;用于调试。这是一个案例。

注意2:对于那些无法升级的人,您应该尝试重新安装SDK 2.8.2并验证\ 2.8 \文件夹是否存在。还需要首先卸载2.9.6 - Azure模拟器等先决条件无法与其他版本共存。

答案 1 :(得分:1)

根据您的描述,将Azure SDK更新为2.9.6时似乎出现了问题。对于此类型的问题,我建议您重新安装Azure SDK。它应该解决这个问题。我们可以在this link下载SDK。请试一试。如果您仍有一些问题,请返回更详细的信息。

答案 2 :(得分:1)

我在2.8项目的Visual Studio 2013中工作时得到了这个。我安装了2.8和2.9。

我的问题是,当我没有正确地将CloudConfigurationManager.GetSetting("your.setting.here").cscfg文件添加到.csdef时,我正在使用{{1}}。

检查是否已定义所有设置,并且您也引用了正确的Microsoft.WindowsAzure.Storage DLL,因为这可以与CloudConfigurationManager设置一起使用。

答案 3 :(得分:0)

对我来说有用的只是卸载所有SDK 2.7相关并将我的Azure项目升级到2.9,如@MikkelMørkHegnhøj所述