• <fieldset id="8imwq"><menu id="8imwq"></menu></fieldset>
  • <bdo id="8imwq"><input id="8imwq"></input></bdo>
    最新文章專題視頻專題問答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
    主站蜘蛛池模板: 99热成人精品免费久久| 日韩精品一区二区三区在线观看 | 精品亚洲一区二区三区在线观看 | 精品无人区一区二区三区| 精品国产一区二区三区久久蜜臀 | 黑巨人与欧美精品一区| 国产成人精品无码免费看| 手机日韩精品视频在线看网站| 91精品国产综合久久四虎久久无码一级| 精品无码人妻一区二区三区| 亚洲精品网站在线观看不卡无广告 | 久久久精品国产sm调教网站 | 亚洲第一区精品观看| 国内精品视频在线观看| 中文字幕亚洲精品资源网| 国产精品久久久久影视不卡| 久久夜色精品国产噜噜麻豆| 宅男宅女精品国产AV天堂| 免费看一级毛片在线观看精品视频| 99久久精品费精品国产| 色综合久久综精品| 国产精品专区第二| 999国内精品永久免费视频| 四虎成人精品无码| 亚洲伊人久久精品影院| 国产精品看高国产精品不卡| 夜夜爽一区二区三区精品| 久久精品综合一区二区三区| 国产精品日日摸夜夜添夜夜添1国产精品va欧美精 | 国产精品成人观看视频国产奇米| 人妻精品久久久久中文字幕69| 亚洲日韩一页精品发布| 亚洲精品亚洲人成在线观看下载| 人妻无码久久精品| 亚洲国产午夜中文字幕精品黄网站 | 蜜臀av无码人妻精品| 久久精品无码一区二区app| 精品伦精品一区二区三区视频| 精品午夜国产人人福利| 久久亚洲国产精品123区| 久久久久99精品成人片牛牛影视|