VS 2013的构建打破了以下错误:
C:\ Program Files(x86)\ MSBuild \ Microsoft \ VisualStudio \ v12.0 \ Windows Azure Tools \ 2.5 \ Microsoft.WindowsAzure.targets(684,5):错误: CloudServices58:无法加载名为“Diagnostics”的导入模块。
档案ServiceDefinition.csdef
:
<ServiceDefinition name="MYWEBPROJECTNAME.Azure"
xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition"
schemaVersion="2014-06.2.4">
<WebRole name="MYWEBPROJECTNAME" vmsize="Small">
<Imports>
<Import moduleName="Diagnostics" />
</Imports>
</WebRole>
</ServiceDefinition>
我已尝试从此处http://azure.microsoft.com/en-us/downloads/为VS 2013重新安装Azure SDK 2.5,但它没有帮助。
更新
它突破
<ValidateServiceFiles
ServiceDefinitionFile="@(SourceServiceDefinition)"
ServiceConfigurationFile="@(SourceServiceConfiguration)">
</ValidateServiceFiles>
ValidateServiceFiles
任务调用Microsoft.ServiceHosting.Tools.MSBuildTasks.ImportResolver
,但无法找到“诊断”模块。该任务从ImportedModules
任务项数组中获取其模块。
更新2
看起来VS 2012/2013安装有些混乱。在运行“VS2012 x86 Native Tools命令提示符”(%comspec% /k ""C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\vcvarsall.bat"" x86
)时,msbuild显示此错误。运行“Microsoft Azure命令提示符 - v2.5”(C:\Windows\System32\cmd.exe /E:ON /V:ON /K "C:\Program Files\Microsoft SDKs\Azure\.NET SDK\v2.5\\bin\setenv.cmd"
)时也一样。
C:\ SOMEPATH \ MYWEBPROJECTNAME.Azure.ccproj(72,3):错误MSB4019: 导入的项目“C:\ Program Files(x86)\ MSBuild \ Microsoft \ VisualStudio \ v11.0 \ 找不到Windows Azure Tools \ 2.5 \ Microsoft.WindowsAzure.targets“。 确认声明中的路径是否正确,以及该文件是否存在于磁盘上。
删除VS 2012并修复VS 2013没有帮助。
答案 0 :(得分:5)
我必须从我的csdef文件中删除该元素才能让我的项目进行编译。然后我跟着这个http://msdn.microsoft.com/en-us/library/azure/dn186185.aspx#BK_Migration
答案 1 :(得分:1)
Azure SDK 2.4和Azure SDK 2.5之间存在一种诊断方法。您可以在https://msdn.microsoft.com/en-us/library/azure/dn186185.aspx#BK_Migration了解更改。也就是说,我没有受到更改影响的代码,但ServiceDefinition.csdef导入了诊断程序。
<Imports>
<Import moduleName="Diagnostics" />
<Import moduleName="RemoteAccess" />
<Import moduleName="Caching" />
</Imports>
错误是在Microsoft.WindowsAzure.targets中支持的。由于我没有代码取决于这些模块导入,我只是注释掉了两个引用和构建的东西。