System.Transactions.Diagnostics.DiagnosticTrace 的类型初始值设定项引发异常。配置系统未能初始化


作者Attilax ,

原因:
---------
因为系统安装了多个.NET环境.比如2.0,3.5, 4.0 ,而导致程序使用最新.NET FRAMEWORK4.0或者最后安装的.NET版本???.. 但是程序是用.NET2.0开发的..
.NET2.0,3.5用的是CLR2.0,而.NET4.0用的CLR版本是CLR4.0 .....所以有不兼容的问题.








解决方法:修改app.config,指定程序使用的.NET版本.
---------------------


在运行程序同目录下建文件:程序名称.exe.config


<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <startup useLegacyV2RuntimeActivationPolicy="true">
    <supportedRuntime version="v4.0"/>
  </startup>
</configuration>


激活.net 2.0 策略 ,即使用CLR2.0来加载此APP..
useLegacyV2RuntimeActivationPolicy="true" 




说明:
---------------
startup配置节中的useLegacyV2RuntimeActivationPolicy属性是在.NET4.0中新增的


参考 :
------------------
安装.net 4.0 后,.net 2.0 程序无法使用解决方法


.NET2.0程序集无法在.net 4.0 中运行的解决方案