Microsoft .NET Framework
軟件語言:簡體中文
|
軟件授權(quán):免費(fèi)軟件
|
適用系統(tǒng):Windows
|
創(chuàng)建時(shí)間:2020-12-14 |
軟件廠商/開發(fā)者信息:獨(dú)立開發(fā)者
|
錦囊 更多
- 卸載 Microsoft .NET Framework 4.0 方法演示,一步到位 2021-06-09
- Microsoft .NET Framework 4.0無法正常安裝?不急,可以解決 2019-11-08
- 提升Git體驗(yàn):探索Gitui——高效的終端UI工具 2024-01-05
資訊 更多
- Microsoft .NET Framework v1.1 簡體中文版更新 2020-10-15
- 微信Mac插件——微信小助手,是一款功能強(qiáng)大的插件 2024-01-08
- 完美解碼:打造頂級視聽盛宴的終極使用指南 2024-01-06
基本內(nèi)容
在今天的軟件環(huán)境中,應(yīng)用程序的來源很多,它們執(zhí)行很多任務(wù)。對應(yīng)用程序代碼的信任是一個(gè)主要需求,因?yàn)槲覀冋l也不想軟件或信息遭到破壞。給予許可的安全策略不會(huì)允許對敏感信息的不適當(dāng)?shù)脑L問,或?qū)⒈镜貦C(jī)器暴露給惡意的程序或甚至是有平常錯(cuò)誤的代碼。
過去,安全結(jié)構(gòu)提供了基于用戶帳號的隔離和訪問控制--在這些限制內(nèi)給予代碼完全訪問權(quán),并假定由特定用戶可運(yùn)行的代碼具有相同的信任度。不幸的是,如果所有程序都代表某用戶運(yùn)行,根據(jù)用戶對代碼的隔離對于保護(hù)一個(gè)程序不被其它用戶使用是不夠的。另一種情況,不能被完全信任的代碼經(jīng)常被轉(zhuǎn)移到"沙箱"模型中執(zhí)行,在此代碼運(yùn)行于隔離環(huán)境,而不會(huì)訪問大部分的服務(wù)。
對今天應(yīng)用程序的成功的安全解決方案必須能強(qiáng)化兩個(gè)安全模型間的平衡。它必須提供對資源的訪問,以便以完成有用的工作,它需要對應(yīng)用程序的安全性作細(xì)致的控制以確保代碼被識別,檢測,并給予合適的安全級別。.NET Framework就提供了一個(gè)這樣的安全模型。
版本信息
版本 | 完整版本號 | 發(fā)行日期 | Visual Studio | Windows 默認(rèn)安裝 |
1.0 | 1.0.3705.0 | 2002-02-13 | Visual Studio .NET 2002 | Windows XP Media Center Edition |
Windows XP Tablet PC Edition | ||||
1.1 | 1.1.4322.573 | 2003-04-24 | Visual Studio .NET 2003 | Windows Server 2003 |
2.0 | 2.0.50727.42 | 2005-11-07 | Visual Studio 2005 | |
3.0 | 3.0.4506.30 | 2006-11-06 | Windows Vista | |
Windows Server 2008 | ||||
3.5 | 3.5.21022.8 | 2007-11-19 | Visual Studio 2008 | Windows 7 |
Windows Server 2008 R2 | ||||
4.0 | 4.0.30319.1 | 2010-04-12 | Visual Studio 2010 | |
4.5Beta | 4.5.50501.17626 | |||
4.5 | 4.5.40805 | 2012-02-20 | Visual Studio 2012 RC | Windows 8 |
Windows Server 2012 | ||||
4.5.1 | 4.5.50938.18408 | Windows 8.1 | ||
Windows Server 2012 R2 | ||||
4.5.2 | 4.5.51209.34209 | |||
4.6 | 4.6.00081.00 | 2015-7-26 | Visual Studio 2015 | Windows10 |
4.6.1 | 4.6.01055.00 | Windows10November 2015 Update | ||
4.6.2 | 4.6.01590.00 | |||
4.7 | 4.7.2053.0 | 2017-5-2 |
安全方案
.NET Framework安全解決方案基于管理代碼的概念,以及由通用語言運(yùn)行時(shí)(CLR)加強(qiáng)的安全規(guī)則。大部分管理代碼需要進(jìn)行驗(yàn)證以確保類型安全及預(yù)先定義好的其它屬性的行為的安全。例如,在驗(yàn)證的代碼中,聲明為接收4字節(jié)值的訪問將拒絕提供8字節(jié)參數(shù)的調(diào)用,因?yàn)椴皇穷愋桶踩?。?yàn)證過程還確保了執(zhí)行流只傳送到已知的位置,如方法入口點(diǎn)--這個(gè)過程去除了跳轉(zhuǎn)到任意位置執(zhí)行的能力。
驗(yàn)證將阻止不是類型安全的代碼執(zhí)行,在它們引起破壞前捕獲很多常見的編程錯(cuò)誤。通常的弱點(diǎn)--如緩存溢出,對任意內(nèi)存或沒有初始化的內(nèi)存的讀取,對控件的隨意傳送--都不再可能出現(xiàn)。這將使最終用戶受益,因?yàn)樵谒麄儓?zhí)行代碼前對其進(jìn)行檢查。這也有益于開發(fā)人員,他們會(huì)發(fā)現(xiàn)很多常見錯(cuò)誤(過去一直在困擾前開發(fā))現(xiàn)在可以查明,并能阻止它們引起破壞。
CLR也能使非管理代碼運(yùn)行,但非管理代碼不能從這些安全措施中受益。特殊的許可與對非管理代碼的調(diào)用能力相關(guān),一個(gè)強(qiáng)大的安全策略能確保這些許可被恰當(dāng)?shù)亟o予。經(jīng)過很長時(shí)間后,非管理代碼到管理代碼的移植將減少對非管理代碼的調(diào)用頻率。
安全構(gòu)件
基于證據(jù)的安全
.NET Framework引入了"基于證據(jù)的安全"的概念。在本質(zhì)上,它是對安全策略暴露出來問題的解答:
· 組合從哪個(gè)站點(diǎn)獲得?
組合是.NET Framework應(yīng)用程序的構(gòu)件。它們組成了部署,版本控制,重用,激活作用域,安全認(rèn)證的基本單元。應(yīng)用程序的組合是從網(wǎng)站上下載到客戶端的。
· 組合是從哪個(gè)URL獲得的?
安全策略需要明確的地址,而組合是從這個(gè)地址下載的。
· 組合是從哪個(gè)區(qū)獲得的?
區(qū)是基于代碼的位置,對安全標(biāo)準(zhǔn),如 Internet, intranet和本機(jī)等等,的描述。
· 組合的強(qiáng)名(strong name)是什么?
強(qiáng)名是由組合的創(chuàng)建者提供了密碼強(qiáng)化后的標(biāo)識符。盡管它沒有提供對創(chuàng)建者的任何證明,但它唯一標(biāo)識了組合,確保了組合沒有被破壞過。
根據(jù)對這些問題的回答,及其它證據(jù),安全策略可以對賦予組合垢合適許可進(jìn)行計(jì)算。從多種來源可以得到證據(jù),包括CLR,瀏覽器,微軟,及外殼--這依賴于代碼的來源。
策略驅(qū)動(dòng)的信任模型使用代碼證據(jù)
當(dāng)組合被調(diào)入內(nèi)存時(shí),CLR策略系統(tǒng)通過收集組合的證據(jù)并在策略環(huán)境中對證據(jù)進(jìn)行計(jì)算,從而決定賦予組合什么樣的許可權(quán)。CLR策略系統(tǒng)然后根據(jù)評估過的證據(jù)和組合作出的許可請求給予組合一組許可。只有在組合被給予了一組最少的許可后,或組合根本不需要許可權(quán),組合的創(chuàng)建者才能知道組合正確運(yùn)行。通過一個(gè)或多個(gè)對特定許可的請求,這樣的附加需求可以被傳送至策略系統(tǒng)。
根據(jù)許可請求的類型,策略系統(tǒng)可以進(jìn)一步限制給予組合的許可(刪除不必要的許可)或甚至拒絕將組合裝入內(nèi)存(如果運(yùn)行組合所需的最小許可沒有被策略給予)。在不存在任何許可請求的情況下,組合永遠(yuǎn)不會(huì)被給予多于策略系統(tǒng)將會(huì)給予的許可權(quán)限,請求只是進(jìn)一步限制得到的許可。
安全策略包含了許多代碼組,這些組包含了根據(jù)證據(jù)應(yīng)給予的許可權(quán)。代碼組描述的許可可提供給從特定的安全區(qū)域獲得的組合,或提供給由特定發(fā)行商簽名過的組合,等等。盡管隨CLR發(fā)行了一組默認(rèn)的代碼組(及相關(guān)許可),但管理員可以對這些CLR安全的進(jìn)行定置,以適合他們的特殊需求。記住,通過定義與證據(jù)相關(guān)的代碼組,任何東西都可以作為證據(jù)提交,只要安全策略可以使用它。
創(chuàng)建許可的的過程涉及到對證據(jù)的評估,以確定代碼組適用于哪個(gè)等級:企業(yè),機(jī)器,和用戶。策略按上面順序?qū)@三個(gè)等級進(jìn)行評估,然后創(chuàng)建交插了三個(gè)等級的許可設(shè)置。管理員可以將任何一個(gè)策略等級標(biāo)記為終結(jié)(final),這樣做應(yīng)付阻止在其它等級上對策略做進(jìn)一步評估。例如,管理員可以在機(jī)器級別上對組合終止策略,這樣就會(huì)阻止用戶級策略對該組合的應(yīng)用。
一旦策略完成,許可的最初設(shè)置也就創(chuàng)建了。組合通過從三個(gè)方面做出特定的請求可以優(yōu)化這些許可:
· 第一方面是指定為了使組合運(yùn)行它必須擁有的最小許可設(shè)置。如果這些許可沒有給予,那么組合將不同調(diào)入到內(nèi)存,并拋出例外。
· 第二,可以指定一組可選的許可。盡管組合希望存在這些許可,但如果無法獲得這些許可,它仍可以調(diào)入到內(nèi)存。
· 最后,行為特別好的組合實(shí)際上會(huì)拒絕它們所不需的有風(fēng)險(xiǎn)的許可。這三個(gè)優(yōu)化選項(xiàng)是調(diào)入時(shí)作為聲明語句實(shí)現(xiàn)的。
在運(yùn)行時(shí),許可是根據(jù)代碼的執(zhí)行計(jì)算的。右側(cè)的圖總結(jié)了這個(gè)過程的發(fā)生順序。組合A3將它的證據(jù)和來自主機(jī)的證據(jù)提供給策略評估器。策略評估器在創(chuàng)建許可時(shí)也要考慮從組合得到的許可請求,"G3"。組合A3由組合A2調(diào)用,而A2又是由組合A1調(diào)用的。當(dāng)組合A3執(zhí)行一個(gè)引發(fā)安全檢查的操作時(shí),A2和A1獲得的許可同樣也要進(jìn)行檢查,以確保它們擁有A3所請求的許可權(quán)限。在這個(gè)過程中,此過程稱為堆棧遍歷(walking),堆棧中每個(gè)組合的許可權(quán)限都要進(jìn)行檢查以確定所給予的權(quán)限設(shè)置是否包含安全檢查所需要的許可。如果堆棧中的每個(gè)組合被給予了安全檢查所需要的許可,調(diào)用將成功。如何任何組合沒有給予所需要的許可,堆棧遍歷過程失敗,安全例外將被拋出。
圖 1.主機(jī)和組合為策略評估器提供證據(jù),評估器使用安全策略和許可請求確定組合的許可權(quán)限。應(yīng)用程序中不同運(yùn)行組件的許可權(quán)限然后用于作出授權(quán)決定。
代碼訪問安全堆棧遍歷可以保護(hù)代碼不受攻擊。在精通的攻擊中,惡意代碼欺騙受信任代碼執(zhí)行它獨(dú)自不能運(yùn)行的操作--有效地利用代碼的許可權(quán)限實(shí)現(xiàn)惡意的目的。對這類攻擊,開發(fā)人員很難進(jìn)行防備--但堆棧遍歷確保了如果涉及到了低級信任等級的代碼,有效許可將被減少到信任等級最低的代碼具有的許可。
結(jié)果,代碼將從源處獲得不同的信任等級,并在適合于特定的代碼執(zhí)行環(huán)境的限制下運(yùn)行。
安全分析
一些活動(dòng),如讀寫文件,顯示對話框,讀寫環(huán)境變量,可以通過包含在框架安全構(gòu)架中的.NET Framework方法實(shí)現(xiàn)。這就使.NET Framework能根據(jù)安全策略允許或不允許一個(gè)操作,而不需要程序員做額外的工作。盡管暴露了保護(hù)資源的管理類的創(chuàng)建者在他們的庫中做了明確的安全需求,使用.NET Framework類庫訪問受保護(hù)資源的開發(fā)人員可以自由地利用代碼訪問安全系統(tǒng);他們不必作出明確的安全調(diào)用。
管理員可以通過決定給予哪些許可來優(yōu)化安全策略,然后,依靠.NET Framework處理所有的安全操作。代碼訪問安全能阻止大部分的惡意攻擊,對代碼的驗(yàn)證減少了緩存溢出和其它會(huì)導(dǎo)致安全攻擊的不期望的行為。因此,應(yīng)用程序和組件生來就受到了保護(hù),它們免于大多數(shù)安全問題的沖擊,而這些安全問題一直困繞著本地代碼的實(shí)現(xiàn)。
角色安全
有時(shí)根據(jù)已認(rèn)證的身份或根據(jù)與代碼執(zhí)行上下文相關(guān)的角色作出認(rèn)證決定是合適的。例如,金融和企業(yè)軟件可以通過評估角色信息的企業(yè)邏輯加強(qiáng)策略。根據(jù)作出請求的用戶角色可以對金融交易的數(shù)據(jù)進(jìn)行限制。出納被允許可以處理一定金額的請求,而多于該金額的所有工作需要監(jiān)督人的角色來處理。
身份可以映射到登錄系統(tǒng)的用戶,或由應(yīng)用程序定義。相應(yīng)的原則封裝了身份和其它相關(guān)的角色信息(例如,但并不限于此,用戶的"組"由操作系統(tǒng)定義)。
認(rèn)證和授權(quán)
認(rèn)證是一個(gè)過程,它接收來自用戶的證書,并對證書的授權(quán)進(jìn)行確認(rèn)。如果證書是有效的,那么用戶就可以說他擁有已認(rèn)證的身份。而授權(quán)的過程是:確定認(rèn)證用戶是否能夠訪問給定的資源。認(rèn)證可通過系統(tǒng)或企業(yè)邏輯來完成,通過某個(gè)API它是或獲得的。認(rèn)證API是完全可擴(kuò)展的,因此開發(fā)人員根據(jù)需要使用自己的企業(yè)邏輯。開發(fā)人員可以對他們的認(rèn)證需求進(jìn)行編碼,也可以修改底層的認(rèn)證方法而無需對他們的代碼作太大變化。除了微軟Windows?操作系統(tǒng)身份認(rèn)證外,還有的認(rèn)證方法包括基本HTTP,摘要和 Kerberos,以及微軟Passport和基于窗體的認(rèn)證。這些認(rèn)證方法已經(jīng)完全集成到中了。
在窗體認(rèn)證中,用戶提供證書,并提交窗體。如果應(yīng)用程序鑒別請求,系統(tǒng)發(fā)送一個(gè)cookie ,該cookie以某種形式包含包含了證書或包含重新獲得身份的關(guān)鍵字。接下來發(fā)送的請求在頭中包含了cookie,處理程序通過應(yīng)用程序所期望的任何有效方法對這些請求認(rèn)證和授權(quán)。如果請求沒有經(jīng)過認(rèn)證,HTTP客戶端將用于把請求發(fā)送到認(rèn)證窗體,在那里用戶可能提供信任證書。窗體認(rèn)證有時(shí)用于個(gè)性化--為已知用戶的內(nèi)容進(jìn)行定置。在一些情況下,身份是問題所在而不是認(rèn)證,因此用戶的個(gè)性化信息可以簡單地通過訪問用戶或獲得。
授權(quán)的目的是確定作出請求的身份是否被給予了對給定資源的訪問權(quán)。提供了兩種類型的授權(quán)服務(wù):文件授權(quán)和URL授權(quán)。文件授權(quán)根據(jù)正在作用的方法和作出請求的身份決定用戶使用于哪個(gè)訪問控制列表。URL授權(quán)是URI名稱空間和不同用戶或角色間的邏輯映射。
隔離存儲(chǔ)
.NET Framework提供了一個(gè)特殊的功能,隔離存儲(chǔ),用于存儲(chǔ)數(shù)據(jù),甚至是當(dāng)不允許對文件進(jìn)行訪問時(shí)--例如,當(dāng)從Internet下載了一個(gè)管理控件,并運(yùn)行它,為它提供了有限的許可權(quán)但沒有權(quán)力讀寫文件。
隔離存儲(chǔ)是一組新的用于.NET支持的用于本地存儲(chǔ)的類型和方法。在本質(zhì)上,每個(gè)組合可以訪問磁盤上一斷被隔離的存儲(chǔ)空間。它不允許訪問其它數(shù)據(jù),隔離存儲(chǔ)只對為它創(chuàng)建的組合有效。
隔離存儲(chǔ)也可被應(yīng)用程序用于保存活動(dòng)記錄,保存設(shè)置,或者將狀態(tài)數(shù)據(jù)保存到磁盤上以備將來之用。因?yàn)楦綦x存儲(chǔ)的位置是預(yù)先決定好的,所以隔離存儲(chǔ)為指定唯一存儲(chǔ)空間提供了一種方便的方式,而不需要決定文件路徑。
從本地企業(yè)局域網(wǎng)獲得的代碼具有相似的限制,但更少,它可以訪問大限額的隔離存儲(chǔ)。最后,從受限站點(diǎn)區(qū)域(不信任站點(diǎn))來的代碼沒有對隔離存儲(chǔ)的訪問權(quán)。
加密
.NET Framework提供了一組加密對象,它們支持加密算法、數(shù)字簽名、散列、生成隨機(jī)數(shù),是通過眾所周知的運(yùn)算法則實(shí)現(xiàn)的,如RSA, DSA, Rijndael/AES, Triple DES, DES, 和 RC2, 以及MD5, SHA1, SHA-256, SHA-384 和 SHA-512散列算法。同時(shí)還支持在IETF和W3C開發(fā)的XML數(shù)字簽名規(guī)范。.NET Framework使用加密對象支持內(nèi)部服務(wù)。這些對象還作為管理代碼提供給需要加密支持的開發(fā)人員。
如何指定安全性?
如果要對組合運(yùn)行時(shí)的行為進(jìn)行修改,根據(jù)程序員的需要,可以作出聲明式安全或強(qiáng)迫式安全的修改。
聲明式安全
聲明式安全使程序員可以直接在組合代碼的元數(shù)據(jù)中為組合指定安全需求。許可請求和所有其它形式的聲明式安全是在代碼中是作為定置屬性指定的。類,屬性和方法的注釋用于優(yōu)化許可。例如,聲明式安全可用于類的調(diào)用者在調(diào)用方法前檢查調(diào)用者是否被已知地行商簽名過,或有一個(gè)特定的強(qiáng)名。
由于聲明屬性是組合元數(shù)據(jù)的一部分,所以組合的安全需求易于辨別。可以使用工具對組合進(jìn)行掃描,以發(fā)現(xiàn)哪些方法需要某些許可,哪些方法斷言了某些許可。
當(dāng)被請求的活動(dòng)和許可在編譯時(shí)是知道時(shí),聲明式檢查可作為選擇的解決方案之一。例如,如果方法總是檢查對C:temp的寫訪問許可,那么許可檢查就會(huì)從聲明中得到好處。另一方面,如果被請求的具有訪問權(quán)的位置發(fā)生了變化,那么強(qiáng)迫式安全也許是一個(gè)比較好的解決方案。
強(qiáng)迫式安全
強(qiáng)迫式安全直接在代碼中實(shí)現(xiàn)。程序員通過程序采取安全活動(dòng),并且根據(jù)安全堆棧的狀態(tài)決定是給予還是拒絕許可。例如,當(dāng)一個(gè)方法請求訪問一個(gè)特定的文件時(shí),如果調(diào)用者(或方法的任何一個(gè)調(diào)用者)沒有被給予必需的許可權(quán)限,那么請求失敗。因?yàn)閺?qiáng)迫式安全是通過程序?qū)崿F(xiàn)的,所以滿足了動(dòng)態(tài)需求。如果你需要對一個(gè)特定文件的訪問許可,但該許可還要根據(jù)其它信息發(fā)生變化,那么,強(qiáng)迫式安全就是可選的解決方案。
.NET Framework安全迎合了這種事實(shí):軟件向多樣化的移動(dòng)組件發(fā)展,并根據(jù)這種事實(shí)提供保護(hù)。在一個(gè)細(xì)化的、可擴(kuò)展的策略和許可系統(tǒng)下,用戶能夠運(yùn)行功能強(qiáng)大的代碼,而同時(shí)減少相關(guān)的風(fēng)險(xiǎn)。在沒有運(yùn)行時(shí)對用戶作出信任決定時(shí),管理員可以在各個(gè)級別創(chuàng)建強(qiáng)壯的安全策略。策略是完全可定置的。開發(fā)人員能夠集中解決應(yīng)用程序邏輯,而不用關(guān)心核心的安全問題(它由CLR透明地處理)。然而,開發(fā)人員可以在任何時(shí)候擴(kuò)展安全模型。
有許多程序設(shè)計(jì)師和使用者,非??释幸粋€(gè)完善而且透明清楚的基礎(chǔ)架構(gòu),來建立WebServices(因特網(wǎng)服務(wù))。.NET Framework 就是為了這個(gè)需求,而提供的基礎(chǔ)架構(gòu)。.NETFramework 提供了應(yīng)用程序模型及關(guān)鍵技術(shù),讓開發(fā)人員容易以原有的技術(shù)來產(chǎn)生、部署,并可以繼續(xù)發(fā)展具有高安全、高穩(wěn)定,并具高延展的Web Services。對于.NET Framework 而言,所有的組件都可以成為Web Services,Web Services 只不過是另一種型態(tài)的組件罷了。微軟將COM 的優(yōu)點(diǎn)整合進(jìn)來,它可以不用像COM 那么嚴(yán)謹(jǐn)?shù)膩硭ㄦi兩個(gè)對象,.NET Framework 以松散的方式來栓鎖Web Services 這種型態(tài)的組件。這樣的結(jié)果讓開發(fā)人員非常容易的發(fā)展出強(qiáng)而有力的Web 服務(wù)組件,提高了整體的安全及可靠性,并且大大的增加系統(tǒng)的延展性。
.
組成構(gòu)成
.NET Framework 的目的就是要讓建立Web Services 以及因特網(wǎng)應(yīng)用程序的工作變的簡單,.NET Framework 包括了三大部分:第一個(gè)部分是Common Language Runtime(CLR,所有.NET 程序語言公用的執(zhí)行時(shí)期組件),第二部分是共享對象類別庫(提供所有.NET 程序語言所需要的基本對象),第三個(gè)部分是重新以組件的方式寫成的(舊版本則是以asp.dll提供ASP 網(wǎng)頁所需要的對象)。
基本上安裝了之后對機(jī)器不會(huì)有很大的影響
NET Framework 是支持生成和運(yùn)行下一代應(yīng)用程序和 XML Web services 的內(nèi)部 Windows 組件
NET的運(yùn)行環(huán)境,類似用運(yùn)行時(shí)間庫的東西,要運(yùn)行.NET的計(jì)算機(jī)必須安裝了這個(gè)東西。具體的說是支持生成和運(yùn)行下一代應(yīng)用程序和 XML Web services 的內(nèi)部 Windows 組件。.NET Framework 旨在實(shí)現(xiàn)下列目標(biāo):
提供一個(gè)一致的面向?qū)ο蟮木幊汰h(huán)境,而無論對象代碼是在本地存儲(chǔ)和執(zhí)行,還是在本地執(zhí)行但在 Internet 上分布,或者是在遠(yuǎn)程執(zhí)行的。
提供一個(gè)將軟件部署和版本控制沖突最小化的代碼執(zhí)行環(huán)境。
提供一個(gè)可提高代碼(包括由未知的或不完全受信任的第三方創(chuàng)建的代碼)執(zhí)行安全性的代碼執(zhí)行環(huán)境。
提供一個(gè)可消除腳本環(huán)境或解釋環(huán)境的性能問題的代碼執(zhí)行環(huán)境。
使開發(fā)人員的經(jīng)驗(yàn)在面對類型大不相同的應(yīng)用程序(如基于 Windows 的應(yīng)用程序和基于 Web 的應(yīng)用程序)時(shí)保持一致。
按照工業(yè)標(biāo)準(zhǔn)生成所有通信,以確保基于 .NET Framework 的代碼可與任何其他代碼集成。
.NET Framework 具有兩個(gè)主要組件:公共語言運(yùn)行庫和 .NET Framework 類庫。公共語言運(yùn)行庫是 .NET Framework 的基礎(chǔ)。您可以將運(yùn)行庫看作一個(gè)在執(zhí)行時(shí)管理代碼的代理,它提供內(nèi)存管理、線程管理和遠(yuǎn)程處理等核心服務(wù),并且還強(qiáng)制實(shí)施嚴(yán)格的類型安全以及可提高安全性和可靠性的其他形式的代碼準(zhǔn)確性。事實(shí)上,代碼管理的概念是運(yùn)行庫的基本原則。以運(yùn)行庫為目標(biāo)的代碼稱為托管代碼,而不以運(yùn)行庫為目標(biāo)的代碼稱為非托管代碼。.NET Framework 的另一個(gè)主要組件是類庫,它是一個(gè)綜合性的面向?qū)ο蟮目芍赜妙愋图?,您可以使用它開發(fā)多種應(yīng)用程序,這些應(yīng)用程序包括傳統(tǒng)的命令行或圖形用戶界面(GUI) 應(yīng)用程序,也包括基于所提供的最新創(chuàng)新的應(yīng)用程序(如 Web 窗體和 XML Web services)。
.NET Framework 可由非托管組件承載,這些組件將公共語言運(yùn)行庫加載到它們的進(jìn)程中并啟動(dòng)托管代碼的執(zhí)行,從而創(chuàng)建一個(gè)可以同時(shí)利用托管和非托管功能的軟件環(huán)境。.NET Framework 不但提供若干個(gè)運(yùn)行庫宿主,而且還支持第三方運(yùn)行庫宿主的開發(fā)。
例如, 承載運(yùn)行庫已為托管代碼提供可伸縮的服務(wù)器端環(huán)境。 直接使用運(yùn)行庫以啟用應(yīng)用程序和 XML Web services(本主題稍后將對這兩者進(jìn)行討論)。
Internet Explorer 是承載運(yùn)行庫(以 MIME 類型擴(kuò)展的形式)的非托管應(yīng)用程序的一個(gè)示例。使用 Internet Explorer 承載運(yùn)行庫使您能夠在 HTML 文檔中嵌入托管組件或 Windows 窗體控件。以這種方式承載運(yùn)行庫使得托管移動(dòng)代碼(類似于 Microsoft? ActiveX? 控件)成為可能,不過它需要只有托管代碼才能提供的重大改進(jìn)(如不完全受信任的執(zhí)行和獨(dú)立的文件存儲(chǔ))。
優(yōu)點(diǎn)描述
概要
Microsoft .NET Framework 是一個(gè) Microsoft Windows 組件,Windows 用戶可通過各種分發(fā)渠道獲得它。這些分發(fā)渠道包括 Microsoft Update 網(wǎng)站和 Microsoft 下載中心。該組件還安裝在一些新的計(jì)算機(jī)上。本文論述在計(jì)算機(jī)上安裝 .NET Framework 的好處。
更多信息
六個(gè) .NET Framework 發(fā)行版:
Service Pack 1 (SP1) 為最新的 Service Pack。
·.NET Framework 4.0
· .NET Framework 3.5
Service Pack 2 (SP2) 為最新的 Service Pack。
· .NET Framework 3.0
Service Pack 1 (SP1) 為最新的 Service Pack。
· .NET Framework 2.0
Service Pack 2 (SP2) 為最新的 Service Pack。
· .NET Framework 1.1
Service Pack 1 (SP1) 為最新的 Service Pack。
· .NET Framework 1.0
Service Pack 3 (SP3) 為最新的 Service Pack。
您可能在計(jì)算機(jī)上安裝了多個(gè)版本的 .NET Framework。計(jì)算機(jī)上的每個(gè) .NET Framework 版本都能與其他版本共存。不過最近微軟公司也出了新版本,也就是.NET Framework 4.0,本人身為計(jì)算機(jī)的愛好者,也進(jìn)行了試裝,結(jié)果發(fā)現(xiàn),操作系統(tǒng)是XP的電腦,在裝上這個(gè)新版本之后,其開機(jī)速度將會(huì)變得十分緩慢,時(shí)間大概是為原來的3倍左右,而操作系統(tǒng)是Win7的電腦,本身就帶有.NET Framework 4.0,其開機(jī)速度還是可以的,并不會(huì)感到很慢。
注意:在安裝 .NET Framework 的某個(gè)發(fā)行版之前,必須刪除該發(fā)行版所基于的任何測試版。否則,將無法安裝此 .NET Framework 發(fā)行版??梢允褂谩翱刂泼姘濉敝械摹疤砑踊騽h除程序”工具來卸載.NET Framework 的測試版。如果無法從 Microsoft Update 網(wǎng)站安裝 .NET Framework,而您需要排查這一問題,則最好先嘗試執(zhí)行這一步驟。
下表包括安裝 .NET Framework 的一些好處:
· 更容易安裝商業(yè)應(yīng)用程序:Microsoft 和第三方提供的許多商業(yè)應(yīng)用程序都依賴 .NET Framework 支持其核心功能。如果安裝了 .NET Framework,則更容易安裝這些應(yīng)用程序。需要 .NET Framework 提供支持的一些應(yīng)用程序包括:
· Microsoft Encarta 2005
· Microsoft Windows Live OneCare
· Intuit QuickBooks
· HP Image Zone
· Streamload
· PayPal
· Grouper
· 更容易更新:安裝 .NET Framework 后,Microsoft Update 服務(wù)會(huì)自動(dòng)更新它。如果通過“控制面板”接收“自動(dòng)更新”,則計(jì)算機(jī)上安裝的任何版本的 .NET Framework 將通過最新的 Service Pack 始終保持最新。
下列好處只能從 .NET Framework 2.0 中獲得:
· 無需部署即可輕松使用應(yīng)用程序:使用 .NET Framework 2.0,可以從 URL 運(yùn)行應(yīng)用程序。該功能可提供更多本地安裝的應(yīng)用程序,并為從 URL 啟動(dòng)應(yīng)用程序提供了便利。該功能在組織內(nèi)尤其有用,它可以提供更多的應(yīng)用程序而不會(huì)產(chǎn)生部署負(fù)擔(dān)。
· 為 Windows XP 用戶使用 Windows Vista 做好準(zhǔn)備:Microsoft WinFX 是 Microsoft Windows Vista 的編程基礎(chǔ)結(jié)構(gòu)。WinFX 建立在 .NET Framework 2.0 基礎(chǔ)之上,它能為用戶帶來對 Windows Vista 的全新應(yīng)用體驗(yàn)。WinFX 也供 Windows XP 用戶使用。NET Framework 2.0 為 Windows XP 用戶提供了更輕松的 WinFX 更新體驗(yàn)。
參考
有關(guān)您的計(jì)算機(jī)上安裝的 .NET Framework 版本及相關(guān) Service Pack 的更多信息,請單擊下面的文章編號,以查看 Microsoft 知識庫中相應(yīng)的文章:
本文中提到的第三方產(chǎn)品由 Microsoft 以外的其他公司提供。對于這些產(chǎn)品的性能或可靠性,Microsoft 不作任何暗示保證或其他形式的保證。
相關(guān)組件
軟件名稱:Microsoft .NET Framework 2.0 (x86) 多國語言版
軟件大?。?2.39 MB
軟件版本:2.0
更新時(shí)間:2013-06-22
運(yùn)行環(huán)境:Win9X/Win2000/WinXP/Win7/Win8
軟件介紹:Microsoft .NET Framework 2.0 版可再發(fā)行組件包將安裝運(yùn)行針對 .NET Framework 2.0 版開發(fā)的應(yīng)用程序時(shí)所需的 .NET Framework 運(yùn)行庫及相關(guān)文件。
.NET Framework 2.0 版改進(jìn)了緩存,從而提高了應(yīng)用程序的可擴(kuò)展性和性能;使用 ClickOnce 改進(jìn)了應(yīng)用程序部署和更新;通過 微軟公司提供的控件和服務(wù)對各種瀏覽器和設(shè)備提供更強(qiáng)大的支持。重要事項(xiàng):不能在同一臺(tái)計(jì)算機(jī)上安裝兩種不同語言版本的 .NET Framework,試圖安裝第二種語言版本的 .NET Framework 時(shí),將會(huì)導(dǎo)致出現(xiàn)以下錯(cuò)誤:“安裝程序無法安裝Microsoft.NET Framework,因?yàn)橐呀?jīng)安裝了該產(chǎn)品的其他版本?!比绻褂梅怯⒄Z的平臺(tái)或要以另一種語言查看 .NET Framework 資源,則必須下載相應(yīng)語言版本的 .NET Framework 語言包。
版本列表
-
-
Microsoft .NET Framework v1.1 簡體中文版
NET Framework是Microsoft為開發(fā)應(yīng)用程序而創(chuàng)建的一個(gè)平臺(tái),對于普 ...
軟件大?。?span id="grlogxs" class="gray">21.73 MB 更新時(shí)間:2020-10-15
-
-
Microsoft .NET Framework 2.0 64位 v2.0.50727.42 正式版
Microsoft .NET Framework 2.0 64位版可再發(fā)行組件包將安 ...
軟件大小:45.20 MB 更新時(shí)間:2018-05-24