Exception 升级至2012年6月SDK后出现异常

Exception 升级至2012年6月SDK后出现异常,exception,azure,trace,Exception,Azure,Trace,我有一个使用2011年11月SDK启动并运行的项目,最近升级到2012年6月SDK。当我第一次看到这个错误时,我尝试了显而易见的删除引用并添加了更高版本,但是没有帮助。不知何故,似乎仍在请求1.0.0.0版。我还尝试删除引用并重新添加旧版本,但没有成功 下面是它如何显示在我的代码中。第一个命中的Trace.WriteLine现在报告以下异常: System.IO.FileLoadException未被用户代码消息处理=可能 未加载文件或程序集“Microsoft.WindowsAzure.Dia

我有一个使用2011年11月SDK启动并运行的项目,最近升级到2012年6月SDK。当我第一次看到这个错误时,我尝试了显而易见的删除引用并添加了更高版本,但是没有帮助。不知何故,似乎仍在请求1.0.0.0版。我还尝试删除引用并重新添加旧版本,但没有成功

下面是它如何显示在我的代码中。第一个命中的Trace.WriteLine现在报告以下异常:

System.IO.FileLoadException未被用户代码消息处理=可能 未加载文件或程序集“Microsoft.WindowsAzure.Diagnostics”, 版本=1.0.0.0,区域性=中性,PublicKeyToken=31bf3856ad364e35'或 它的一个依赖项。找到的程序集的清单定义 与程序集引用不匹配。(HRESULT的例外情况: 0x8013100)源=mscorlib
文件名=Microsoft.WindowsAzure.Diagnostics,版本=1.0.0.0, 区域性=中性,PublicKeyToken=31bf3856ad364e35 FusionLog==== 预绑定状态信息===LOG:User=NT AUTHORITY\NETWORK 服务日志:DisplayName=Microsoft.WindowsAzure.Diagnostics, 版本=1.0.0.0,区域性=中性,PublicKeyToken=31bf3856ad364e35 (完全指定)日志:Appbase= file:///F:/SVNProjects/myproject/SitePagesWebRole/ 日志:首字母 PrivatePath=F:\SVNProjects\myproject\SitePagesWebRole\bin调用 汇编:(未知)。 ==日志:此绑定在默认加载上下文中启动。日志:使用应用程序配置文件: F:\SVNProjects\myproject\SitePagesWebRole\web.config日志:使用主机 配置文件: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet.config日志: 使用来自的计算机配置文件 C:\Windows\Microsoft.NET\Framework64\v4.0.30319\config\machine.config。 日志:发布策略引用:Microsoft.WindowsAzure.Diagnostics, 版本=1.0.0.0,区域性=中性,PublicKeyToken=31bf3856ad364e35日志: 正在尝试下载新的URL file:///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/Temporary ASP.NET 文件/root/b117acb8/f240402/Microsoft.WindowsAzure.Diagnostics.DLL。 日志:正在尝试下载新URL file:///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/Temporary ASP.NET 文件/root/b117acb8/f2404402/Microsoft.WindowsAzure.Diagnostics/Microsoft.WindowsAzure.Diagnostics.DLL。 日志:正在尝试下载新URL file:///F:/SVNProjects/myproject/SitePagesWebRole/bin/Microsoft.WindowsAzure.Diagnostics.DLL. 警告:比较程序集名称导致不匹配:次要 版本错误:未能完成程序集的设置(hr=0x8013100)。 调查结束了

堆栈跟踪: 在System.RuntimeTypeHandle.GetTypeByName(字符串名称、布尔throwOnError、布尔ignoreCase、布尔reflectionOnly、, StackScrawMarkHandle stackMark,Boolean loadTypeFromPartialName, 对象(堆栈类型) 在System.RuntimeTypeHandle.GetTypeByName(字符串名称、布尔throwOnError、布尔ignoreCase、布尔reflectionOnly、, stackcrawmark&stackMark,Boolean loadTypeFromPartialName) at System.Type.GetType(字符串类型名) 位于System.Diagnostics.TraceUtils.GetRuntimeObject(字符串类名称、类型baseType、字符串初始化数据) 位于System.Diagnostics.TypedElement.BaseGetRuntimeObject()处 位于System.Diagnostics.ListenerElement.GetRuntimeObject()处 位于System.Diagnostics.ListenerElementsCollection.GetRuntimeObject()处 在System.Diagnostics.TraceInternal.get_Listeners()中 位于System.Diagnostics.TraceInternal.WriteLine(字符串消息) 在F:\SVNProjects\myproject\GameLogic\GameAPI.cs中的myproject.GameAPI.Login(Int64 fbid,Int64[]friends)登录:第119行
内部异常:


如何解决这个问题?

web/worker角色项目中的所有azure程序集引用都应指向1.7.0.0版本。您的ccproj文件应该包含

<ProductVersion>1.7</ProductVersion>
1.7
以确保Azure实例包含正确的基本程序集


您还可以检查Microsoft.WindowsAzure.Diagnostics是否已复制到输出/azure包。

检查您所有角色的web.config/app.config。请确保将对Microsoft.WindowsAzure.Diagnostics程序集的任何引用的版本号更改为版本1.7.0.0

以上内容对我不起作用(我看到的地方都是1.7),而是我浏览了每个项目,删除并重新添加了以以下内容开头的任何引用:

Microsoft.WindowsAzure.*

重新添加时,请确保上面显示的是1.7版。

就是这样。我不希望在配置文件中包含版本信息,因为您必须添加引用。