Visual Studio 常见问题及解决方案(持续更新)
1. “ sgen.exe ”已退出,代碼為 1
解決方案:選定web項目,右鍵選擇“屬性”—“生成”,將“生成序列化程序集”設成“關閉”。若你使用的是Visual Studio 2012,請在“標準”工具欄將“解決方案配置”設置為 Release 模式(Visual Studio 2012 默認使用 Release 模式發(fā)布 Web 應用),然后再進行上述操作即可。
2.“混合模式程序集是針對“v2.0.50727”版的運行時生成的,在沒有配置其他信息的情況下,無法在 4.0 運行時中加載該程序集”
????? 異常原因:項目中調用的 SQLite 驅動(System.Data.Sqlite.dll,版本號:1.0.66.0)是針對.NET2.0環(huán)境開發(fā)的
????? 解決方案:在項目的 app.config 中添加如下配置節(jié):
這段配置節(jié)的意思是(參考自MSDN,具體地址:http://msdn.microsoft.com/zh-cn/library/bbx34a2h.aspx):
| ???? 啟用 .NET Framework 2.0 版 運行時激活策略,這是通過使用最新支持的運行時加載所有程序集。 |
注意:由于config配置文件的特性,如果在config配置文件中存在configSections節(jié)點,則必須將configSections作為第一上配置項,否則會引發(fā)異常:配置系統(tǒng)未能初始化。
在原來.NET2.0,.NET3.5的時候,由于程序運行環(huán)境本質還是.NET2.0,而到了.NET4.0由于整個程序集的版本更新,以前使用.NET2.0所編寫的程序集與.NET4.0的程序集繼續(xù)擰互操作的時候就會出現(xiàn)上面所說的兼容性問題。
通過MSDN,我們可以知道,startup配置節(jié)中的useLegacyV2RuntimeActivationPolicy屬性是在.NET4.0中新增的,默認是false,表示:
| 使用默認的 .NET Framework 4 激活策略,該激活策略將加載 .NET Framework 4 通過使用公共語言運行時 (CLR) 版本 4 所創(chuàng)建的程序集,以及 CLR 早期版本通過使用受支持的低于版本 4 的最高 CLR 版本所創(chuàng)建的程序集。 |
如果當程序在.NET4.0環(huán)境下要使用.NET2.0及.NET3.5的程序時就必須將useLegacyV2RuntimeActivationPolicy設置為true,同時還要注意,需要在startup配置節(jié)的字節(jié)中添加supportedRuntime配置節(jié),并指定為“v4.0”,表示使用.NET4.0運行時來運行程序。
有關更多startup及其子級可以查看MSDN:
startup:http://msdn.microsoft.com/zh-cn/library/bbx34a2h.aspx
supportedRuntime:http://msdn.microsoft.com/zh-cn/library/w4atty68.aspx
轉載于:https://www.cnblogs.com/gb2013/archive/2013/02/28/2936108.html
總結
以上是生活随笔為你收集整理的Visual Studio 常见问题及解决方案(持续更新)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 大四中软实习笔记20130226
- 下一篇: ExtJS学习:MVC模式案例(三)