首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >无法在部署到云时加载文件或程序集的Microsoft.WindowsAzure.ServiceRuntime、Version=1.8.0.0

无法在部署到云时加载文件或程序集的Microsoft.WindowsAzure.ServiceRuntime、Version=1.8.0.0
EN

Stack Overflow用户
提问于 2013-01-07 10:27:35
回答 3查看 36.4K关注 0票数 16

我有一个在本地运行良好的MVC 4应用程序,但在部署到Azure时会出现以下消息:

[FileNotFoundException: Could not load file or assembly Microsoft.WindowsAzure.ServiceRuntime, Version=1.8.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.] Microsoft.WindowsAzure.Diagnostics.DiagnosticMonitor.GetDefaultStartupInfoForCurrentRoleInstance() +0 Microsoft.WindowsAzure.Diagnostics.DiagnosticMonitorTraceListener..ctor() +40

我已经确保引用了Microsoft.WindowsAzure.ServiceRuntime版本1.8,并将其设置为copy local。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-01-08 04:49:42

因此,从您的屏幕截图看,您创建了一个Web站点(不是云服务或Web角色)。不能在网站中使用程序集Microsoft.WindowsAzure.DiagnosticsMicrosoft.WindowsAzure.ServiceRuntime

如果要创建Web角色,请打开Visual Studio >文件>新建项目>云> Windows Azure云服务>添加MVC Web角色>确定。完成后,右键单击项目并选择Publish Azure。这将允许您创建新的云服务,其中将包含您的Web角色。如果您像这样创建项目,您将能够使用Microsoft.WindowsAzure.Diagnostics和Microsoft.WindowsAzure.ServiceRuntime程序集。

票数 19
EN

Stack Overflow用户

发布于 2013-01-08 00:21:37

检查项目中的引用,并确保所有Azure引用都标记为Copy Local = True。此外,由于应用程序正在寻找运行时版本1.8,显然您至少使用了SDK1.8中的一个程序集- C:\Program Files\Microsoft \Windows Azure.NET SDK\2012-10\ref...备注: 2012-10。然后检查正在使用的参考版本:

  • 诊断程序: 1.8.0.0
  • Runtime: 1.8.0.0

这种程序集不匹配通常是因为您引用了不同的SDK版本和/或您的引用没有标记为copy local = true。

至于Azure分类,有网站(在网站下的门户上)和云服务,可以有WebRoles (网站,wcf服务)或WorkerRoles (后端处理)。

对于CloudServices,操作系统系列和GuestOS在ServiceConfiguration.cscfg文件的"ServiceConfiguration“元素中指定:

代码语言:javascript
复制
<ServiceConfiguration serviceName="MyWebRole" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceConfiguration" osFamily="3" osVersion="*" schemaVersion="2012-10.1.8">

osFamily 2=服务器2008R2,3=服务器2012。osVersion指定了GuestOS,对于最新版本,它几乎总是应该是"*“。

如果所有其他方法都失败了,并且在bin中耗尽了正确的DLL,请尝试在web.config中添加程序集绑定重定向:

代码语言:javascript
复制
<dependentAssembly>
  <assemblyIdentity name="Microsoft.WindowsAzure.ServiceRuntime" publicKeyToken="31bf3856ad364e35" />
  <bindingRedirect oldVersion="1.0.0.0-1.8.0.0" newVersion="1.8.0.0" />
</dependentAssembly>
票数 12
EN

Stack Overflow用户

发布于 2013-01-07 21:52:28

由于您在尝试启动DiagnosticMonitor时遇到错误,您是否可以检查您是否也引用了1.8版本的Microsoft.WindowsAzure.Diagnostics

它应该位于C:\Program Files\Microsoft \Windows\2012-06\ Azure.NET。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14189071

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档