【正文】
樣應用程序就能總是加載與它建立和測試相關的元件。這是通過程序集和 .NET的封裝組件實現的。程序集包含了 .NET公共語言運行時使用的版本信息,以確保應用程序 在 加載它 時 建立 使用組 件。 支持的開放標準 在今天的世界上,不是每個你可能工作的設備都是運行微軟操作系統(tǒng)或使用英特爾處理器。 SOAP 將為不同的系統(tǒng)提供容易的交換信息的方法, 而且更好的是 , SOAP允許您調用遠程系統(tǒng)的方法和返回結果。 由 .NET平臺提供的其他標準包括通用描述,發(fā)現和集成( UDDI) 以及 它們的XML接口和 Web 服務描述語言( WSDL),它描述了一個應用程序代碼做目錄。 配置簡單 今天,基于 Windows 的應用程序 的 開發(fā) 和 安裝達到 了 令人難以置信的困難 。通常 需要 在幾個目錄中安裝 大量 的文件, 設置 各種注冊表, 安裝 所需的 COM 組件 和 建立 快捷方式等等。隨著 Windows2021的發(fā)布,微軟引入了一個新的安裝引擎幫助解決這些問題 ,但它仍然有可能是一個 不正常 的微軟安裝程序包。 .NET設計隊伍面對這個問題 同樣 感到了的困惑, 但 .NET隊伍 計劃將這些問題解決 了 。事實上, 安裝 大部分 .NET應用程序僅僅需要將他們的文件復制到一個目錄,卸載應用程序將只是刪除這些文件。微軟堅定地認為:他們十分看好分布式 Web服務概念的公司。我們大多數人都知道,通常情況并非如此,至少在 那些 大規(guī)模的網站上不是這樣 的 。 由于這些類型的應用很有用,他們的開發(fā)和維護都非常 的 復雜。這是非常低效的重復建設,并在大多數情況相當乏味,所以在許多活動已經形成了三個標準以簡化流程: XML, SOAP和 UDDI。 但是, 少為人知 的是, 這些都是 IBM和 Sun的倡議。但是,此代碼仍然是由 CLR運行 時,它只是沒有得到諸如通用類型系統(tǒng)和自動內存管理優(yōu)勢。 并不是每一個公司都要急于推出的 .NET產品組件的版本,所以如果你需要接觸他們,你會調用與非托管代碼。 ■從 COM組件中調用 .NET服務 雖然這聽起來有點古怪,但它是可能的。 這里有一點關于 COM互用問題的更多信息。 在這其中的另一面,有公司出于對 .COM 技術的既得利益考慮,可能想使用 .NET平臺的一些零零碎碎的功能 之后 , 然后 才 會 采取堅持 .COM客戶端可以方便地通過 COM 非法侵占 層與 .NET組件聯系。s Guide Adrian Turtschi, , Jason Werry, Greg Hack, Joseph Albahari, Saurabh Nandu 技術編輯 , Wei Meng Lee 資深編輯 重慶大學本科生畢業(yè)論文翻譯 7 原文: C .NET Web Developer39。 but it does offer an extensible architecture that makes it an ideal choice for developing .NET software. Features of the .NET Platform The core of the .NET platform is founded on the Common Language Runtime, Base Class Library, and the Common Language Specification. The .NET Base Class Library exposes the features of the Common Language Runtime in much the same way that the Windows API allows you to utilize the features of the Windows operating system。 in the new .NET platform, these concepts do not exist at all. Another great benefit for .NET developers is its model for error handling via exceptions. Developing software for the Windows platform has always meant you were pulled into its own inconsistencies: particularly in the ways errors were returned. Some functions would return Win32 error codes, some return HRESULTS, and some raise exceptions, requiring the programmer to write different types of errorhandling code. In .NET, all errors are reported in the form of exceptions, therefore greatly simplifying writing, reading, and maintaining code. Due to the Common Language Specification and Common Type System, .NET exceptions transcend module and language boundaries as well. Multilanguage Development 重慶大學本科生畢業(yè)論文翻譯 11 Because many languages target the .NET Common Language Runtime, it is now much easier to implement portions of your application using the language that’s best suited for it. Erstwhile methods, allowing such programming languages as COM or CORBA to interoperate, did so through the use of an Interface Definition Language (IDL). The .NET platform allows languages to be integrated with one another through the use of the MSIL. Although it contains instructions that appear similar to assembly code, such as pushing and popping values and moving variables in and out of registers, it also contains instructions for managing objects and invoking their methods, manipulating arrays, and raising and catching exceptions. The Microsoft Common Language Specification describes what other development tool authors must do in order for their pilers to output IL code that will allow them to integrate well with other .NET languages. Microsoft currently provides several pilers that produce IL code targeting the .NET Common Language Runtime: C++ with managed extensions, C, Jscript, and Visual Basic. In addition, several panies other than Microsoft are producing pilers for languages that also target the .NET Common Language Runtime. Currently having already supported for COBOL, Eiffel, Fortran, Perl, Python, Scheme, and many more have been announced by various vendors. For a current list check: Why should you care about the details of IL? Because this is how .NET manages many of its crosslanguage features. No Interface Definition Language is required to enable crosslanguage functionality because IL metadata handles the entire translation overhead. For instance, with an exception object defined by IL, the same object can be caught regardless of the .NET language used. Your ponent written in C can raise an exception that can be caught by the Fortran application using it. No more worries about different calling conventions or data types, just seamless interoperability. Crosslanguage inheritance is another feature made possible by the use of IL. You can now create new classes based on ponents written in other languages, without needing the source code to the base ponent. For example, you can create a class in C++ that derives from a class implemented in Visual Basic. .NET can realize this because it defines and provides a type system mon to all .NET languages. One of the great challenges of developing applications under the Windows DNA specification was in debugging applications developed in a variety of languages. Because of both the unified development environment of Visual and the use of IL as the output of all .NET languages, crosslanguage debugging is possible without resorting to assembly language. The .NET Common Language Runtime fully supports debugging applications that cross language boundaries. The runtime also provides builtin stackwalking facilities, making it much easier to locate bugs and errors. 重慶大學本科生畢業(yè)論文翻譯 12 Platform and Processor Independence The intermediate language is CPUindependent, and there is much higher level than most machine languages. Once being written and built, a managed .NET application can execute on any platform that supports the .NET Common Language Runtime. Because the .NET Common Type System def