国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當前位置: 首頁 - 科技 - 知識百科 - 正文

解決.net framework 4.0環境下遇到版本不同編譯不通過的方法詳解

來源:懂視網 責編:小采 時間:2020-11-27 22:41:03
文檔

解決.net framework 4.0環境下遇到版本不同編譯不通過的方法詳解

解決.net framework 4.0環境下遇到版本不同編譯不通過的方法詳解:本文內容:1.問題引出2.問題解決3.原因分析 最近部門的開發環境都更新到了WIN7+.NET framework4+VS2010上,在體驗新技術和新環境帶給我們提高效率的方式方法的同時也帶來了一些兼容性的問題;這幾天項目閑暇時在研究SQLite,在做實驗的時候碰到個問題,代
推薦度:
導讀解決.net framework 4.0環境下遇到版本不同編譯不通過的方法詳解:本文內容:1.問題引出2.問題解決3.原因分析 最近部門的開發環境都更新到了WIN7+.NET framework4+VS2010上,在體驗新技術和新環境帶給我們提高效率的方式方法的同時也帶來了一些兼容性的問題;這幾天項目閑暇時在研究SQLite,在做實驗的時候碰到個問題,代

本文內容:
1.問題引出
2.問題解決
3.原因分析 

最近部門的開發環境都更新到了WIN7+.NET framework4+VS2010上,在體驗新技術和新環境帶給我們提高效率的方式方法的同時也帶來了一些兼容性的問題;這幾天項目閑暇時在研究SQLite,在做實驗的時候碰到個問題,代碼編譯通過執行時反復異常中斷,查到后面原來是SQLite.dll是在framework2.0環境下編譯的而現在的運行環境是framework4.0,所以就出現了運行異常,如圖:
    

由于以后的開發過程中,可能會引用一些第三方的組件,有可能是老的framework版本下編譯的,同樣會出現此類的問題,所以在本文中提供一個解決辦法和說明造成此問題的原因。

查閱了相關資料,stackoverflow.com上建議在config文件中增加配置:
代碼如下:
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0"/>
</startup>

MSDN上也對此方法進行了闡述,參見http://msdn.microsoft.com/en-us/library/bbx34a2h(VS.100).aspx

但是使用此方法編譯后問題仍然沒有解決,但是問題可以明確鎖定為.net runtime環境的問題了。
代碼如下:
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0"/>
<requiredRuntime version="v4.0.30319" />
</startup>

再次運行,問題解決。這下需要了解是什么原因造成的?
supportedRuntime標簽用來 具體說明應用程序支持的是哪個.framework運行時的版本;
requiredRuntime標簽用來 具體說明應用程序只支持1.0版本的公用語言運行時間。如果使用1.1版本或者后面的版本來編譯,應用程序必須使用<supportedRuntime>元素;
注意:
<supportedRuntime>必須通過1.1版本或后面的版本而編譯的應用程序來使用。只支持1.0版本的運行時間的應用程序必須使用<requiredRuntime>。

再次查閱CLR Runtime版本的相關資料,引用以下CLR運行規則和各版本間關系匯總表格,如下:
規則:
1. CLR4.0及以上版本編譯的應用程序總是運行在應用程序所被編譯的CLR版本上;
2. CLR4.0以下版本編譯的應用程序優先運行在被編譯的CLR版本上,如果此版本不存在,則運行最新的小于CLR4.0的版本;
匯總如下:

EXE被編譯的CLR版本號

機器上安裝有CLR 1.1?

機器上安裝有CLR 2.0?

機器上安裝有CLR 4.0?

結果

1.1

無所謂

無所謂

加載CLR 1.1

2.0

無所謂

無所謂

加載CLR 2.0

1.1

無所謂

加載CLR 2.0

1.1

失敗

2.0

無所謂

失敗

至此我們就能很清楚的搞清各個CLR版本之間的聯系了。

總結:微軟每次版本升級都會造成一些新的問題的出現,早年從CLRv1.0到CLRv2.0曾經也造成很多的困惑,可能也是由于過大的組織造成不能面面俱到吧,希望在今后的版本升級中能真正做到無縫的版本聯接。

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

解決.net framework 4.0環境下遇到版本不同編譯不通過的方法詳解

解決.net framework 4.0環境下遇到版本不同編譯不通過的方法詳解:本文內容:1.問題引出2.問題解決3.原因分析 最近部門的開發環境都更新到了WIN7+.NET framework4+VS2010上,在體驗新技術和新環境帶給我們提高效率的方式方法的同時也帶來了一些兼容性的問題;這幾天項目閑暇時在研究SQLite,在做實驗的時候碰到個問題,代
推薦度:
標簽: 4.0 net framework
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top
主站蜘蛛池模板: 久久激情综合网 | 香蕉午夜视频 | 欧美精品第一页 | 久久精品无遮挡一级毛片 | 国产在线视频专区 | 香蕉国产精品 | 亚洲第一页在线视频 | 国产毛片不卡 | 在线一区观看 | 久久国产精品自由自在 | 另类国产精品一区二区 | 日韩欧美国产精品第一页不卡 | 青青国产成人久久91网站站 | 欧美激情亚洲激情 | 一区欧美 | 91资源在线播放 | 国产成人精品一区二区三区… | 一级全黄毛片 | 国产一区在线看 | 亚洲永久精品一区二区三区 | 久久久久国产精品美女毛片 | 欧美在线观看成人高清视频 | 亚洲欧美视频在线 | 亚洲欧洲中文字幕 | 91伊人国产 | 欧美人与动性xxxxx杂性 | 亚洲 欧美 成人日韩 | 精品国产免费一区二区三区五区 | 欧美日韩国产一区二区 | 国产欧美日 | 亚洲欧美日韩在线播放 | 福利视频一区二区三区 | 不卡日本 | 亚洲免费网站观看视频 | 欧美精品一区二区三区久久 | 中文字幕日韩欧美 | 一区精品麻豆经典 | 91久久国产综合精品 | 香蕉久久一区二区不卡无毒影院 | 美女视频黄全免费的 | 国产精品资源在线观看 |