问题描述:
</runtime>
.NET Framework4.0中CAS策略已经被弃用。在将早期的应用程序升级到4.0版本的时候,有时候会出现这个问题。
解决办法:
这时候为了兼容以往的程序,需要我们显示的启动CAS策略,办法是在应用程序中的配置文件中添加
<runtime>
<NetFx40_LegacySecurityPolicy enabled="true"/>
</runtime>
网上很多的解决办法是在devenv.exe.config(位于Visual Studio安装目录下)中添加这个配置节点,这种添加方法的弊端,重新打开VS后无法编译程序。
我们甚至可以修改machine.config文件,同样这种修改方式在重新打开VS时无法编译程序,并且修改这个问题还会对本机上其他的程序造成影响,一般我们不推荐这种做法。
最佳的解决方案是只修改我们应用程序的配置文件,app.config或是web.config文件。
需要注意的是配置文件的命名和存放位置的问题:app.config的文件名必须是应用程序名.exe.config,路径必须是应用程序的执行路径。我们可以通过Application .ExecutablePath获取应用程序名称(主要针对不能单独执行的程序,如用户自定义控件,Com组件等),通过Application .StartupPath获取当前的执行路径。