国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

Microsoft .NET Framework 1.1 和 2.0(測試版)兼容性

2024-07-10 12:58:55
字體:
供稿:網(wǎng)友

簡介

microsoft .net framework 2.0 是在 microsoft .net framework 1.0 和 1.1 成功的基礎(chǔ)上構(gòu)建的,用于為 web 和 microsoft windows 客戶端應(yīng)用程序提供最佳的運行庫環(huán)境。對于 .net framework 1.1 應(yīng)用程序,microsoft 的兼容性目標(biāo)是:這些應(yīng)用程序能夠在 .net framework 2.0 上順利運行(除一組記錄在案的更改之外)。在 beta 2 發(fā)布期間,我們還沒有達(dá)到這個目標(biāo),并且正在尋找有關(guān)這些應(yīng)用程序問題的反饋,以便在 .net framework 2.0 發(fā)布之前解決這些問題。本文將探討應(yīng)用程序的兼容性方案,并為各個階段提供最佳做法建議。

返回頁首

執(zhí)行摘要

這里提供已知破壞性更改的完整列表。該列表適用于 beta 2,并將進(jìn)一步更新以用于 rtm。如果您遇到該列表以外的更改,請發(fā)送郵件至 [email protected]。

microsoft 建議您在 beta 2 期間針對 .net framework 2.0 測試您的 .net framework 1.1 應(yīng)用程序。兼容性測試方案提供該操作的指導(dǎo)。

即使在計算機(jī)上安裝了 .net framework 2.0,使用 .net framework 1.1 構(gòu)建的單機(jī)版 microsoft windows 客戶端或 web 應(yīng)用程序也將自動在 1.1 框架上運行。

本機(jī)應(yīng)用程序的托管外接程序(例如,microsoft office 或 internet explorer)將自動在計算機(jī)安裝的最新版本的 .net framework 上運行。在部署該版本的 framework 之前,開發(fā)人員和 it 經(jīng)理應(yīng)該針對 .net framework 2.0 測試這些外接程序。

現(xiàn)在,我們?nèi)匀辉趯ふ腋嗟膽?yīng)用程序來進(jìn)行測試。如果您有興趣提供您的 .net framework 1.1 應(yīng)用程序,請發(fā)送郵件至 [email protected]。

返回頁首

破壞性更改的定義

破壞性更改是那些在 .net framework(運行庫破壞性更改)或 visual studio(design/compile/project 升級)中使某些應(yīng)用程序或開發(fā)方案行為異常的更改。這些更改不一定是那些我們已發(fā)現(xiàn)的破壞應(yīng)用程序的更改;更準(zhǔn)確地說,這些更改是在設(shè)計檢查和測試過程中發(fā)現(xiàn)的行為更改,它們有可能影響應(yīng)用程序。實際上,在我們所有的應(yīng)用程序兼容性測試中,發(fā)現(xiàn)的影響應(yīng)用程序的更改不到十個。

運行庫更改可以分為兩類:第一類(也是最少見的)是 api 破壞性更改,包括更改函數(shù)簽名或刪除函數(shù)。幾乎在所有情況下,這些更改都是出于安全考慮。在整個 .net framework 2.0 中,此類更改不到 5 個。

第二類(較常見的破壞性更改類型)是行為破壞性更改,包括更改方法的行為。此類更改的示例包括:更改由于特定錯誤而引發(fā)的異常,以及更改浮點操作的精度。

.net framework 2.0 中所有已知的破壞性更改都經(jīng)過了仔細(xì)檢查,并且記錄在此處以用于 beta 2。進(jìn)行破壞性更改的原因有許多,包括符合標(biāo)準(zhǔn)、客戶反饋以及正確性問題。我們已經(jīng)盡量詳細(xì)地記錄這些更改,但我們相信其中的很多更改仍會影響到少量用戶。每種類型的運行庫更改的示例都遵循以下原則:

符合標(biāo)準(zhǔn):kyrgyzstan 的 system.globalization 中的 iso 標(biāo)記從 kz 更新為 ky。

符合標(biāo)準(zhǔn):asp.net 中呈現(xiàn)的 html 更新為符合標(biāo)準(zhǔn)的 xhtml 1.0 transitional。

客戶反饋:更改了 asp.net 項目模型以響應(yīng)客戶反饋。

正確性:已經(jīng)在某些情況下增加了浮點精度。這已經(jīng)作為一種可能性記錄在 cli 規(guī)范中。

正如所有的測試版產(chǎn)品一樣,我們正在尋求更多的反饋。如果您遇到有關(guān) beta 2 產(chǎn)品的問題,請通過 msdnproductfeedbackcenter 向我們報告。有關(guān)部署和兼容性的問題,請發(fā)送郵件至 [email protected]。我們將根據(jù)收到的反饋來更新 .net framework 2.0 版本的破壞性更改列表。

返回頁首

應(yīng)用程序加載機(jī)制和可能的問題

默認(rèn)情況下,使用 .net framework 構(gòu)建的應(yīng)用程序?qū)⑹褂脴?gòu)建時所用的 framework 版本(如果已在計算機(jī)上安裝該版本)運行。下表指定了目標(biāo)計算機(jī)上不同 .net framework 配置下的應(yīng)用程序的加載行為。

應(yīng)用程序類型安裝 1.1 的計算機(jī)安裝 2.0 的計算機(jī)同時安裝 1.1 和 2.0 的計算機(jī)

1.1 獨立應(yīng)用程序(web 或 microsoft windows 客戶端)

使用 1.1 加載

使用 2.0 加載

使用 1.1 加載

2.0 獨立應(yīng)用程序(web 或 microsoft windows 客戶端)

失敗

使用 2.0 加載

使用 2.0 加載

本機(jī)應(yīng)用程序的1.1 外接程序(例如 office 或 internet explorer)

使用 1.1 加載

使用 2.0 加載

如果沒有將進(jìn)程配置為在 1.1 中運行,則使用 2.0 加載

本機(jī)應(yīng)用程序的 2.0 外接程序(例如 office 或 internet explorer)

失敗

使用 2.0 加載

使用 2.0 加載

在通過 .net framework 2.0 加載使用 .net framework 1.1 構(gòu)建的應(yīng)用程序代碼并遇到破壞性更改的情況下,該應(yīng)用程序可能失敗。在上面的表中,粗體單元格表示可能出現(xiàn)這些情況的地方。以下部分提供有關(guān)如何在這些情況下減少潛在問題的信息。

返回頁首

在 .net framework 2.0 中測試使用 .net framework 1.1 開發(fā)的應(yīng)用程序

由于應(yīng)用程序?qū)⑹褂脴?gòu)建時所用的 framework 版本運行,因此有兩種能夠使用 .net framework 2.0 運行應(yīng)用程序的方法:

在只安裝有 .net framework 2.0 beta 2 的計算機(jī)上安裝和測試。

在已安裝有 .net framework 1.1 的計算機(jī)上安裝測試版。使用 gotdotnet.com 上概述的步驟強(qiáng)制應(yīng)用程序使用 .net framework 2.0 運行。

返回頁首

減少可能的兼容性問題的策略

通過遵循如下所述的其中一個策略,開發(fā)人員可以減少應(yīng)用程序受 .net framework 更改影響的可能性。兼容性測試方案中提供有關(guān)測試的更多信息。

在發(fā)布 .net framework 2.0 的最終版本之前,我們將檢查兼容性狀態(tài),并考慮在破壞性更改影響應(yīng)用程序時還原這些更改。在進(jìn)行兼容性測試時,如果您發(fā)現(xiàn)應(yīng)用程序需要進(jìn)行一些更改才能在新版本上正確運行,請在 msdnproductfeedbackcenter 上記錄錯誤。

1.

測試和修復(fù)
始終進(jìn)行;推薦

使用由 .net framework 1.1 構(gòu)建的應(yīng)用程序的一種可能方法是:使用 .net framework 2.0 測試該應(yīng)用程序,進(jìn)行一些必要的更改,并確保該應(yīng)用程序在 framework 的兩個版本上都能運行。

開發(fā)和測試含義這將要求小組測試 framework 的兩個版本,從而擴(kuò)展應(yīng)用程序的測試矩陣。它可能還要求開發(fā)人員對源代碼進(jìn)行一些修改,以確保應(yīng)用程序在 .net framework 1.1 和 .net framework 2.0 上都能運行。

市場和運營含義應(yīng)用程序所有者需要與客戶和用戶溝通該問題,并為他們提供兼容 framework 這兩個版本的應(yīng)用程序更新版本。

2.

使用 .net framework 1.1 部署
用于獨立的托管應(yīng)用程序

默認(rèn)情況下,使用 .net framework 構(gòu)建的托管應(yīng)用程序?qū)⑹褂脴?gòu)建時所用的版本運行。如果已在目標(biāo)機(jī)器上安裝了 .net framework 1.1,則不需要更改任何應(yīng)用程序。要啟用該方案,應(yīng)用程序所有者應(yīng)該繼續(xù)連同其應(yīng)用程序一起發(fā)布 .net framework 1.1,或確保所有目標(biāo)機(jī)器上都安裝有 .net framework 1.1。

如果 .net framework 應(yīng)用程序寄宿在本地主機(jī)中(例如 microsoft office 或 microsoft internet explorer),則該應(yīng)用程序?qū)⑹褂糜嬎銠C(jī)上安裝的最新 .net framework 版本。這可能意味著,構(gòu)建在 .net framework 1.1 上的應(yīng)用程序可能被強(qiáng)制使用 .net framework 2.0 運行。如果您編寫宿主托管代碼的本機(jī)應(yīng)用程序(無論是通過直接宿主還是通過 com interop),則可以配置本機(jī) exe 并選擇構(gòu)建托管代碼時所用的運行庫版本;否則,您的組件需要在計算機(jī)上安裝的最新版本上運行。有關(guān)更多詳細(xì)信息,請參閱以下并行文檔。

開發(fā)和測試含義從開發(fā)和測試的角度來看,這需要確保在所有機(jī)器上安裝 .net framework 1.1。如果是寄宿組件(加載托管組件的應(yīng)用程序),您可能需要修改該應(yīng)用程序的配置文件,以確保即使在該計算機(jī)上安裝了 .net framework 2.0,宿主進(jìn)程也會加載 .net framework 1.1。

市場和運營含義從市場和運營的角度來看,這涉及傳達(dá)讓用戶安裝 .net framework 1.1 的需要。如果是本地主機(jī),當(dāng)用戶在其系統(tǒng)上安裝 .net framework 2.0 時,它可能還需要讓客戶和用戶安裝新版本(或更新應(yīng)用程序配置文件)。

3.

升級到 2.0:
適用于所有應(yīng)用程序,但需要安裝 .net framework 2.0

希望利用 .net framework 2.0 中新功能的開發(fā)人員應(yīng)該升級應(yīng)用程序以使其適合 .net framework 2.0。這包括重新編譯代碼、測試應(yīng)用程序,以及進(jìn)行一些必要的更改。

在 beta 2 中,asp.net 開發(fā)人員需要了解在項目系統(tǒng)和編譯模型中所作的更改,這些更改可能會影響其應(yīng)用程序升級到 2.0 的方式。基于用戶反饋,我們已經(jīng)實現(xiàn)了對 asp.net 項目升級系統(tǒng)的補(bǔ)充,這意味著大多數(shù)應(yīng)用程序只需要進(jìn)行最少的更改。

開發(fā)和測試含義這需要更新應(yīng)用程序以使其適應(yīng)所有破壞性更改、在 .net framework 2.0 中測試應(yīng)用程序,以及修改應(yīng)用程序以利用所有 .net framework 2.0 功能。開發(fā)人員需要更新應(yīng)用程序安裝程序以發(fā)布 .net framework 2.0。(請注意:在 beta 2“保持激活”期間,isv 可能不會重新發(fā)布 .net framework 2.0。)

市場和運營含義應(yīng)用程序所有者需要與客戶溝通,并且用戶需要安裝 .net framework 2.0 以及更新的應(yīng)用程序 bits。

返回頁首

潛在熱點

有兩個廣為人知的兼容性方面熱點值得一提:

序列化:.net framework 不同版本之間的任何序列化數(shù)據(jù)都可能不穩(wěn)定,因為序列化依賴于對象的內(nèi)部結(jié)構(gòu)。這可能會影響序列化到文件中的數(shù)據(jù),或者通過 .net remoting 為通信而序列化的數(shù)據(jù)。我們目前正在版本容錯序列化方面投入精力,預(yù)計可以在發(fā)布 visual studio 2005 和 .net framework 2.0 時提供版本容錯序列化。

檢查 .net framework 的特定版本:應(yīng)用程序?qū)⒃诎惭b時檢查 framework 的特定版本是否已安裝到計算機(jī)上,或者在運行時檢查 framework 的特定版本是否是版本敏感的 (version-brittle)。這在利用托管代碼的安裝程序中是很常見的考慮。

返回頁首

提交要測試的應(yīng)用程序

我們一直想要擴(kuò)展用于測試兼容性的應(yīng)用程序列表,尤其需要業(yè)務(wù)線應(yīng)用程序。如果您提交應(yīng)用程序,將獲得以下服務(wù):

我們將在最新的 whidbey bits 上測試您的應(yīng)用程序。根據(jù)測試的兼容性需求,各個應(yīng)用程序的測試程度會有所不同。

我們將向您報告通過/失敗結(jié)果和 microsoft 發(fā)現(xiàn)(在失敗情況下)的應(yīng)用程序問題,以及緩解該問題的建議。

我們不承諾確保您的應(yīng)用程序在最新的 bits 上正常運行。但是,該成果將幫助我們了解客戶可能經(jīng)歷的所有兼容性問題。我們將盡力確保現(xiàn)有的應(yīng)用程序能夠在 .net framework 2.0 上正常運行。

您負(fù)責(zé)提供以下內(nèi)容:應(yīng)用程序、所有必要的前提(測試數(shù)據(jù)、其他資源),以及有關(guān)如何在全新的計算機(jī)上安裝和運行該應(yīng)用程序的安裝說明。microsoft 無法測試需要特定于域的資源或者在其中包含真實客戶數(shù)據(jù)的任何應(yīng)用程序。

我們希望收集的一些附加信息包括:
公司名稱
應(yīng)用程序名稱
應(yīng)用程序類型(web 應(yīng)用程序、桌面應(yīng)用程序、com 等)
應(yīng)用程序開發(fā)技術(shù)(包括語言)
應(yīng)用程序功能(包括對業(yè)務(wù)的重要性)
應(yīng)用程序大小(loc、模塊)

如果您想要提交應(yīng)用程序,請發(fā)送郵件至 [email protected]。

返回頁首

付諸行動

在 2.0 上測試您的 1.1 應(yīng)用程序并找出是否存在問題。通過 msdnproductfeedbackcenter 報告這些問題。

通過 [email protected] 提供其他問題(包括兼容性和部署問題)的反饋。

提交要測試的更多應(yīng)用程序。

返回頁首

附錄和背景

net framework sdk 文檔和文章更詳細(xì)地描述了并行問題,以及如何配置您的應(yīng)用程序以便為特定應(yīng)用程序模型(例如,.exe 應(yīng)用程序、web 應(yīng)用程序或托管 com 組件)運行特定版本的 .net framework。

msdn 文檔

.net framework developer's guide: targeting a .net framework version
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpcontargetingnetframeworkversion.asp

big red switch information on gotdotnet
http://www.gotdotnet.com/community/usersamples/details.aspx?sampleguid=4caff66c-df51-40ab-bd88-090d34e77520

.config file information
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconspecifyingwhichruntimeversiontouse.asp

side-by-side execution of the .net framework
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnnetdep/html/sidexsidenet.asp

asp.net application in iis; see .net framework developer's guide: configuring an asp.net application for an asp.net version
http://msdn.microsoft.com/library/en-us/cpguide/html/cpconconfiguringaspnetapplicationforaspnetversion.asp

net framework developer's guide: side-by-side execution for com interop
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconside-by-sideexecutionforcominterop.asp

compatibility considerations and version changes
http://www.gotdotnet.com/team/changeinfo/default.aspx

并行 framework 和功能的相關(guān)背景

存在多個版本的 .net framework(v1.0、v1.1、v2.0)。多個 .net framework 版本可以“并行”安裝在同一臺計算機(jī)上,同樣,用戶可以安裝諸如 office 這樣的應(yīng)用程序的多個版本(例如,在同一臺計算機(jī)上安裝 officexp 和 office2003)。在 windows xp 和 windows server 2003 上,多個 .net framework 版本可以在不同的進(jìn)程中并行運行。換句話說,一個進(jìn)程可以在 .net framework 2.0 上運行應(yīng)用程序,同時其他進(jìn)程也可以在 .net framework 1.1 上運行應(yīng)用程序。

.net framework 1.0、1.1 和 2.0 上應(yīng)用程序的并行運行庫行為

托管應(yīng)用程序:在 .net framework 1.0、1.1 或 2.0 上啟動應(yīng)用程序時,clr (mscoree) 會查看該應(yīng)用程序中記錄的 .net framework 版本,并嘗試在編譯該應(yīng)用程序的 .net framework 版本上運行該應(yīng)用程序。如果尚未在計算機(jī)上安裝該版本,則 clr 將嘗試在最新的 .net framework 和 clr 上啟動該應(yīng)用程序。例如,如果為 .net framework 2.0 編譯的應(yīng)用程序在僅安裝有 .net framework 1.1 的計算機(jī)上運行,那么該應(yīng)用程序?qū)⑾蚯凹嫒菀员阍?.net framework 1.1 上運行。同樣,如果為 .net framework 1.1 編譯的應(yīng)用程序在僅安裝有 .net framework 2.0 的計算機(jī)上運行,那么該應(yīng)用程序?qū)⑾蚝蠹嫒菀员阍?.net framework 2.0 上運行。

本機(jī)應(yīng)用程序的托管組件:本機(jī)應(yīng)用程序的托管組件是在本機(jī) exe 啟動的進(jìn)程中,直接通過宿主 api 或 com interop 加載的托管代碼。以這種方式加載托管代碼時有兩個主要方案:

方案 1:托管代碼是本機(jī)第三方應(yīng)用程序的外接程序

方案 2:托管代碼是本機(jī)應(yīng)用程序的一部分

在這些情況下,默認(rèn)行為是加載安裝在該計算機(jī)上的最新運行庫。

在方案 1 中,您無法了解可能在進(jìn)程中加載了哪些其他托管組件,因此該托管外接程序無法選擇要加載哪個運行庫,而是必須加載計算機(jī)上最新的運行庫。

然而,在方案 2 中,托管代碼實際上是應(yīng)用程序的一部分,因此開發(fā)人員非常清楚該托管代碼需要哪個運行庫。在這些情況下,我們建議由應(yīng)用程序指定它要加載的運行庫。如果該應(yīng)用程序宿主了運行庫,那么它應(yīng)該通過宿主 api 指定準(zhǔn)確的運行庫(而不是為空)。如果通過 com interop 加載托管代碼,那么應(yīng)用程序開發(fā)人員應(yīng)該在本機(jī) exe 上放置一個配置文件,并讓該配置文件指定某個支持的運行庫。

asp.net 應(yīng)用程序:web 應(yīng)用程序彼此不同,因為 .net framework 的版本通過配置特定的 iis 虛擬目錄進(jìn)行選擇,目的在于通過 iis 管理工具來使用特定版本的 asp.net isapi dll。asp.net isapi dll 可以為 web 應(yīng)用程序加載相應(yīng)的 .net framework 版本。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 贞丰县| 新昌县| 盘山县| 福泉市| 苍溪县| 常熟市| 黔东| 东丰县| 巧家县| 高州市| 华池县| 镇康县| 南陵县| 财经| 永登县| 紫阳县| 文登市| 宁河县| 章丘市| 沐川县| 大竹县| 容城县| 察雅县| 张家口市| 无极县| 阜新市| 鄂伦春自治旗| 宁陕县| 祁阳县| 寻乌县| 怀宁县| 灵台县| 巫山县| 交城县| 乌兰浩特市| 永善县| 安国市| 丹凤县| 沾化县| 娱乐| 弥渡县|