Net framework для windows 7 что это

.NET and .NET Framework

.NET is a developer platform made up of tools, programming languages, and libraries for building many different types of applications.

There are various implementations of .NET. Each implementation allows .NET code to execute in different places—Linux, macOS, Windows, iOS, Android, and many more.

  1. .NET Framework is the original implementation of .NET. It supports running websites, services, desktop apps, and more on Windows.
  2. .NET is a cross-platform implementation for running websites, services, and console apps on Windows, Linux, and macOS. .NET is open source on GitHub. .NET was previously called .NET Core.
  3. Xamarin/Mono is a .NET implementation for running apps on all the major mobile operating systems, including iOS and Android.

.NET Standard is a formal specification of the APIs that are common across .NET implementations. This allows the same code and libraries to run on different implementations.

Each .NET programming language has a compiler that turns your code into Common Intermediate Language. At runtime, the Common Language Runtime turns the compiled code into machine code and runs it.

Architecture of .NET Framework

The two major components of .NET Framework are the Common Language Runtime and the .NET Framework Class Library.

  • The Common Language Runtime (CLR) is the execution engine that handles running applications. It provides services like thread management, garbage collection, type-safety, exception handling, and more.
  • The Class Library provides a set of APIs and types for common functionality. It provides types for strings, dates, numbers, etc. The Class Library includes APIs for reading and writing files, connecting to databases, drawing, and more.

.NET applications are written in the C#, F#, or Visual Basic programming language. Code is compiled into a language-agnostic Common Intermediate Language (CIL). Compiled code is stored in assemblies—files with a .dll or .exe file extension.

When an app runs, the CLR takes the assembly and uses a just-in-time compiler (JIT) to turn it into machine code that can execute on the specific architecture of the computer it is running on.

Read more: What is the .NET Framework

Release history

The following releases have reached end of life, meaning they’re no longer supported. We recommend moving to a supported release.

Version Release date End of support
.NET Framework 4.6.1 November 30, 2015 April 26, 2022
.NET Framework 4.6 July 20, 2015 April 26, 2022
.NET Framework 4.5.2 May 5, 2014 April 26, 2022
.NET Framework 4.5.1 October 17, 2013 January 12, 2016
.NET Framework 4.5 August 15, 2012 January 12, 2016
.NET Framework 4.0 April 12, 2010 January 12, 2016

.NET Framework FAQ

What is .NET Framework used for?

.NET Framework is used to create and run software applications. .NET apps can run on many operating systems, using different implementations of .NET. .NET Framework is used for running .NET apps on Windows.

Who uses .NET Framework?

Software developers and the users of their applications both use .NET Framework:

  • Users of applications built with the .NET Framework need to have .NET Framework installed. In most cases, .NET Framework is already installed with Windows. If needed, you can download .NET Framework.
  • Software developers use .NET Framework to build many different types of applications—websites, services, desktop apps, and more with Visual Studio. Visual Studio is an integrated development environment (IDE) that provides development productivity tools and debugging capabilities. See the .NET customer showcase for examples of what people are building with .NET.

Why do I need .NET Framework?

You need .NET Framework installed to run applications on Windows that were created using .NET Framework. It’s already included in many versions of Windows. You only need to download and install .NET Framework if prompted to do so.

How does .NET Framework work?

.NET Framework applications are written in C#, F#, or Visual Basic and compiled to Common Intermediate Language (CIL). The Common Language Runtime (CLR) runs .NET applications on a given machine, converting the CIL to machine code. See Architecture of .NET Framework for more info.

What are the main components/features of .NET Framework?

The two major components of .NET Framework are the Common Language Runtime (CLR) and the .NET Framework Class Library. The CLR is the execution engine that handles running applications. The Class Library provides a set of APIs and types for common functionality. See Architecture of .NET Framework for more info.

What is the difference between .NET and .NET Framework?

.NET and .NET Framework share many of the same components and you can share code across the two. Some key differences include:

  • .NET is cross-platform and runs on Linux, macOS, and Windows. .NET Framework only runs on Windows.
  • .NET is open-source and accepts contributions from the community. The .NET Framework source code is available but doesn’t take direct contributions.
  • All of the innovation happens in .NET.
  • .NET Framework is included in Windows and automatically updated machine-wide by Windows Update. .NET is shipped independently.

See .NET vs. .NET Framework for server apps for more details.

Can you have multiple .NET Frameworks installed?

Some versions of .NET Framework are installed side-by-side, while others will upgrade an existing version (known as an in-place update). In-place updates occur when two .NET Framework versions share the same CLR version.

For example, installing .NET Framework 4.8 on a machine with .NET Framework 4.7.2 and 3.5 installed will perform an in-place update of the 4.7.2 installation and leave 3.5 installed separately.

CLR version used by .NET Framework versions

.NET Framework version CLR version
.NET Framework 4.x 4.0
.NET Framework 2.x and 3.x 2.0
.NET Framework 1.1 1.1
.NET Framework 1.0 1.0

How much does .NET Framework cost?

.NET Framework is free, like the rest of the .NET platform. There are no fees or licensing costs, including for commercial use. See .NET is free for more details.

Which version of .NET Framework should I use?

In most cases, you should use the latest stable release. Currently, that’s .NET Framework 4.8.1 .

Applications that were created with any 4.x version of .NET Framework will run on .NET Framework 4.8.1 . To run an application that was created for an earlier version (for example, .NET Framework 3.5), you should install that version. See Download .NET Framework for a complete list.

What is the support policy for .NET Framework?

.NET Framework 4.8.1 is the latest version of .NET Framework and will continue to be distributed with future releases of Windows. As long as it is installed on a supported version of Windows, .NET Framework 4.8.1 will continue to also be supported.

See the .NET Framework support policy for more details

.NET Framework

.NET Framework component stack

Developer(s) Microsoft
Initial release February 13, 2002; 21 years ago
Final release

4.8.1
/ August 9, 2022; 13 months ago[1]

Operating system Windows 98 or later, Windows NT 4.0 or later
Platform IA-32, x86-64, and ARM
Successor .NET
Type Software framework
License Mixed; see § Licensing
Website dotnet.microsoft.com Edit this on Wikidata

The .NET Framework (pronounced as «dot net«) is a proprietary software framework developed by Microsoft that runs primarily on Microsoft Windows. It was the predominant implementation of the Common Language Infrastructure (CLI) until being superseded by the cross-platform .NET project. It includes a large class library called Framework Class Library (FCL) and provides language interoperability (each language can use code written in other languages) across several programming languages. Programs written for .NET Framework execute in a software environment (in contrast to a hardware environment) named the Common Language Runtime (CLR). The CLR is an application virtual machine that provides services such as security, memory management, and exception handling. As such, computer code written using .NET Framework is called «managed code». FCL and CLR together constitute the .NET Framework.

FCL provides the user interface, data access, database connectivity, cryptography, web application development, numeric algorithms, and network communications. Programmers produce software by combining their source code with .NET Framework and other libraries. The framework is intended to be used by most new applications created for the Windows platform. Microsoft also produces an integrated development environment for .NET software called Visual Studio.

.NET Framework began as proprietary software, although the firm worked to standardize the software stack almost immediately, even before its first release. Despite the standardization efforts, developers, mainly those in the free and open-source software communities, expressed their unease with the selected terms and the prospects of any free and open-source implementation, especially regarding software patents. Since then, Microsoft has changed .NET development to more closely follow a contemporary model of a community-developed software project, including issuing an update to its patent promising to address the concerns.[2]

In April 2019, Microsoft released .NET Framework 4.8, the last version of the framework as a proprietary offering. Only monthly security and reliability bug fixes to that version have been released since then. No further changes to that version are planned.[3]

History[edit]

Microsoft began developing .NET Framework in the late 1990s, originally under the name of Next Generation Windows Services (NGWS), as part of the .NET strategy. By early 2000, the first beta versions of .NET 1.0 were released.

In August 2000, Microsoft, and Intel worked to standardize Common Language Infrastructure (CLI) and C#. By December 2001, both were ratified Ecma International (ECMA) standards.[4][5] International Organization for Standardization (ISO) followed in April 2003. The current version of ISO standards are ISO/IEC 23271:2012 and ISO/IEC 23270:2006.[6][7]

While Microsoft and their partners hold patents for CLI and C#, ECMA and ISO require that all patents essential to implementation be made available under «reasonable and non-discriminatory terms». The firms agreed to meet these terms, and to make the patents available royalty-free. However, this did not apply to the part of the .NET Framework not covered by ECMA-ISO standards, which included Windows Forms, ADO.NET, and ASP.NET. Patents that Microsoft holds in these areas may have deterred non-Microsoft implementations of the full framework.[8]

On October 3, 2007, Microsoft announced that the source code for .NET Framework 3.5 libraries was to become available under the Microsoft Reference Source License (Ms-RSL[a]).[9] The source code repository became available online on January 16, 2008, and included BCL, ASP.NET, ADO.NET, Windows Forms, WPF, and XML. Scott Guthrie of Microsoft promised that LINQ, WCF, and WF libraries were being added.[10]

The .NET Compact Framework and .NET Micro Framework variants of the .NET Framework provided support for other Microsoft platforms such as Windows Mobile, Windows CE and other resource-constrained embedded devices. Silverlight provided support for web browsers via plug-ins.

Microsoft .NET Framework v4.5 logo

In November 2014, Microsoft also produced an update to its patent grants, which further extends the scope beyond its prior pledges. Prior projects like Mono existed in a legal grey area because Microsoft’s earlier grants applied only to the technology in «covered specifications», including strictly the 4th editions each of ECMA-334 and ECMA-335. The new patent promise, however, places no ceiling on the specification version, and even extends to any .NET runtime technologies documented on MSDN that have not been formally specified by the ECMA group, if a project chooses to implement them. This allows Mono and other projects to maintain feature parity with modern .NET features that have been introduced since the 4th edition was published without being at risk of patent litigation over the implementation of those features. The new grant does maintain the restriction that any implementation must maintain minimum compliance with the mandatory parts of the CLI specification.[11]

On March 31, 2016, Microsoft announced at Microsoft Build that they will completely relicense Mono under an MIT License even in scenarios where formerly a commercial license was needed.[12] Microsoft also supplemented its prior patent promise for Mono, stating that they will not assert any «applicable patents» against parties that are «using, selling, offering for sale, importing, or distributing Mono.»[13][14] It was announced that the Mono Project was contributed to the .NET Foundation. These developments followed the acquisition of Xamarin, which began in February 2016 and was finished on March 18, 2016.[15]

Microsoft’s press release highlights that the cross-platform commitment now allows for a fully open-source, modern server-side .NET stack. Microsoft released the source code for WPF, Windows Forms and WinUI on December 4, 2018.[16]

Architecture[edit]

Visual overview of the Common Language Infrastructure (CLI)

Common Language Infrastructure[edit]

Common Language Infrastructure (CLI) provides a language-neutral platform for application development and execution. By implementing the core aspects of .NET Framework within the scope of CLI, these functions will not be tied to one language but will be available across the many languages supported by the framework.

Common Language Runtime[edit]

.NET Framework includes the Common Language Runtime (CLR). It serves as the execution engine of .NET Framework and offers many services such as memory management, type safety, exception handling, garbage collection, security and thread management. All programs written for .NET Framework are executed by the CLR.

Programs written for .NET Framework are compiled into Common Intermediate Language code (CIL), as opposed to being directly compiled into machine code. During execution, an architecture-specific just-in-time compiler (JIT) turns the CIL code into machine code.

Assemblies[edit]

Compiled CIL code is stored in CLI assemblies. As mandated by the specification, assemblies are stored in Portable Executable (PE) file format, common on Windows platform for all dynamic-link library (DLL) and executable EXE files. Each assembly consists of one or more files, one of which must contain a manifest bearing the metadata for the assembly. The complete name of an assembly (not to be confused with the file name on disk) contains its simple text name, version number, culture, and public key token. Assemblies are considered equivalent if they share the same complete name.

A private key can also be used by the creator of the assembly for strong naming. The public key token determines the real-world identity of the assembly’s signer. Only who knows their private key (of the double-key cryptography system) can sign assemblies that have the same strong name as a prior version assembly. Strong naming is required to add assemblies to Global Assembly Cache.

Starting with Visual Studio 2015, .NET Native compilation technology allows for the compilation of .NET code of Universal Windows Platform apps directly to machine code rather than CIL code, but the app must be written in either C# or Visual Basic.NET.[17]

Class library[edit]

.NET Framework includes an implementation of the CLI foundational Standard Libraries. The .NET Framework Class Library (FCL) is organized in a hierarchy of namespaces. Most of the built-in application programming interfaces (APIs) are part of either System.* or Microsoft.* namespaces. These class libraries implement many common functions, such as file reading and writing, graphic rendering, database interaction, and XML document manipulation. The class libraries are available for all CLI compliant languages. The FCL implements the CLI Base Class Library (BCL) and other class libraries—some are specified by CLI and other are Microsoft specific.

BCL includes a small subset of the entire class library and is the core set of classes that serve as the basic API of CLR.[18] For .NET Framework most classes considered being part of BCL reside in mscorlib.dll, System.dll and System.Core.dll. BCL classes are available in .NET Framework as well as in CLI’s alternative implementations including .NET Compact Framework, Microsoft Silverlight, .NET Core and Mono.

FCL refers to the entire class library that ships with .NET Framework. It includes BCL, an expanded set of libraries, including Windows Forms, ASP.NET, and Windows Presentation Foundation (WPF), and also extensions to the base class libraries ADO.NET, Language Integrated Query (LINQ), Windows Communication Foundation (WCF), and Workflow Foundation (WF). FCL is much larger in scope than standard libraries for languages like C++, and comparable in scope to standard libraries of Java.

With the introduction of alternative CLI’s implementations (e.g., Silverlight), Microsoft introduced the concept of Portable Class Libraries (PCL) allowing a consuming library to run on more than one implementation. With the further proliferation of implementations, the PCL approach failed to scale (PCLs are defined intersections of API surface between two or more implementations).[19] As the next evolutionary step of PCL, the .NET Standard Library was created retroactively based on the System.Runtime.dll based APIs found in UWP and Silverlight. New CLI’s implementations are encouraged to implement a version of the Standard Library allowing them to run existent third-party libraries with no need of creating new versions of them. The .NET Standard Library allows an independent evolution of the library and app model layers within the .NET architecture.[20]

NuGet is the package manager for all .NET platforms. It is used to retrieve third-party libraries into a .NET project with a global library feed at NuGet.org.[21] Private feeds can be maintained separately, e.g., by a build server or a file system directory.

UML package diagram of the stream hierarchy in .NET

C++/CLI[edit]

Microsoft introduced C++/CLI in Visual Studio 2005, which is a language and means of compiling Visual C++ programs to run within the .NET Framework. Some parts of the C++ program still run within an unmanaged Visual C++ Runtime, while specially modified parts are translated into CIL code and run with the .NET Framework’s CLR.

Assemblies compiled using the C++/CLI compiler are termed mixed-mode assemblies since they contain native and managed code in the same DLL.[22] Such assemblies are more complex to reverse engineer since .NET decompilers such as .NET Reflector reveal only the managed code.

Design principle[edit]

Interoperability[edit]

Because computer systems commonly require interaction between newer and older applications, .NET Framework provides means to access functions implemented in newer and older programs that execute outside .NET environment. Access to Component Object Model (COM) components is provided in System.Runtime.InteropServices and System.EnterpriseServices namespaces of the framework. Access to other functions is via Platform Invocation Services (P/Invoke). Access to .NET functions from native applications is via the reverse P/Invoke function.

Language independence[edit]

.NET Framework introduces a Common Type System (CTS) that defines all possible data types and programming constructs supported by CLR and how they may or may not interact conforming to CLI specifications. Because of this feature, .NET Framework supports the exchange of types and object instances between libraries and applications written using any conforming CLI language.

Type safety[edit]

CTS and the CLR used in .NET Framework also enforce type safety. This prevents ill-defined casts, wrong method invocations, and memory size issues when accessing an object. This also makes most CLI languages statically typed (with or without type inference). However, starting with .NET Framework 4.0, the Dynamic Language Runtime extended the CLR, allowing dynamically typed languages to be implemented atop the CLI.

Portability[edit]

While Microsoft has never implemented the full framework on any system except Microsoft Windows, it has engineered the framework to be cross-platform,[23] and implementations are available for other operating systems (see Silverlight and § Alternative implementations). Microsoft submitted the specifications for CLI (which includes the Base Class Libraries, CTS, and CIL),[24][25][26] C#,[27] and C++/CLI[28] to both Ecma International (ECMA) and International Organization for Standardization (ISO), making them available as official standards. This makes it possible for third parties to create compatible implementations of the framework and its languages on other platforms.

Core cross-plarform .NET (formerly .NET Core) is officially available also for many Linux distributions and MacOS.[citation needed]

Security[edit]

.NET Framework has its own security mechanism with two general features: Code Access Security (CAS), and validation and verification. CAS is based on evidence that is associated with a specific assembly. Typically the evidence is the source of the assembly (whether it is installed on the local machine or has been downloaded from the Internet). CAS uses evidence to determine the permissions granted to the code. When calling code demands that it be granted a specific permission, CLR performs a call stack walk checking every assembly of each method in the call stack for the required permission; if any assembly is not granted the permission, it will throw a security exception.

Managed CIL bytecode is easier to reverse-engineer than native code, unless obfuscated.[29] .NET decompiler programs enable developers with no reverse-engineering skills to view the source code behind unobfuscated .NET assemblies. In contrast, apps compiled to native machine code are much harder to reverse-engineer, and source code is almost never produced successfully, mainly because of compiler optimizations and lack of reflection.[30] This creates concerns in the business community over the possible loss of trade secrets and the bypassing of license control mechanisms. To mitigate this, Microsoft has included Dotfuscator Community Edition with Visual Studio .NET since 2002.[b] Third-party obfuscation tools are also available from vendors such as VMware, V.i. Labs, Turbo, and Red Gate Software. Method-level encryption tools for .NET code are available from vendors such as SafeNet.

Memory management[edit]

CLR frees the developer from the burden of managing memory (allocating and freeing up when done); it handles memory management itself by detecting when memory can be safely freed. Instantiations of .NET types (objects) are allocated from the managed heap; a pool of memory managed by CLR. As long as a reference to an object exists, which may be either direct, or via a graph of objects, the object is considered to be in use. When no reference to an object exists, and it cannot be reached or used, it becomes garbage, eligible for collection.

.NET Framework includes a garbage collector (GC) which runs periodically, on a separate thread from the application’s thread, that enumerates all the unusable objects and reclaims the memory allocated to them. It is a non-deterministic, compacting, mark-and-sweep garbage collector. GC runs only when a set amount of memory has been used or there is enough pressure for memory on the system. Since it is not guaranteed when the conditions to reclaim memory are reached, GC runs are non-deterministic. Each .NET application has a set of roots, which are pointers to objects on the managed heap (managed objects). These include references to static objects, objects defined as local variables or method parameters currently in scope, and objects referred to by CPU registers.[31] When GC runs, it pauses the application and then, for each object referred to in the root, it recursively enumerates all the objects reachable from the root objects and marks them as reachable. It uses CLI metadata and reflection to discover the objects encapsulated by an object, and then recursively walk them. It then enumerates all the objects on the heap (which were initially allocated contiguously) using reflection. All objects not marked as reachable are garbage.[31] This is the mark phase.[32] Since the memory held by garbage is of no consequence, it is considered free space. However, this leaves chunks of free space between objects which were initially contiguous. The objects are then compacted together to make free space on the managed heap contiguous again.[31][32] Any reference to an object invalidated by moving the object is updated by GC to reflect the new location.[32] The application is resumed after garbage collection ends. The latest version of .NET framework uses concurrent garbage collection along with user code, making pauses unnoticeable, because it is done in the background.[33]

The garbage collector used by .NET Framework is also generational.[34] Objects are assigned a generation. Newly created objects are tagged Generation 0. Objects that survive one garbage collection are tagged Generation 1. Generation 1 objects that survive another collection are Generation 2. The framework uses up to Generation 2 objects.[34] Higher generation objects are garbage collected less often than lower generation objects. This raises the efficiency of garbage collection, as older objects tend to have longer lifetimes than newer objects.[34] By ignoring older objects in most collection runs, fewer checks and compaction operations are needed in total.[34]

Performance[edit]

When an application is first launched, the .NET Framework compiles the CIL code into executable code using its just-in-time compiler, and caches the executable program into the .NET Native Image Cache.[35][36] Due to caching, the application launches faster for subsequent launches, although the first launch is usually slower. To speed up the first launch, developers may use the Native Image Generator utility to manually ahead-of-time compile and cache any .NET application.[36]

The garbage collector, which is integrated into the environment, can introduce unanticipated delays of execution over which the developer has little direct control. «In large applications, the number of objects that the garbage collector needs to work with can become very large, which means it can take a very long time to visit and rearrange all of them.»[37]

.NET Framework provides support for calling Streaming SIMD Extensions (SSE) via managed code from April 2014 in Visual Studio 2013 Update 2. However, Mono has provided support for SIMD Extensions as of version 2.2 within the Mono.Simd namespace in 2009.[38] Mono’s lead developer Miguel de Icaza has expressed hope that this SIMD support will be adopted by CLR’s ECMA standard.[39] Streaming SIMD Extensions have been available in x86 CPUs since the introduction of the Pentium III. Some other architectures such as ARM and MIPS also have SIMD extensions. In case the CPU lacks support for those extensions, the instructions are simulated in software.[40][41]

Alternative implementations[edit]

.NET Framework was the predominant implementation of CLI, until the release of .NET. Other implementations for parts of the framework exist. Although the runtime engine is described by an ECMA-ISO specification, other implementations of it may be encumbered by patent issues; ISO standards may include the disclaimer, «Attention is drawn to the possibility that some of the elements of this document may be the subject of patent rights. ISO shall not be held responsible for identifying any or all such patent rights.»[42] It is harder to develop alternatives to FCL, which is not described by an open standard and may be subject to copyright restrictions. Also, parts of FCL have Windows-specific functions and behavior, so implementation on non-Windows platforms can be problematic.

Some alternative implementations of parts of the framework are listed here.

  • .NET Micro Framework is a .NET platform for extremely resource-constrained devices. It includes a small version of CLR and supports development in C# (though some developers were able to use VB.NET,[43] albeit with an amount of hacking, and with limited functionalities) and debugging (in an emulator or on hardware), both using Microsoft Visual Studio. It also features a subset of .NET Framework Class Library (about 70 classes with about 420 methods), a GUI framework loosely based on WPF, and additional libraries specific to embedded applications.
  • Mono is an implementation of CLI and FCL, and provides added functions. It is licensed as free software under the MIT License. It includes support for ASP.NET, ADO.NET, and Windows Forms libraries for a wide range of architectures and operating systems. It also includes C# and VB.NET compilers.
  • Portable.NET (part of DotGNU) provides an implementation of CLI, parts of FCL, and a C# compiler. It supports a variety of CPUs and operating systems. The project was discontinued, with the last stable release in 2009.
  • Microsoft Shared Source Common Language Infrastructure is a non-free implementation of CLR. However, the last version runs on Windows XP SP2 only, and has not been updated since 2006. Thus, it does not contain all features of version 2.0 of .NET Framework.
  • CrossNet[44] is an implementation of CLI and parts of FCL. It is free software using an open source MIT License.

Licensing[edit]

Microsoft managed code frameworks and their components are licensed as follows:

See also[edit]

  • Microsoft Foundation Class Library (MFC), an object-oriented abstraction used to ease Windows-based application programming prior to .NET Framework
  • .NET (formerly .NET Core)
  • List of CLI languages
  • Standard Libraries (CLI), the .NET standard libraries
  • Base Class Library (BCL)

Notes[edit]

  1. ^ a b The license was formerly abbreviated Ms-RL, but Ms-RL now refers to the Microsoft Reciprocal License.
  2. ^ Dotfuscator Community Edition 4.0

References[edit]

  1. ^ «Download .NET Framework 4.8 Offline Installer». Microsoft. Archived from the original on August 15, 2019. Retrieved August 15, 2019.
  2. ^ «Microsoft gets on board with open source». Opensource.com. November 19, 2014. Retrieved January 2, 2020.
  3. ^ gewarren. «.NET Framework & Windows OS versions». docs.microsoft.com. Retrieved November 21, 2020.
  4. ^ «Standard ECMA-335: Common Language Infrastructure (CLI)». ecma-international.org (6 ed.). ECMA. June 2012. Archived from the original on June 29, 2013. Retrieved August 31, 2005.
  5. ^ «Standard ECMA-334: C# Language Specification». ecma-international.org (4 ed.). ECMA. June 2006. Archived from the original on October 31, 2010. Retrieved August 31, 2005.
  6. ^ «ISO/IEC 23271:2012 Information technology – Common Language Infrastructure». iso.org (3 ed.). International Organization for Standardization. February 13, 2012.
  7. ^ «ISO/IEC 23270:2006 – Information technology – Programming languages – C#». iso.org (2 ed.). International Organization for Standardization. January 26, 2012. Archived from the original on December 6, 2010. Retrieved April 1, 2008.
  8. ^ «Microsoft’s Empty Promise». Free Software Foundation. 16 July 2009. Archived from the original on August 19, 2009. Retrieved August 3, 2009. However, there are several libraries that are included with Mono, and commonly used by applications like Tomboy, that are not required by the standard. And just to be clear, we’re not talking about Windows-specific libraries like ASP.NET and Windows Forms. Instead, we’re talking about libraries under the System namespace that provide common functionality programmers expect in modern programming languages
  9. ^ a b Guthrie, Scott (3 October 2007). «Releasing the Source Code for the NET Framework». Scott Guthrie’s Blog. Microsoft. Archived from the original on September 7, 2010. Retrieved September 15, 2010.
  10. ^ Guthrie, Scott (January 16, 2008). «.NET Framework Library Source Code now available». Scott Guthrie’s Blog. Microsoft. Retrieved February 28, 2015.
  11. ^ «Microsoft Patent Promise for .NET Libraries and Runtime Components». GitHub. Archived from the original on February 21, 2021. Retrieved November 16, 2014.
  12. ^ Krill, Paul (April 1, 2016). «Xamarin’s Mono runtime gets a looser license». InfoWorld. IDG.
  13. ^ Ferraira, Bruno (March 31, 2016). «Xamarin now comes free with Visual Studio». The Tech Report. Archived from the original on April 2, 2016. Retrieved April 12, 2016.
  14. ^ «Microsoft Patent Promise for Mono». Mono on GitHub. Mono Project. 28 March 2016. Archived from the original on April 16, 2016. Retrieved April 16, 2016.
  15. ^ «Xamarin for Everyone». Xamarin Blog. Xamarin. March 31, 2016. Archived from the original on April 12, 2016. Retrieved April 12, 2016.
  16. ^ «Announcing Open Source of WPF, Windows Forms, and WinUI at Microsoft Connect 2018». Windows Developer Blog. Microsoft. December 4, 2018. Archived from the original on December 15, 2018. Retrieved December 24, 2018.
  17. ^ rpetrusha. «Compiling Apps with .NET Native». docs.microsoft.com. Archived from the original on December 3, 2017. Retrieved December 2, 2017.
  18. ^ «Base Class Library». Retrieved June 1, 2008.
  19. ^ «.NET Platform Standard». GitHub. Archived from the original on May 19, 2016. Retrieved April 23, 2016.
  20. ^ «An update on ASP.NET Core 1.0 RC2». Retrieved April 23, 2016.
  21. ^ «NuGet Gallery – Home». nuget.org. Archived from the original on February 21, 2021. Retrieved February 21, 2021.
  22. ^ Mixed (Native and Managed) Assemblies Archived October 22, 2014, at the Wayback Machine, MSDN
  23. ^ «Scott Guthrie: Silverlight and the Cross-Platform CLR». Channel 9. 30 April 2007. Archived from the original on May 22, 2015. Retrieved April 16, 2016.
  24. ^ «ECMA 335 – Standard ECMA-335 Common Language Infrastructure (CLI) 4th edition (June 2006)». ECMA. June 1, 2006. Archived from the original on June 14, 2008. Retrieved June 1, 2008.
  25. ^ «ISO/IEC 23271:2006». Standards.iso.org. September 29, 2006. Archived from the original on July 1, 2018. Retrieved April 17, 2012.
  26. ^ «Technical Report TR/84 Common Language Infrastructure (CLI) – Information Derived from Partition IV XML File». ECMA. 1 June 2006. Archived from the original on March 7, 2015. Retrieved April 16, 2016.
  27. ^ «ECMA-334 C# Language Specification». ECMA. June 1, 2006. Archived from the original on October 31, 2010. Retrieved August 31, 2005.
  28. ^ «Standard ECMA-372 C++/CLI Language Specification». ECMA. December 1, 2005. Archived from the original on August 10, 2008. Retrieved January 16, 2008.
  29. ^ Gartner, Inc. as reported in «Hype Cycle for Cyberthreats, 2006», September 2006, Neil MacDonald; Amrit Williams, et al.
  30. ^ Cifuentes, Cristina (July 1994). «6: Control Flow Analysis» (PDF). Reverse Compilation Techniques (Thesis). Queensland University of Technology. Archived from the original (PDF) on 22 November 2016.
  31. ^ a b c «Garbage Collection: Automatic Memory Management in the Microsoft .NET Framework». Archived from the original on July 3, 2007. Retrieved June 1, 2008.
  32. ^ a b c «Garbage collection in .NET». Archived from the original on May 25, 2008. Retrieved June 1, 2008.
  33. ^ «The .NET Framework 4.5 includes new garbage collector enhancements for client and server apps». July 20, 2012. Retrieved October 2, 2015.
  34. ^ a b c d «Garbage Collection—Part 2: Automatic Memory Management in the Microsoft .NET Framework». Archived from the original on June 26, 2007. Retrieved June 1, 2008.
  35. ^ «Understanding .NET Just-In-Time Compilation». telerik.com. May 28, 2013. Archived from the original on June 11, 2013. Retrieved May 21, 2015.
  36. ^ a b Compiling MSIL to Native Code Archived April 19, 2015, at the Wayback Machine, MSDN, Microsoft
  37. ^ «Understanding Garbage Collection in .NET». June 17, 2009.
  38. ^ «Release Notes Mono 2.2 – Mono». mono-project.com.
  39. ^ «Mono’s SIMD Support: Making Mono safe for Gaming». Tirania.org. November 3, 2008. Archived from the original on November 4, 2010. Retrieved April 17, 2012.
  40. ^ «Mono’s SIMD Support: Making Mono safe for Gaming – Miguel de Icaza». tirania.org. Retrieved May 6, 2022.
  41. ^ «SIMD-accelerated types in .NET». docs.microsoft.com. Retrieved May 6, 2022.
  42. ^ ISO 9001:2008, Foreword
  43. ^ Fairbairn, Christopher (April 1, 2008). «Using VB.NET with the .NET Micro Framework «/dev/mobile». /dev/mobile. Archived from the original on February 27, 2018. Retrieved April 17, 2012.
  44. ^ «CrossNet». Codeplex.com. Archived from the original on January 25, 2010. Retrieved April 17, 2012.
  45. ^ «Microsoft .NET Framework Redistributable EULA». MSDN. Microsoft. Archived from the original on April 2, 2015. Retrieved February 28, 2015.
  46. ^ Bray, Brandon (August 15, 2012). «Announcing the release of .NET Framework 4.5 RTM – Product and Source Code». .NET Framework Blog. Microsoft. Archived from the original on October 4, 2016. Retrieved August 18, 2016.
  47. ^ «Announcing .NET 2015 Preview: A New Era for .NET». .NET Framework Blog. Microsoft. November 12, 2014. Archived from the original on August 19, 2016. Retrieved August 18, 2016.
  48. ^ «Xamarin for Everyone». Xamarin Blog. Microsoft. April 17, 2016. Archived from the original on April 12, 2016. Retrieved April 12, 2016.
  49. ^ «.NET Core 5». dotnetfoundation.org. .NET Foundation. Archived from the original on 17 February 2015. Retrieved 17 February 2015.
  50. ^ «.NET Micro Framework». dotnetfoundation.org. .NET Foundation. Archived from the original on 17 February 2015. Retrieved 17 February 2015.
  51. ^ «Roslyn License». GitHub. .NET Foundation. February 5, 2020. Archived from the original on March 24, 2018. Retrieved April 14, 2018.
  52. ^ «ASP.NET MVC, Web API and Web Pages (Razor)». dotnetfoundation.org. .NET Foundation. Archived from the original on 17 February 2015. Retrieved 17 February 2015.
  53. ^ «ASP.NET Core License». GitHub. .NET Foundation. July 5, 2017. Archived from the original on February 21, 2021. Retrieved April 14, 2018.
  54. ^ «ASP.NET Ajax Control Toolkit». dotnetfoundation.org. .NET Foundation. Archived from the original on 17 February 2015. Retrieved 17 February 2015.
  55. ^ «ASP.NET SignalR». dotnetfoundation.org. .NET Foundation. Archived from the original on 17 February 2015. Retrieved 17 February 2015.
  56. ^ «Entity Framework». dotnetfoundation.org. .NET Foundation. Archived from the original on 18 April 2016. Retrieved 16 April 2016.
  57. ^ «NuGet». dotnetfoundation.org. .NET Foundation. Archived from the original on 17 February 2015. Retrieved 17 February 2015.

External links[edit]

  • Official website
  • Overview of .NET Framework (MSDN)
  • .NET Github repository

Время на прочтение: 4 минут(ы)

Что такое .NET

.NET Framework («дот нет») — это своеобразный адаптер кода для Windows, помогающий подстроить написанную программу под язык процессора.

Разные программы создаются на разных языках программирования. Языки развиваются, их становится больше. Количество приложений, построенных на них, тоже постоянно увеличивается.

Из-за этого разработка стала менее эффективной: сред, технологий для программирования стало очень много. Зачастую они конфликтовали друг с другом. Причиной было отсутствие совместимости, так как инструменты, с которыми работали программисты, были ориентированными на конкретный язык, то есть для каждого языка был свой набор приложений.

Так, пространство .NET — это единая платформа. Она собирает все инструменты в одном унифицированном пространстве. Это помогает поддерживать объектно-ориентированность, безопасность кода, обработку исключений.

Например, когда вы создаете программу на одном из языков программирования, подключается пространство имён. Именно им пользуется программист, чтобы правильно написать код, организовать его согласно логике языка.

Без .NET было бы необходимо постоянно подключать пространства имён, чтобы программы правильно идентифицировались системой, корректно работали. С .NET это не нужно, так как он позволяет применять сходные пространства имён, библиотеки, API. В числе языков, на которые рассчитан .NET Framework:

  • C#
  • Visual C++
  • Visual Basic
  • F#

Подобный подход к обработке кода позволяет соблюсти одно из основных правил программирования — Don’t Repeat Yourself.

Для чего нужен .Net

Универсальность

.NET многим полезна для программистов. Например, она даёт пользоваться четырьмя языками программирования в рамках одной платформы. Благодаря этому можно не ждать, когда выйдут новые библиотеки, они будут появляться с обновлениями .NET. А ещё можно писать код на разных языках одновременно, и эти элементы будут легко взаимодействовать друг с другом.

Профессия

Python-разработчик

C нуля освойте все навыки python-разработчика и найдите работу с зарплатой от 100 000 рублей. Карьерный Центр гаранитирует трудоустройство во время обучения, или вам вернут деньги

Записаться

Дешевле для компании

.NET даже удешевляет работу, так как вместо трёх команд, занимающихся созданием программ под Windows, MacOS, Linux можно взять одну на .NET. Скорость написания кода не увеличится, но зато он будет работать сразу на всех платформах.

Удобство пользователей

По описанию .NET может сложиться впечатление, что она полезна только программистам, но на самом деле это не так. Пользователям она тоже облегчает пользование компьютером. Ведь если бы .NET не было, перед запуском программы на каждый компьютер надо бы было устанавливать среду исполнения под её язык. Так .NET помогает сэкономить место на жёстком диске: не надо устанавливать дополнительные компоненты. Да и установка программ теперь идет максимально быстро.

Причём без .NET библиотеки пришлось бы устанавливать на Windows постоянно, даже если язык один и тот же. Всё из-за того, что библиотеки часто обновляются, и из-за любых незначительных перемен пришлось бы устанавливать ещё одну, почти идентичную уже установленной, библиотеку. А она бы не заменяла уже существующую, устанавливаясь рядом.

Как работает .Net

Разобраться с принципом работы .NET Framework можно, разобравшись с ключевыми элементами платформы:

  • CLR — Common Language Runtime, то есть исполняющая среда. 
  • CLI — Common Language Infrastructure, или общеязыковая инфраструктура.
  • CIL — Common Intermediate Language, то есть промежуточный язык.

Новичкам тяжело понять разницу между этими компонентам из-за схожих названий. .NET, рассмотрим принцип её работы: 

  1. Сначала пользователь пишет код на одном или даже смеси языков программирования. 
  2. Во время компиляции с помощью CLI, .NET переведёт код на свой, промежуточный язык. Получится промежуточный байт-код CIL.
  3. После подключаются нужные библиотеки.
  4. При запуске программы, виртуальная машина .NET передаёт байт-код в часть CLR.
  5. Байт-код переводится на нужный язык.
  6. Программа выполняется.

Это происходит при запуске любой программы на Windows и других ОС, если установлен .NET Core.

Что такое .Net Core

.NET вышла в начале 2000-х, изначально работала исключительно с Windows. Так было до 2014 года, пока не вышла .NET Core, новая кроссплатформенная версия. Со временем ею планируют полностью заменить устаревшую, ведь она гораздо комфортнее, работает на Windows, Linux и MacOS. А последняя версия базового .NET Framework была выпущена в 2019 году.

С тех пор .NET Core называется просто .NET, начиная с версии 5.0. Главным отличием .NET Core от предыдущей версии является открытый исходный код. Хотя код .NET Framework тоже можно посмотреть, но не использовать, как открытый.

Чем Net отличается от виртуальной машины Java

.NET разрабатывался, в том числе, и как аналог уже существующей виртуальной машины Java, но более современный. Основным отличием здесь стала польза для пользователей ПК, так как .NET Core работает и с ними, запуская любые необходимые программы, причём не только на Windows.

Если говорить подробнее, виртуальная машина Java устроена сложнее, это буквально компьютер внутри компьютера, который глубоко работает с кодом. В сравнении с ней .NET больше похож на переводчика, помогающего пользователям улучшить свой опыт использования персонального компьютера. .NET позволил создавать больше полезных программ и свободно выпускать их без риска, что кто-то из пользователей не справится с установкой.

Потенциал карьеры .NET разработчика

Мы уже писали, что использование фреймворка помогает удешевить разработку. Для компаний это отличный способ оптимизировать затраты, поэтому знание .Net часто встречается в вакансиях C# разработчиков.

Вот пример вакансии на hh.ru:

Вакансия Net разработчика

Все чаще требуется работа именно с .Net Core: постепенно новая версия платформы вытесняет предшественника. В среднем, зарплата middle разработчика составлять 150-250 тысяч рублей: все зависит от вашего опыта и того, насколько вы подходите под задачи компании.

Войти в разработку на C# сложнее, чем на Java или Python. Как и любому разработчику, необходимо понимать работу алгоритмов, архитектуру сервисов. Разбираться с этим на C# будет сложнее. Поэтому часто советуют начать с изучения более «мейнстримных», после чего повышать сложность.

Содержание:

  • 1 NET Framework – для чего он нужен и можно ли удалить
  • 2 Как узнать, какая версия NET Framework установлена
    • 2.1 С помощью Проводника и командной строки
    • 2.2 Через редактор реестра
    • 2.3 С помощью сторонних утилит
  • 3 Как скачать NET Framework для Windows 7/10
  • 4 Значение NET Framework

Пользуясь популярным программным обеспечением, большинство пользователей не задумывается, какие сложные процессы протекают при этом в операционной системе. Почему и как работает программа, что за ресурсы она использует, из-за чего появляются ошибки и тому подобное. По факту лишь некоторые приложения способны запускаться автономно, независимо от наличия в системе тех или иных программных компонентов. Львиная же доля ПО требует подходящей конфигурации. Наглядным тому примером служит нехватка NET Framework при установке и запуске определенных приложений.

Ошибка из-за отсутствия нужной версии NET Framework

Мы уже выяснили, что многие программы не будут нормально работать без кое-каких дополнительных модулей, таких как NET Framework. Пользователи Winfows 7/10, наверняка, не раз встречались с этим компонентом, однако вряд ли задумывались о его роли и выполняемых функциях. Спешим восполнить этот пробел.

Итак, что такое Microsoft .NET Framework, для чего он нужен и можно ли без него обойтись? Если говорить простым языком, то NET Framework представляет собой набор DLL-библиотек или универсальный программный код, используемый разными программами. Правда, такое определение вряд ли прольет достаточно света на тему предмета, поэтому мы немного углубимся в историю.

Дело в том, что изначально система Windows, как платформа, была ориентирована на язык программирования С, на котором должны были разрабатываться предназначенные для нее приложения. Однако этот язык оказался не слишком удобным и к тому же мало подходящим для создания сложных конструкций. Появление ОПП и С++ существенно упростило разработку программного обеспечения, но по мере появление новых операционных систем и моделей процессоров программисты всё чаще стали сталкиваться с проблемами несовместимости.

Нужна была некая общая платформа, позволявшая работать самым разным приложениям в разных версиях и редакциях Windows. На тот момент в системе уже имелся набор DLL-библиотек, но они опять же поддерживали только приложения, написанные на языке С. Имелись и более серьезные проблемы, которые предстояло решить Microsoft, например, неуправляемый код, препятствующий разграничению прав для запускаемых программ.

Решением стала интеграция виртуальной машины Java, разработанной компанией Sun и служивший как бы прослойкой между Windows, сторонними приложениями и аппаратной частью компьютера. Однако сотрудничество Microsoft и Sun оказалось недолгим, и в 2001 году компания Microsoft представила собственную универсальную платформу для разработки приложений, получившую название .NET Framework и поставившую точку в вопросе совместимости.

NET Framework

Будучи универсальным, модуль NET Framework позволяет запускать поддерживающие технологию NET программы не только на Windows, но и в других системах, причем программа может быть разработана на любом языке программирования, включая те языки, которая Windows не «понимает». Конечно, для работы такого ПО требуются определенные условия, но сам факт, что такое возможно, является большим плюсом платформы NET Framework.

На вопрос, что это за программа NET Framework и нужна ли она, мы, надо полагать, ответили. Можно ли ее удалить, скажем, ради экономии места на жестком диске? Да, за исключением той версии, которая поставляется вместе с Windows. Делать это, однако, не рекомендуется без особой нужды, так как некоторые сторонние программы, зависящие от NET Framework, могут перестать запускаться.

Как узнать, какая версия NET Framework установлена

Теперь переходим к следующему не менее важному вопросу. В требованиях к программному обеспечению нередко указывается, что программа нуждается в такой-то версии фреймворка. В связи с этим у пользователя может возникнуть необходимость узнать, какой NET Framework установлен в его Windows 7/10. Сделать это нетрудно – существует несколько способов выяснить, какая версия компонента имеется в системе.

С помощью Проводника и командной строки

Все пакеты NET Framework устанавливаются в каталоги C:/Windows/Microsoft.NET/Framework и /Framework64 (в 64-разрядных ОС). Каждой версии соответствует отдельная директория, название которой начинается на V (версия), например, v3.0, v3.5 и так далее. Соответственно, определить редакцию компонента не составит труда, если перейти в Проводнике по указанному адресу и посмотреть названия папок.

Папка с пакетами NET Framework

Как вариант, содержимое каталогов можно вывести в командной строке, выполнив команду dir %WINDIR%/Microsoft.Net/Framework/v* /O:-N /B. По итогам запроса в консоли будут показаны все установленные версии фреймворка за исключением версии 4.5, находящейся в папке v4.0.ХХХХ.

Вывод всех версий Microsoft NET Framework в командной строке

Через редактор реестра

Еще одна методика предполагает использование реестра. Запустив командой regedit редактор реестра, разверните в левой колонке ветку HKLM/SOFTWARE/Microsoft/NET Framework Setup/NDP. В последнем подразделе вы увидите папки, имена которых будут соответствовать имеющимся в Windows версиям NET Framework.

Просмотр установленных версий NET Framework в реестре

Чтобы определить, установлена ли в системе версия NET Framework 4.5 и выше, зайдите в расположение v4/Full и обратите внимание на параметры Install и Version. Значение 1 для первого параметра будет означать, что компонент установлен и активен, значение второго параметра содержит полный номер версии компонента. Это же касается и других редакций фреймворка. Отсутствие подкаталога Full укажет на то, что компонент NET Framework 4.5 или более поздней версии не установлен.

Узнаем через реестр, установлена ли в системе версия NET Framework 4.5 или выше

С помощью сторонних утилит

Тем, кто не желает утруждать себя копанием в реестре, рекомендуем воспользоваться сторонними инструментами. Скачайте с сайта разработчика www.asoft.be/prod_netver.html утилиту «ASoft .NET Version Detector» и запустите. Утилита выведет список установленных версий фреймворка в нижней части окна в поле с голубым фоном. Также тулза покажет обновления компонента.

Утилита ASoft .NET Version Detector

Как скачать NET Framework для Windows 7/10

Многие сторонние программы, требующие для своей работы наличие NET Framework той или иной редакции, способны инициировать скачивание и установку пакета, но целом ряде случаев этим придется заниматься самому пользователю. Найти и скачать NET Framework можно без проблем на официальном сайте Microsoft, перейдя по адресу www.microsoft.com/ru-ru/search?q=NET+Framework и выбрав нужную версию компонента.

Пакеты NET Framework на сайте Microsoft

Скачивание NET Framework с сайта Microsoft

Набор библиотек также доступен на сторонних ресурсах, например, на dlltop.ru/soft/135-microsoft-net-framework.

Как скачать NET Framework с сайта dlltop.ru

Что же касается процедуры установки, то она почти ничем не отличается от инсталляции большинства десктопных программ. Независимо от того, какую версию Windows вы используете, необходимо, чтобы на вашем компьютере был установлен включающий в себя ранние версии NET Framework 3.5 и отдельно последний на данный момент NET Framework версии 4.7.1.

Установка NET Framework в Windows

Значение NET Framework

Даже зная, что такое NET Framework, обычные пользователи как-то не задумываются о ценности и значимости этого компонента. Иначе относятся к нему разработчики программного обеспечения. Для них, и в особенности для тех, кто программирует на Visual Basic .NET и C# NET Framework, это нечто большее, чем просто набор библиотек. Это полноценная среда разработки, скрывающая в себе массу возможностей и инструментов, без которых создание современных приложений для операционной системы Windows было бы трудновыполнимой задачей.

«.Net Framework» — это специальная програмная платформа, с помощью которой написано огромное количество приложений для операционной
системы Windows. Для работы таких программ необходимо, чтобы окружение .NET Framework было установлено на вашем компьютере.

На этой странице вы сможете бесплатно
скачать нужную версию установщика .NET Framework. Также, вы сможете узнать про назначение .NET Framework, системные требования
и ознакомиться с инструкцией по установке или исправлению ошибок, связанных с его работой на различных версиях Windows.  

1.

Введение. Зачем нужен .Net Framework

Что такое .Net Framework?Microsoft .Net Framework – распространяемая программная платформа, которая используется для разработки современного ПО.Архитектура «.Net»:

  • Позволяет разработчикам не тратить время на проработку взаимодействия создаваемого продукта со средой, в которой он будет выполняться (будь то аппаратные характеристики, совместимость, особенности ОС или другие технические аспекты окружения).

Все нюансы по созданию комфортной рабочей среды для приложения или софта берет на себя .Net Framework

  • Умеет работать со многими языками программирования при помощи набора специальных алгоритмов, что дает создателям приложений возможность использовать практически любой известный принцип построения программного кода для своего ПО.

Другими словами, .Net Framework становится базой для запуска приложений на различных ОС, предоставляя конечным потребителям возможность использовать любые приложения, совместимые с этим компонентом, независимо от характеристик компьютера или любого другого устройства.

2.

Системные требования для оптимальной работы .Net Framework

Требования к аппаратным комплектующим для нормальной работы у .Net Framework достаточно низкие, поэтому компонент
будет работать даже на самом слабом компьютере.  Дальнейшая информация в этой главе предназначена в первую очередь для начинающих пользователей.
Более продвинутые могут перейти к главе, в которой вы узнаете о последней версии .Net Framework, доступной к установке на вашей ОС.
 От вашего компьютера требуется:

  • Процессор с частотой 1 ГГЦ и выше;
  • Объем оперативной памяти не менее 512 МБ;
  • Минимальное количество место на жестком диске в размере 4,5 ГБ.

.Net Framework имеет достаточно много версий, которые выпускаются еще со времен Windows XP, но серьезных изменений в архитектуре
компонента не было.

Помните, что версия пакета .Net Framework,
на которой разрабатывалась та или иная программа будет требовать соответствующую (2, 3, 4) версию на вашем
компьютере.
Поэтому для лучшей совместимости с максимальным количеством приложений должны быть установлены
все возможные вариации этого компонента.

Но это не значит, что новейшие библиотеки будут полностью поддерживаться старыми ОС.

Порой, чтобы установить подходящую версию .Net Framework, нужно обновиться до новой версии Windows.
Мы настоятельно рекомендуем пользователям устанавливать Windows 10.  

2.1.

Определение разрядности операционной системы: x32 (x86) или x64

Разрядность своей операционной системы (при необходимости) вы можете посмотреть в «Свойствах» компьютера.
Окно: «Свойства компьютера».Рисунок 1. Узнаем разрядность системы.

Эта информация потребуется при установке старых версий .Net Framework.
Новые библиотеки подойдут под ОС обеих разрядностей (x32-x64).

3.

Последняя версия .Net Framework, доступная к установке на вашей ОС

Последний .Net Framework, который может быть установлен на все эти ОС (за исключением Windows XP) вручную, — это версия 4.7. Перед тем как установить компонент на компьютер, убедитесь, что нужная вам версия не интегрирована в ОС по умолчанию, ознакомившись со следующей информацией:

  • Windows XP. Интегрированная версия – 1.0 SP2;
  • Windows Интегрированные версии – 2.0 SP2, 3.0 SP2 и 3.5 SP1;
  • Windows 8 или 8.1. Интегрированные версии – 4.5 и 4.5.1 соответственно для этих ОС;
  • Windows Интегрированная версия – 4.6 или 4.6.1 в зависимости от установленных обновлений.

Обратите внимание!

Самые новые версии .Net Framework не содержат все те библиотеки, которые ранее были в старых версия .NET Framework.

Это значит, что для запуска некоторых старых программ или игр придется установить необходимые для их работы, старые(!) версии .NET Framework.

Также необходимо помнить: предустановленные библиотеки не могут быть удалены штатными средствами самой операционной системы.

3.1.

Как установить нужную версию .Net Framework

Предположим, что вам понадобилась более ранняя версия компонента для запуска определенного приложения.
Обычно программное обеспечение само оповещает пользователя об отсутствии на ОС нужной версии .Net Framework,
выводя соответствующее окно с ошибкой. Пример такого сообщения представлен на рисунке ниже:

Окно ошибки .Net Framework.Рисунок 2. Пример сообщения об отсутствии нужной версии .Net Framework.
В этом случае необходимо просто загрузить нужную версию компонента под вашу ОС (естественно, соблюдая разрядность) при помощи специального установщика, который бывает двух видов:

  1. Онлайн (веб) установщик скачивает все необходимые файлы .Net Framework с серверов Microsoft и самостоятельно распаковывает загруженные данные. Требует соединения с интернетом.
  2. Автономный (полный) установщик уже содержит в себе все библиотеки, которые нужны для полноценной установки .Net Framework без подключения к интернету.

Других принципиальных различий не имеется. При использовании автономной версии компонента ошибки при установке возникают несколько реже,
поэтому при поиске ссылки чаще всего будут вести именно на него.

Для быстрого перехода к загрузке нужной версии, вернитесь к содержанию и кликните на заголовок
с названием необходимого вам компонента.

3.2.

Скачать .Net Framework 4.7 (включая версии: 4.6.2, 4.6.1, 4.6, 4.5.2 и 4)

На данный момент (октябрь, 2017) версия .Net Framework 4.7 является последней. Скачивание этого компонента полностью избавляет от необходимости загрузки нижеперечисленных версий:

Скачать

.Net Framework 4.7 автономный установщик. | 58.73 МБ Автономный установщик (для Windows 7 с пакетом обновления SP1, Windows 8.1, юбилейного обновления Windows 10) уже содержит в себе необходимые библиотеки (включая версии: 4.6.2, 4.6.1, 4.6, 4.5.2 и 4) для полноценной установки компонента. Скачать с esate.ru

Скачать с сайта Microsoft.

  • .Net Framework 4.6 (4.6.1 и 4.6.2);
  • .Net Framework 4.5 (4.5.1 и 4.5.2);
  • .Net Framework 4.

Вы можете скачать .Net Framework 4.7 с нашего сайта с помощью прямой ссылки или со страницы официального сайта Microsoft, посвященной версии компонента 4.7,
где также можно ознакомиться с дополнительной информацией (системные требования, ограничения и т.д.)

Версия 4.7 поддерживается следующими ОС любой разрядности (x32-x64):

  • Windows 10 Creators Update (интегрирован);
  • Windows 10 Anniversary Update;
  • Windows 8 или 8.1;
  • Windows 7;
  • Windows Server 2016, 2012 и 2008.

Если компонент не устанавливается или работает неправильно, ознакомьтесь с главой: «Ошибки при установке/работе .Net Framework».

3.3.

Скачать .Net Framework 3.5 (включая версии: 3.0 и 2.0)

Скачать

.NET Framework 3.5 SP1 автономный установщик для Windows 7. | 231.41 МБ Автономный установщик (полный пакет) уже содержит в себе необходимые библиотеки для полноценной установки компонента. Скачать с esate.ru

Скачать с сайта Microsoft.

Вы можете ознакомиться с дополнительными сведениями и скачать .Net Framework 3.5 на сайте Microsoft или скачать библиотеку
одним файлом с нашего сайта с помощью представленных ссылок.

.NET Framework развивается, и в его новых версиях могут отсутствовать некоторые компоненты, которые ранее присутствовали в более ранних версиях.

Это происходит по разным причинам: какие-то компоненты могли устареть, стать не актуальными, либо им на смену могли прийти новые,
более продвинутые компоненты Фреймворка. Некоторые старые приложения могут нуждаться именно в тех, старых компонентах, которые отсутствуют в
новых версиях, из-за чего требуется установка одной из старых версии MS .NET Framework. Версия 3.5 уже включает в себя младшие версии библиотек (поэтому отдельно скачивать их не нужно):

  • .Net Framework 2.0;
  • .Net Framework 3.0.

Этот компонент совместим с любой ныне используемой операционной системой от Microsoft,
в том числе и с Windows XP.
Установка .Net Framework 3.5 в большинстве случаев позволит запустить и обеспечить нормальную работу любой старой
программе или игре. Однако если вы наблюдаете проблемы с этой версией компонента, ознакомьтесь с информацией в следующей главе.  

4.

Ошибки при установке или работе .Net Framework

Иногда неправильная установка или обновление .Net Framework может повлечь за собой сбои в работе компонента. В этой главе представлена информация по различным ошибкам, с которыми вы можете столкнуться на разных этапах использования библиотек «.Net».Сначала необходимо скачать официальную утилиту от Microsoft под названием «.Net Framework Repair Tool», которая в автоматическом режиме поможет решить проблему с компонентом. Инструкцию к этой программе вы найдете ниже.

4.1.

.NET Framework Repair Tool найдет и устранит большинство сбоев

По данным сайта Microsoft, данная утилита решает проблемы при работе и установке или обновлении любой версии .Net Framework.

Скачать

Microsoft .Net Framework Repair Tool (онлайн версия). | 1.22 МБ Утилита предназначена для выявления самых частых проблем при работе или установке .NET Framework, а так же их автоматического устранения. Скачать с esate.ru

К сожалению, «Repair Tool» не поддерживает русский язык. Однако все происходящие в ней
процессы просты и интуитивно понятны. От пользователя требуется:

  1. Периодически нажимать кнопку «Next»;
  2. Соглашаться с применением предложенных изменений.

Программа протестирует систему в несколько этапов.

В случае обнаружения ошибки, будут предложены действия по ее устранению.
После подтверждения необходимо дождаться завершения работы утилиты и перезагрузить компьютер.
Утилита «Repair Tool».Рисунок 3. Процесс тестирования программой Microsoft .Net Framework Repair Tool.
При следующем запуске системы ошибки .Net Framework будут исправлены, и вы сможете заново
установить нужную версию компонента (если ранее этот процесс сопровождался сбоями).

При повторении проблемы во время установки или работы компонента после применения программы ознакомьтесь с детальной
информацией по конкретным ошибкам, описанным в следующих главах.  

4.2.

Ошибка установки обновления .Net Framework 0x80070643 на Windows 7

Ошибка 643 связана с работой «Центра обновления». Возникает преимущественно у пользователей Windows 7.Внимание!
Приступать к действиям, описанным далее, рекомендуется только после
ознакомления с программой из главы: «.NET Framework Repair Tool найдет и устранит большинство сбоев».

Скачать

Исполняемый файл для перезапуска «Центра обновления Windows». | 558 Б Внимание! Распаковать (zip) и запускать от имени администратора. Скачать с esate.ru

Если «Repair Tool» не обнаружила проблему, следует перезапустить центр обновления Windows при помощи готовой
программы, написанной специально для esate.ru или с помощью алгоритма команд, который вы самостоятельно сможете создать
по описанной ниже инструкции.

Исполняемый код в обоих случаях одинаковый.

Программа создана исключительно для удобства: при ее использовании не придется проводить никаких манипуляций вручную.
Далее будет описан ручной способ перезапуска системного обновления.

Внимательно следуйте дальнейшей инструкции:

  1. Создайте пустой текстовый документ и скопируйте в него следующий код:

@echo
attrib -h -r -s %windir%\system32\catroot2
attrib -h -r -s %windir%\system32\catroot2\*.*
net stop wuauserv
net stop CryptSvc
net stop BITS
ren %windir%\system32\catroot2 catroot2.old
ren %windir%\SoftwareDistribution SoftwareDistribution.old
ren «%ALLUSERSPROFILE%\application data\Microsoft\Network\downloader» downloader.old
net Start BITS
net start CryptSvc
net start wuauserv
pause

  1. Сохраните файл в расширении «.bat»;
  2. Запустите созданную программу от имени администратора.

На рисунке 4 вы можете подробнее рассмотреть второй шаг.
Сохранение текстового файла в .bat.Рисунок 4. Сохраняем файл в расширении «.bat».

Теперь остается только перезагрузить компьютер и заново произвести установку .Net Framework.  

4.3.

Ошибка при установке платформы .Net Framework 3.5: 0x800F0906, 0x800F081F, 0x800F0907 на Windows 8 или 8.1

Эта проблема возникает при попытке установки .Net Framework 3.5.Перед выполнением действий, описанных далее, рекомендуется
ознакомиться с главой: «Ошибка установки обновления .Net
Framework 0x80070643 на Windows 7».

Ошибки 0x800F0906, 0x800F081F, 0x800F0907 в большинстве случаев проявляются при установке .NET Framework 3.5,
когда в операционной системе установлены обновления безопасности KB2966826 и KB2966828.

Скорее всего это связанно с тем, что некоторые обновления Windows могут не тестироваться на работу или взаимодействие с инсталлятором
.NET Framework 3.5.

Разработчики MS исходили из того, что пользователи будут пользоваться новыми, более актуальными версиях Фреймворка,
а сам инсталлятор .NET Framework 3.5 был создан задолго до этих обновлений, и не учитывает тех изменений в политиках и механизмах безопасности,
которые они несут.

Чтобы использовать .Net Framework 3.5 (и ниже) на новых ОС, необходимо:

  1. Временно отключить «Центр обновления Windows»;
  2. Удалить KB2966826 и KB2966828 через стандартное средство «Установка и удаление программ»;
  3. Перезагрузить компьютер, повторить установку .Net Framework.

После установки компонента можно обратно включить автоматические обновления.    

4.4.

Выбор жесткого диска и папки для распаковки .NET перед установкой (установщик может сам выбирать диск, например диск A:)

Установщик последних версий .NET Framework выбирает диск и папку назначения на своё усмотрение. Это может быть довольно не очевидный выбор, например диск A:, или другой диск, не предназначенный для этих задач.
Чтобы обойти эту проблему, достаточно запустить установку используя командную строку (см. рисунок 5):

  1. Запустите командную строку: открыть меню «Пуск» → написать в строке поиска: cmd → запустить соответствующую программу нажатием левой кнопкой мыши;
  2. Перейти в папку с пакетом установщика с помощью команды «cd C:\my-install-dir»
  3. Запустить пакет установки с ключом «/x»:

    NDP47-KB3186497-x86-x64-AllOS-ENU.exe /X

    Обратите внимание, что название пакета установщика у вас может отличаться!

  4. В открывшемся окне — укажите путь для распаковки пакета .NET Framework

Рисунок 5. Инсталляция .NET Framework 4.7.1 с распаковкой в конкретную папку.

  • Net framework для windows 7 x64 скачать бесплатно торрент
  • Net framework для windows 7 x64 максимальная
  • Net framework для windows 7 x64 как установить
  • Net framework для windows 7 x64 sp1
  • Net framework для windows 7 x32 автономный установщик