zoukankan      html  css  js  c++  java
  • 转 C# .NET4.0 混合模式程序集异常

    1.引用Microsoft.DirectX.dll和Microsoft.DirectX.Directsound.dll这2个文件。
    2.项目属性里边,把目标平台改成X86。
    3.App.Config修改下:

    1 <?xml version="1.0"?>
    2 <configuration>
    3     <startup useLegacyV2RuntimeActivationPolicy="true"> 
    4       <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
    5     </startup>
    6 </configuration>

          在.NET 4.0 下使用 Dirext3D 托管库,出现“混合模式程序集是针对“v1.1.4322”版的运行时生成的,在没有配置其他信息的情况下,无法在 4.0 运行时中加载该程序集。”异常信息,查看程序集Microsoft.DirectX.dll、Microsoft.DirectX.Direct3D.dll、Microsoft.DirectX.Direct3DX,发现其.NET 运行时版本时v1.1.4322,也就是说D3D托管库是在 .NET v1.1 版本下编译生成的。

          在.NET4.0以前,由于程序运行环境本质还是.NET2.0,并且.NET2.0兼容.NET1.0和1.1,但在升级到.NET4.0时,.NET的内核作了重大调整,以前在.Net2.0或.net3.5中生成的程序集,如果要在.net4.0下运行,需要在配置文件中指定此应用程序支持的公共语言运行时版本和启用 .NET Framework 2.0 运行时激活策略,相应的App.config如下:

    1 <?xml version="1.0"?>
    2 <configuration>
    3   <startup useLegacyV2RuntimeActivationPolicy="true">
    4     <supportedRuntime version="v4.0"/>
    5   </startup>
    6 </configuration>

    参考自MSDN,具体地址:http://msdn.microsoft.com/zh-cn/library/bbx34a2h.aspx

    转自:http://blog.csdn.net/shenyc/article/details/7872300

  • 相关阅读:
    Lucene.Net
    关于数据库优化问题总结
    网页幻灯片效果
    ASP.NET邮件发送
    【收藏】悟透JavaScript(李战)
    JS之显示、隐藏控件方法
    初学自定义验证码
    js之判断浏览器类型及版本号
    js清空上传控件的值
    vs2008学习之路
  • 原文地址:https://www.cnblogs.com/hongyu/p/4923524.html
Copyright © 2011-2022 走看看