1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > Visual Studio 常见问题及解决方案(持续更新)

Visual Studio 常见问题及解决方案(持续更新)

时间:2018-12-31 20:53:01

相关推荐

Visual Studio 常见问题及解决方案(持续更新)

1. “ sgen.exe ”已退出,代码为 1

解决方案:选定web项目,右键选择“属性”—“生成”,将“生成序列化程序集”设成“关闭”。若你使用的是Visual Studio ,请在“标准”工具栏将“解决方案配置”设置为Release模式(Visual Studio 默认使用Release模式发布 Web 应用),然后再进行上述操作即可。

2.“混合模式程序集是针对“v2.0.50727”版的运行时生成的,在没有配置其他信息的情况下,无法在 4.0 运行时中加载该程序集

异常原因:项目中调用的 SQLite 驱动(System.Data.Sqlite.dll,版本号:1.0.66.0)是针对.NET2.0环境开发的

解决方案:在项目的 app.config 中添加如下配置节:

<startup useLegacyV2RuntimeActivationPolicy="true">

<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>

</startup>

这段配置节的意思是(参考自MSDN,具体地址:/zh-cn/library/bbx34a2h.aspx):

注意:由于config配置文件的特性,如果在config配置文件中存在configSections节点,则必须将configSections作为第一上配置项,否则会引发异常:配置系统未能初始化。

在原来.NET2.0,.NET3.5的时候,由于程序运行环境本质还是.NET2.0,而到了.NET4.0由于整个程序集的版本更新,以前使用.NET2.0所编写的程序集与.NET4.0的程序集继续拧互操作的时候就会出现上面所说的兼容性问题。

通过MSDN,我们可以知道,startup配置节中的useLegacyV2RuntimeActivationPolicy属性是在.NET4.0中新增的,默认是false,表示:

如果当程序在.NET4.0环境下要使用.NET2.0及.NET3.5的程序时就必须将useLegacyV2RuntimeActivationPolicy设置为true,同时还要注意,需要在startup配置节的字节中添加supportedRuntime配置节,并指定为“v4.0”,表示使用.NET4.0运行时来运行程序。

有关更多startup及其子级可以查看MSDN:

startup:/zh-cn/library/bbx34a2h.aspx

supportedRuntime:/zh-cn/library/w4atty68.aspx

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。