解決.net framework 4.0環(huán)境下遇到版本不同編譯不通過的方法詳解_.Net教程
推薦:將文件上傳、下載(以二進(jìn)制流保存到數(shù)據(jù)庫)實(shí)現(xiàn)代碼將文件以二進(jìn)制流的格式寫入數(shù)據(jù)庫:首先獲得文件路徑,然后將文件以二進(jìn)制讀出保存在一個(gè)二進(jìn)制數(shù)組中具體請(qǐng)祥看本文,希望對(duì)你有所幫助
本文內(nèi)容:
1.問題引出
2.問題解決
3.原因分析
最近部門的開發(fā)環(huán)境都更新到了WIN7+.NET framework4+VS2010上,在體驗(yàn)新技術(shù)和新環(huán)境帶給我們提高效率的方式方法的同時(shí)也帶來了一些兼容性的問題;這幾天項(xiàng)目閑暇時(shí)在研究SQLite,在做實(shí)驗(yàn)的時(shí)候碰到個(gè)問題,代碼編譯通過執(zhí)行時(shí)反復(fù)異常中斷,查到后面原來是SQLite.dll是在framework2.0環(huán)境下編譯的而現(xiàn)在的運(yùn)行環(huán)境是framework4.0,所以就出現(xiàn)了運(yùn)行異常,如圖:
由于以后的開發(fā)過程中,可能會(huì)引用一些第三方的組件,有可能是老的framework版本下編譯的,同樣會(huì)出現(xiàn)此類的問題,所以在本文中提供一個(gè)解決辦法和說明造成此問題的原因。
查閱了相關(guān)資料,stackoverflow.com上建議在config文件中增加配置:
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0"/>
</startup>
MSDN上也對(duì)此方法進(jìn)行了闡述,參見http://msdn.microsoft.com/en-us/library/bbx34a2h(VS.100).aspx
但是使用此方法編譯后問題仍然沒有解決,但是問題可以明確鎖定為.net runtime環(huán)境的問題了。
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0"/>
<requiredRuntime version="v4.0.30319" />
</startup>
再次運(yùn)行,問題解決。這下需要了解是什么原因造成的?
supportedRuntime標(biāo)簽用來 具體說明應(yīng)用程序支持的是哪個(gè).framework運(yùn)行時(shí)的版本;
requiredRuntime標(biāo)簽用來 具體說明應(yīng)用程序只支持1.0版本的公用語言運(yùn)行時(shí)間。如果使用1.1版本或者后面的版本來編譯,應(yīng)用程序必須使用<supportedRuntime>元素;
注意:
<supportedRuntime>必須通過1.1版本或后面的版本而編譯的應(yīng)用程序來使用。只支持1.0版本的運(yùn)行時(shí)間的應(yīng)用程序必須使用<requiredRuntime>。
再次查閱CLR Runtime版本的相關(guān)資料,引用以下CLR運(yùn)行規(guī)則和各版本間關(guān)系匯總表格,如下:
規(guī)則:
1. CLR4.0及以上版本編譯的應(yīng)用程序總是運(yùn)行在應(yīng)用程序所被編譯的CLR版本上;
2. CLR4.0以下版本編譯的應(yīng)用程序優(yōu)先運(yùn)行在被編譯的CLR版本上,如果此版本不存在,則運(yùn)行最新的小于CLR4.0的版本;
匯總?cè)缦拢?/FONT>
至此我們就能很清楚的搞清各個(gè)CLR版本之間的聯(lián)系了。
總結(jié):微軟每次版本升級(jí)都會(huì)造成一些新的問題的出現(xiàn),早年從CLRv1.0到CLRv2.0曾經(jīng)也造成很多的困惑,可能也是由于過大的組織造成不能面面俱到吧,希望在今后的版本升級(jí)中能真正做到無縫的版本聯(lián)接。
分享:Web里URL空格的轉(zhuǎn)換方法今天收到一個(gè)Bug修復(fù)的任務(wù),Bug為在頁面上輸入一個(gè)文件夾名包含空格,點(diǎn)擊該文件夾的URL后鏈接錯(cuò)誤。
- asp.net如何得到GRIDVIEW中某行某列值的方法
- .net SMTP發(fā)送Email實(shí)例(可帶附件)
- js實(shí)現(xiàn)廣告漂浮效果的小例子
- asp.net Repeater 數(shù)據(jù)綁定的具體實(shí)現(xiàn)
- Asp.Net 無刷新文件上傳并顯示進(jìn)度條的實(shí)現(xiàn)方法及思路
- Asp.net獲取客戶端IP常見代碼存在的偽造IP問題探討
- VS2010 水晶報(bào)表的使用方法
- ASP.NET中操作SQL數(shù)據(jù)庫(連接字符串的配置及獲取)
- asp.net頁面?zhèn)髦禍y(cè)試實(shí)例代碼
- DataGridView - DataGridViewCheckBoxCell的使用介紹
- asp.net中javascript的引用(直接引入和間接引入)
- 三層+存儲(chǔ)過程實(shí)現(xiàn)分頁示例代碼
.Net教程Rss訂閱編程教程搜索
.Net教程推薦
- Asp.net三層結(jié)構(gòu)中的變量引用與傳遞
- 怎么在ASP.NET中使用SmtpMail發(fā)送郵件
- .net全局定時(shí)定期執(zhí)行某些操作在Global.asax中具體實(shí)現(xiàn)
- 解析在ASP.NET中調(diào)用存儲(chǔ)過程的方法
- 解析五種ADO.NET數(shù)據(jù)庫連接知識(shí)
- 談?wù)凥tmlControl與WebControl的區(qū)別與用途
- ASP.NET學(xué)習(xí)篇(3)——幾個(gè)簡(jiǎn)單的ASP.ENT的例子
- 解讀在Visual C# .NET中跟蹤和調(diào)試
- ASP.Net常用功能整理--生成圖片的縮略圖
- 解析TABLE導(dǎo)入到EXCEL
- 相關(guān)鏈接:
- 教程說明:
.Net教程-解決.net framework 4.0環(huán)境下遇到版本不同編譯不通過的方法詳解。