Microsoft. NET Framework FAQ (1)

Source: Internet
Author: User

Microsoft. NET Framework FAQs
Microsoft Corporation

Concept
What is. NET?
To put it simply, Microsoft®. NET is a policy for Microsoft to submit software as a service. For more information, see the white paper on this topic ).

The following is a brief introduction to. NET:

Microsoft. NET platform
This includes creating and operating next-generation services.. NET infrastructure and tools for implementing multi-information clients.. NET user experience, and used to enable a new generation of Smart Internet devices. NET to construct the block service and. NET device software.


Microsoft. NET products and services
Including Microsoft®Windows. NET (its core integrates a set of constructed block services), MSN. NET, personal subscription service, Microsoft®Office. NET, Microsoft®Visual Studio. NET and Microsoft®BCentral™For. NET.


Third-party. NET Services
Partners and developers in many fields have the opportunity to provide enterprise and vertical services on the. NET platform.
This issue is targeted at the. NET Framework .. The. NET Framework is part of the basic structure of the. NET platform. For more information about the. NET Framework, see the next question.

What Is A. NET Framework?
The. NET Framework is an environment for creating, deploying, and running Web Services and other applications. It consists of three main parts: runtime of Public languages, framework classes, and ASP. NET.

Is the. NET Framework only applicable to users who create Web sites?
The. NET framework allows you to create excellent Web applications. However, it can also help you create various existing applications. Compared with the current method of creating an application,. NET is writing any Windows software (using ATL/COM, MFC, Microsoft®Visual Basic®Or standard Microsoft®Win32®. Of course, if you are developing a Web site, you will feel the strong appeal of the. NET Framework from ASP. NET.

Where can I obtain the. NET Framework SDK?
You can download the Beta 1 version of the. NET Framework SDK from MSDN Online Downloads. Given its size, we provide this Beta version in multiple ways: as a download file (106 MB), it is divided into 11 parts for download, or order its CD from Microsoft Developer Store:

US/Canada (English)


International (English)

Which platforms can the. NET Framework run on?
Beta 1 can run in Microsoft®Windows®2000, Windows 95/98/ME, and Windows NT®On the 4.0.

In addition, there is also a. NET Framework version called the. NET simplified framework. It is used to enable devices such as cell phones and enhanced TVs to also have some features of the. NET Framework .. . NET will run on Windows CE and other embedded operating systems.

Which programming languages does the. NET Framework support?
The. NET Framework has nothing to do with programming languages. In fact, any language supports the. NET Framework. Currently, you can create. NET programs in many languages, including C ++ and Microsoft®Visual Basic. NET, JScript®And the latest Microsoft language -- C #. In the future, there will also be a large number of third-party languages that can be used to create. NET Framework applications, including COBOL, Eiffel, Perl, Python, Smalltalk, and so on.

What is the relationship between the. NET Framework and the COM + service?
In the. NET Framework, you can not only completely access the COM + service, but also easily create service components.

. NET Framework components can be added to COM + applications. In COM + applications,. NET Framework components can use automatic component services, such as transactions, object pools, queuing components, and events.

What is the relationship between the. NET Framework and DCOM?
DCOM is the basic structure of COM used for inter-process communication .. NET Framework supports a large number of pluggable channels and formatting programs for inter-process communication. During conversion between hosted and unmanaged code, the. NET Framework uses the COM infrastructure, especially DCOM. All the solutions that use the COM + service use the managed-to-unmanaged conversion, so DCOM is used by default. For inter-process communication that focuses on interoperability, the. NET Framework also supports SOAP (Simple Object Access Protocol ).

Is the. NET Framework just a new name for Windows DNA?
No. Windows DNA is an architecture used to create tightly coupled distributed Web applications. As distributed applications become more loosely coupled, Microsoft has developed this architecture in. NET .. The. NET Framework is part of the. NET architecture.

Technical problems during running
Terms
What is the common language runtime (CLR )?
The Common Language Runtime is the execution engine of. NET Framework applications.

It provides many services, including:

Code Management (loading and execution)


Application memory isolation


Type security verification


IL-to-Local Code Conversion


Metadata (Enhanced type information) Access


Manage memory for Managed Objects


Enforce code access security


Exception Handling, including cross-language exceptions


Interoperability Between hosted code, COM objects, and existing DLL (unmanaged code and data)


Automatic Object Layout


Support for developer services (configuration, debugging, etc.)

What is a common type System (CTS )?
A public-type system is a multi-information-type system that is built into the runtime of a public language and supports types and operations in most programming languages. Public systems support full implementation of a large number of programming languages.

What is CLS )?
A common language specification is a set of structures and Restrictions used as a guide for database writers and compiler writers. It allows all languages that support CLS to fully use libraries and enable these languages to integrate with each other. The public language specification is a subset of Public-type systems. Common Language Standards are also important for application developers who need to write code for other developers. If developers follow the CLS rules to design public-access APIs, they can be easily used in any other programming language that supports the runtime of Public languages.

What is Microsoft intermediate language (MSIL )?
MSIL is a CPU-independent instruction set .. NET framework program is compiled into MSIL. It contains commands for loading, storing, initializing, and calling object methods.

Combined with metadata and public-type systems, MSIL allows true cross-language integration.

MSIL is converted to machine code before execution, rather than being interpreted and executed.

What is managed code and managed data?
Managed code is written as code that supports runtime services in public languages (see "What Is runtime in public languages ?"). To support these services, the Code must provide the minimum level of information (metadata) to the runtime ). By default, all C #, Visual Basic. NET, and JScript. NET code are hosted code. Visual Studio. net c ++ code is not hosted by default. However, by specifying the command line switch (/CLR), the compiler can also generate managed code.

Managed Data is closely related to managed code. Managed Data is the data that is allocated and released by the garbage collector when the public language is running. By default, C #, Visual Basic, and JScript. NET data are hosted data. However, by using special keywords, C # data can be labeled as unmanaged data. Visual Studio. net c ++ data is not hosted by default (even when/CLR is enabled), but when C ++'s managed extension is used, you can use the "_ gc" keyword to mark the class as a Managed class. As shown in the name, it indicates that the memory of the class instance is managed by the garbage collector. In addition, this class has completely become a member of the. NET Framework and has the benefits and restrictions it brings. An example of the benefit is that it can correctly interoperate with classes written in other languages (for example, hosted C ++ classes can be inherited from Visual Basic classes); an example of the limitation is: managed classes can only inherit from one base class.

Assembly
What is an assembly?
An assembly is the main construction block of. NET Framework applications. It is a set of functions used to create, identify, and deploy a single implementation unit (including one or more files. All managed types and resources can be marked as only accessible within their implementation units, or marked as accessible by code other than this unit.

The Assembly describes itself through the list. A list is an indispensable component of each Assembly. List:

Create an assembly identifier (in text name format), version, category, and digital signature (if you want to share the Assembly between applications ).


Defines the files that constitute the Assembly implementation (by name and file hash ).


Specifies the types and resources that constitute the assembly, including which are exported from the Assembly.


Record dependencies on other sets one by one during compilation.


Specifies the set of permissions required for the correct running of the Assembly.
This information is used at runtime to parse references, enforce version binding policies, and verify the integrity of the loaded assembly. Because each type is loaded into the context of the Assembly, the runtime can determine and locate the assembly of any running object. An assembly is also a unit that applies the code access security permissions. When determining which permissions are granted to the code it contains, the identification evidence of each Assembly is considered independent.

The self-explanatory feature of the Assembly also helps achieve installation without impact and XCOPY deployment.

What is a private assembly and a shared assembly?
Private assembly is only used by a single application and stored in the installation directory (or its subdirectories) of the application ). A shared assembly is an assembly that can be referenced by multiple applications. To share an assembly, the Assembly must be explicitly created for this purpose, which can be achieved by specifying an encrypted enhanced name (used as a shared name) for it. Instead, the private assembly name must be unique only in the application that uses it.

By distinguishing between private and shared assemblies, we will introduce the key points for determining the sharing. Simply deploy the dedicated assembly in the application directory to ensure that the application runs only in the part where it is created and deployed. Reference to a private assembly is parsed only within the private application directory.

You can choose to create and use a shared assembly for multiple reasons, such as expressing version policies. The fact that a shared assembly has an encrypted enhanced name means that only the creator of the Assembly has a key to generate a new version of the Assembly. Therefore, if you make a policy declaration and want to accept the new version of the assembly, you can be sure that the version update will be controlled and verified by the author. Otherwise, you will not accept them.

For locally installed applications, the shared assembly is usually explicitly installed in the Global Assembly Cache (the local cache of the Assembly is maintained by the. NET Framework ).. The key to the version management feature of the. NET Framework is that the downloaded code does not affect the execution of locally installed applications. The downloaded code is stored in a special download cache. Even if some download components are compiled as shared assembly, they cannot be used globally on the machine.

Classes released together with the. NET Framework are compiled

Related Article

E-Commerce Solutions

Leverage the same tools powering the Alibaba Ecosystem

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.