Microsoft ASP.NET MVC 安全更新 MS14-059 (KB2990942)

重要! 选择下面的语言后,整个页面内容将自动更改为该语言。

选择语言:

下载DirectX End-User Runtime Web Installer
此安全更新可解决 Microsoft ASP.NET MVC 2.0、MVC 3.0、MVC 4.0、MVC 5.0 和 MVC 5.1 的安全漏洞 MS14-059 (KB2990942)
详情
统要求
支持的操作系统
Windows 7 Service Pack 1, Windows Server 2003 Service Pack 2, Windows Server 2008 R2 SP1, Windows Server 2008 Service Pack 2, Windows Vista Service Pack 2, Windows XP Service Pack 3

权限要求: 运行可执行文件之前,必须对安装软件的计算机具有管理权限。有关其他信息,请参阅本文: 此处

软件要求:
ASP.NET MVC 2.0:
要求计算机上已安装 .NET Framework 3.5 SP1,请参阅此产品 .NET 3.5 SP1 的系统要求
ASP.NET MVC 3.0、ASP.NET MVC 4.0:
要求计算机上已安装 .NET Framework 4.0(或更高版本),请参阅此产品 .NET 4.0 的系统要求
ASP.NET MVC 5.0、ASP.NET MVC 5.1:
要求计算机上已安装 .NET Framework 4.5(或更高版本),请参阅此产品 .NET 4.5
的系统要求
安装说明
安装 Microsoft ASP.NET MVC (KB2990942) 的更新:
选择要安装的相应 ASP.NET MVC 版本(MVC 2.0、MVC 3.0、MVC 4.0、MVC 5.0 – KB2992080、MVC 5.1- KB2994397),然后单击此页面上的“下载”按钮开始下载。
或者,也可以单击“保存”将 .msi 安装程序文件下载到你的计算机。然后,导航到 .msi 文件的保存位置,双击 .msi 文件并按照安装程序中显示的说明操作
此 Microsoft ASP.NET MVC 安全更新也可以通过 Microsoft Update 自动更新。请参阅安全公告 ( MS14-059 ) 了解有关哪些用户将通过自动更新获得此项更新的详细信息

托管调试助手报错

今天在调试程序时出现下面的异常:
其他信息: CLR 无法从COM 上下文0x1a0e50 转换为COM 上下文0x1a0fc0,这种状态已持续60 秒。拥有目标上下文/单元的线程很有可能执行的是非泵式等待或者在不发送Windows 消息的情况下处理一个运行时间非常长的操作。这种情况通常会影响到性能,甚至可能导致应用程序不响应或者使用的内存随时间不断累积。要避免此问题,所有单线程单元(STA)线程都应使用泵式等待基元(如CoWaitForMultipleHandles),并在运行时间很长的操作过程中定期发送消息。
通过代码没有找出异常,网上有人说把,调试–异常中的contextswitchDeadlock选项去掉:

按照说明去掉后确实没有此问题,但不明白出现这种情况的原因是代码处理不恰当造成的,还是说编译器有问题,期待高手的赐教。

正试图在 os 加载程序锁内执行托管代码。不要尝试在 DllMain 或映像初始化函数内运行托管代码,这样做会导致应用程序挂起。

.NET2.0中增加了42种非常强大的调试助手(MDA,Loaderlock 是其中之一。Loaderlock检测在一个拥有操作系统loader lock的线程上(如上例的video的运行线程)运行托管代码的情况。这样做有可能会引起死锁,并且有可能在操作系统加载器初始化DLL前被使用。虽然这样做很有必要,但在进行开发调试的时候,实在太麻烦

这是由于正在加载特定资源:例如换肤控件时

办法一
把vs2005菜单的 调试->异常->Managed Debuggin Assistants->LoaderLock 的选中状态去掉
如果异常(exception)这一项没有的话,在工具—自定义—命令选项卡—左边选择调试–右边把异常托到菜单里
快捷键Ctrl+Alt+E,修改Managed Debuggin Assistants->LoaderLock 的选中状态去掉
方法二
在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework下面增加一个String,值为”0″
不过这样做,在该计算机上所有基于.NET2.0开发都得不到MDA的好处