From c9e98abeabd35644935f141db010193fc66c3e52 Mon Sep 17 00:00:00 2001 From: Azure SDK Bot <53356347+azure-sdk@users.noreply.github.com> Date: Thu, 20 Feb 2025 05:17:49 -0800 Subject: [PATCH 1/7] Update package index with latest published versions (#44971) --- docs/azure/includes/dotnet-all.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/azure/includes/dotnet-all.md b/docs/azure/includes/dotnet-all.md index 6a1a98357bd18..52fccfd2d0b10 100644 --- a/docs/azure/includes/dotnet-all.md +++ b/docs/azure/includes/dotnet-all.md @@ -462,7 +462,7 @@ | Speech Xamarin iOS | NuGet [1.25.0](https://www.nuget.org/packages/Microsoft.CognitiveServices.Speech.Xamarin.iOS/1.25.0) | | | | Spell Check | NuGet [4.1.0-preview.1](https://www.nuget.org/packages/Microsoft.Azure.CognitiveServices.Language.SpellCheck/4.1.0-preview.1) | | GitHub [4.1.0-preview.1](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.CognitiveServices.Language.SpellCheck_4.1.0-preview.1/sdk/cognitiveservices/Language.SpellCheck) | | Spring Cloud Client | NuGet [2.0.0-preview.3](https://www.nuget.org/packages/Microsoft.Azure.SpringCloud.Client/2.0.0-preview.3) | | | -| Storage - Files Data Lake | NuGet [2.0.1](https://www.nuget.org/packages/Microsoft.Azure.DataLake.Store/2.0.1) | [docs](https://learn.microsoft.com/dotnet/api/overview/azure/data-lake-store) | GitHub [2.0.1](https://github.com/Azure/azure-data-lake-store-net/tree/1.2.3-alpha) | +| Storage - Files Data Lake | NuGet [2.0.2](https://www.nuget.org/packages/Microsoft.Azure.DataLake.Store/2.0.2) | [docs](https://learn.microsoft.com/dotnet/api/overview/azure/data-lake-store) | GitHub [2.0.2](https://github.com/Azure/azure-data-lake-store-net/tree/1.2.3-alpha) | | Synapse Analytics | NuGet [0.1.0-preview](https://www.nuget.org/packages/Microsoft.Azure.Synapse/0.1.0-preview) | | GitHub [0.1.0-preview](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Synapse_0.1.0-preview/sdk/synapse/Microsoft.Azure.Synapse/) | | Tables | NuGet [2.1.2](https://www.nuget.org/packages/Microsoft.Azure.CosmosDB.Table/2.1.2) | | | | Video Search | NuGet [2.1.0-preview.1](https://www.nuget.org/packages/Microsoft.Azure.CognitiveServices.Search.BingVideoSearch/2.1.0-preview.1) | | GitHub [2.1.0-preview.1](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.CognitiveServices.Search.BingVideoSearch_2.1.0-preview.1/sdk/cognitiveservices/Search.BingVideoSearch) | From 3d848a00b6ac92443226000280efe2ebc7cf8e0c Mon Sep 17 00:00:00 2001 From: Benjamin Michaelis Date: Thu, 20 Feb 2025 05:19:42 -0800 Subject: [PATCH 2/7] fix: Add nint and nuint as operators for binary operations (#44973) Reading the design, it mentions that it seems to be supported (https://learn.microsoft.com/dotnet/csharp/language-reference/proposals/csharp-9.0/native-integers?WT.mc_id=8B97120A00B57354#constants) and when looking at the bcl they seem to support `IBinaryInteger`, `IBinaryNumber` and `IBitwiseOperators`. https://source.dot.net/#System.Private.CoreLib/src/libraries/System.Private.CoreLib/src/System/UIntPtr.cs,33 --- .../language-reference/operators/bitwise-and-shift-operators.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/csharp/language-reference/operators/bitwise-and-shift-operators.md b/docs/csharp/language-reference/operators/bitwise-and-shift-operators.md index 0494fd4c6c6c1..9fbef850bb76a 100644 --- a/docs/csharp/language-reference/operators/bitwise-and-shift-operators.md +++ b/docs/csharp/language-reference/operators/bitwise-and-shift-operators.md @@ -44,7 +44,7 @@ The bitwise and shift operators include unary bitwise complement, binary left an - Binary [`<<` (left shift)](#left-shift-operator-), [`>>` (right shift)](#right-shift-operator-), and [`>>>` (unsigned right shift)](#unsigned-right-shift-operator-) operators - Binary [`&` (logical AND)](#logical-and-operator-), [`|` (logical OR)](#logical-or-operator-), and [`^` (logical exclusive OR)](#logical-exclusive-or-operator-) operators -Those operators are defined for the `int`, `uint`, `long`, and `ulong` types. When both operands are of other integral types (`sbyte`, `byte`, `short`, `ushort`, or `char`), their values are converted to the `int` type, which is also the result type of an operation. When operands are of different integral types, their values are converted to the closest containing integral type. For more information, see the [Numeric promotions](~/_csharpstandard/standard/expressions.md#1247-numeric-promotions) section of the [C# language specification](~/_csharpstandard/standard/README.md). The compound operators (such as `>>=`) don't convert their arguments to `int` or have the result type as `int`. +Those operators are defined for the `int`, `uint`, `long`, `ulong`, `nint`, and `nuint` types. When both operands are of other integral types (`sbyte`, `byte`, `short`, `ushort`, or `char`), their values are converted to the `int` type, which is also the result type of an operation. When operands are of different integral types, their values are converted to the closest containing integral type. For more information, see the [Numeric promotions](~/_csharpstandard/standard/expressions.md#1247-numeric-promotions) section of the [C# language specification](~/_csharpstandard/standard/README.md). The compound operators (such as `>>=`) don't convert their arguments to `int` or have the result type as `int`. The `&`, `|`, and `^` operators are also defined for operands of the `bool` type. For more information, see [Boolean logical operators](boolean-logical-operators.md). From 62f8723864d209a61951f2b4bc9654051b806bf0 Mon Sep 17 00:00:00 2001 From: Tomasz Osmanowski Date: Thu, 20 Feb 2025 14:51:07 +0100 Subject: [PATCH 3/7] Update selection-statements.md - fixed example meaning, highlighted difference between switch statement and switch expression (#44945) * Update selection-statements.md - fixed example meaning, highlighted difference between switch statement and switch expression Update selection-statements.md - fixed example meaning, highlighted difference between switch statement and switch expression * Update selection-statements.md Included is a description of intentional case sections that fall back if they share the same or interoperable logic. * Update docs/csharp/language-reference/statements/selection-statements.md --------- Co-authored-by: Bill Wagner --- .../statements/selection-statements.md | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/docs/csharp/language-reference/statements/selection-statements.md b/docs/csharp/language-reference/statements/selection-statements.md index c5d0bad51f614..51b8a997a4535 100644 --- a/docs/csharp/language-reference/statements/selection-statements.md +++ b/docs/csharp/language-reference/statements/selection-statements.md @@ -66,11 +66,21 @@ You can specify multiple case patterns for one section of a `switch` statement, Within a `switch` statement, control can't fall through from one switch section to the next. As the examples in this section show, typically you use the `break` statement at the end of each switch section to pass control out of a `switch` statement. You can also use the [return](jump-statements.md#the-return-statement) and [throw](exception-handling-statements.md#the-throw-statement) statements to pass control out of a `switch` statement. To imitate the fall-through behavior and pass control to other switch section, you can use the [`goto` statement](jump-statements.md#the-goto-statement). -In an expression context, you can use the [`switch` expression](../operators/switch-expression.md) to evaluate a single expression from a list of candidate expressions based on a pattern match with an expression. +> [!IMPORTANT] +> Every *switch section* must end with a `break`, `goto` or `return`. Falling through from one switch section to the next generates a compiler error. However, multiple switch labels can be applied to the same switch section, like `case < 0:` in example above. This deliberate design choice allows for concisely handling multiple cases that share the same or interdependent logic. + +In an expression context, you can use the [`switch` expression](../operators/switch-expression.md) to evaluate a single expression from a list of candidate expressions based on a pattern match with an expression.
+ +> [!IMPORTANT] +> Differences between **switch expression** and **switch statement**: +> +> - **switch statement** is used to control the execution flow within a block of code. +> - **switch expression** is typically used in contexts of value return and value assignment, often as a [expression-bodied members](../../programming-guide/statements-expressions-operators/expression-bodied-members.md). +> - a **switch expression** case section cannot be empty, a **switch statement** can. ### Case guards -A case pattern may be not expressive enough to specify the condition for the execution of the switch section. In such a case, you can use a *case guard*. That is an additional condition that must be satisfied together with a matched pattern. A case guard must be a Boolean expression. You specify a case guard after the `when` keyword that follows a pattern, as the following example shows: +A case pattern may not be expressive enough to specify the condition for the execution of the switch section. In such a case, you can use a *case guard*. That is an additional condition that must be satisfied together with a matched pattern. A case guard must be a Boolean expression. You specify a case guard after the `when` keyword that follows a pattern, as the following example shows: :::code language="csharp" source="snippets/selection-statements/SwitchStatement.cs" id="WithCaseGuard"::: From dfa0ccef1acdf99d4838d7ee4c9909aa4391f309 Mon Sep 17 00:00:00 2001 From: Bill Wagner Date: Thu, 20 Feb 2025 14:37:03 -0500 Subject: [PATCH 4/7] Fix anchor to updated link. (#44979) --- .../classes-and-structs/partial-classes-and-methods.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/csharp/programming-guide/classes-and-structs/partial-classes-and-methods.md b/docs/csharp/programming-guide/classes-and-structs/partial-classes-and-methods.md index faa81d601e6ac..453df520a446a 100644 --- a/docs/csharp/programming-guide/classes-and-structs/partial-classes-and-methods.md +++ b/docs/csharp/programming-guide/classes-and-structs/partial-classes-and-methods.md @@ -148,7 +148,7 @@ partial void OnNameChanged() ## C# Language Specification -For more information, see [Partial types](~/_csharpstandard/standard/classes.md#1527-partial-declarations) and [Partial methods](~/_csharpstandard/standard/classes.md#1569-partial-methods) in the [C# Language Specification](~/_csharpstandard/standard/README.md). The language specification is the definitive source for C# syntax and usage. The new features for partial methods are defined in the [feature specification](~/_csharplang/proposals/csharp-9.0/extending-partial-methods.md). +For more information, see [Partial types](~/_csharpstandard/standard/classes.md#1527-partial-type-declarations) and [Partial methods](~/_csharpstandard/standard/classes.md#1569-partial-methods) in the [C# Language Specification](~/_csharpstandard/standard/README.md). The language specification is the definitive source for C# syntax and usage. The new features for partial methods are defined in the [feature specification](~/_csharplang/proposals/csharp-9.0/extending-partial-methods.md). ## See also From b9201984428e93507577851a95dc28c97b1eafc2 Mon Sep 17 00:00:00 2001 From: Genevieve Warren <24882762+gewarren@users.noreply.github.com> Date: Thu, 20 Feb 2025 11:42:35 -0800 Subject: [PATCH 5/7] Overview of MEAI.Evaluation library (#44901) --- docfx.json | 11 ++-- docs/ai/conceptual/evaluation-libraries.md | 59 ++++++++++++++++++ .../media/ai-extensions/pipeline-report.jpg | Bin 0 -> 322340 bytes docs/ai/toc.yml | 6 +- 4 files changed, 69 insertions(+), 7 deletions(-) create mode 100644 docs/ai/conceptual/evaluation-libraries.md create mode 100644 docs/ai/media/ai-extensions/pipeline-report.jpg diff --git a/docfx.json b/docfx.json index 9c2b5973f1b6a..da0023f683699 100644 --- a/docfx.json +++ b/docfx.json @@ -323,11 +323,11 @@ "_csharpstandard/**/*.md": "billwagner", "_roslyn/docs/compilers/CSharp/*.md": "billwagner", "_vblang/spec/*.md": "billwagner", - "docs/azure/**/*.*": "alexwolfmsft", - "docs/orleans/**/*.*": "IEvangelist", + "docs/ai/**/*.*": "gewarren", "docs/architecture/**/**.md": "jamesmontemagno", "docs/architecture/grpc-for-wcf-developers/**/**.md": "JamesNK", "docs/architecture/modernize-desktop/**/**.md": "OliaG", + "docs/azure/**/*.*": "alexwolfmsft", "docs/core/**/**.md": "gewarren", "docs/core/compatibility/**/**.md": "camsoper", "docs/core/deploying/**/**.md": "adegeo", @@ -377,7 +377,8 @@ "docs/fundamentals/runtime-libraries/**/**.md": "gewarren", "docs/fundamentals/syslib-diagnostics/**/**.md": "gewarren", "docs/iot/**/*.*": "camsoper", - "docs/machine-learning/**/**.md": "luisquintanilla", + "docs/machine-learning/**/**.md": "gewarren", + "docs/orleans/**/*.*": "IEvangelist", "docs/standard/**/**.md": "gewarren", "docs/standard/analyzers/**/**.md": "IEvangelist", "docs/standard/assembly/**/**.md": "IEvangelist", @@ -414,7 +415,7 @@ "_csharpstandard/**/*.md": "wiwagn", "_roslyn/docs/compilers/CSharp/*.md": "wiwagn", "_vblang/spec/*.md": "wiwagn", - "docs/ai/**/*.*": "alexwolf", + "docs/ai/**/*.*": "gewarren", "docs/architecture/**/**.md": "jamont", "docs/architecture/grpc-for-wcf-developers/**/**.md": "jamesnk", "docs/architecture/modernize-desktop/**/**.md": "oliag", @@ -466,7 +467,7 @@ "docs/fundamentals/runtime-libraries/**/**.md": "gewarren", "docs/fundamentals/syslib-diagnostics/**/**.md": "gewarren", "docs/iot/**/*.*": "casoper", - "docs/machine-learning/**/**.md": "luquinta", + "docs/machine-learning/**/**.md": "gewarren", "docs/standard/**/**.md": "gewarren", "docs/standard/analyzers/**/**.md": "dapine", "docs/standard/assembly/**/**.md": "dapine", diff --git a/docs/ai/conceptual/evaluation-libraries.md b/docs/ai/conceptual/evaluation-libraries.md new file mode 100644 index 0000000000000..e07e9eca8c355 --- /dev/null +++ b/docs/ai/conceptual/evaluation-libraries.md @@ -0,0 +1,59 @@ +--- +title: The Microsoft.Extensions.AI.Evaluation libraries +description: Learn about the Microsoft.Extensions.AI.Evaluation libraries, which simplify the process of evaluating the quality and accuracy of responses generated by AI models in .NET intelligent apps. +ms.topic: concept-article +ms.date: 02/19/2025 +--- +# The Microsoft.Extensions.AI.Evaluation libraries (Preview) + +The Microsoft.Extensions.AI.Evaluation libraries (currently in preview) simplify the process of evaluating the quality and accuracy of responses generated by AI models in .NET intelligent apps. Various metrics measure aspects like relevance, truthfulness, coherence, and completeness of the responses. Evaluations are crucial in testing, because they help ensure that the AI model performs as expected and provides reliable and accurate results. + +The evaluation libraries, which are built on top of the [Microsoft.Extensions.AI abstractions](../ai-extensions.md), are composed of the following NuGet packages: + +- [📦 Microsoft.Extensions.AI.Evaluation](https://www.nuget.org/packages/Microsoft.Extensions.AI.Evaluation) – Defines the core abstractions and types for supporting evaluation. +- [📦 Microsoft.Extensions.AI.Evaluation.Quality](https://www.nuget.org/packages/Microsoft.Extensions.AI.Evaluation.Quality) – Contains evaluators that assess the quality of LLM responses in an app according to metrics such as relevance, fluency, coherence, and truthfulness. +- [📦 Microsoft.Extensions.AI.Evaluation.Reporting](https://www.nuget.org/packages/Microsoft.Extensions.AI.Evaluation.Reporting) – Contains support for caching LLM responses, storing the results of evaluations, and generating reports from that data. +- [📦 Microsoft.Extensions.AI.Evaluation.Reporting.Azure](https://www.nuget.org/packages/Microsoft.Extensions.AI.Evaluation.Reporting.Azure) - Supports the reporting library with an implementation for caching LLM responses and storing the evaluation results in an [Azure Storage](/azure/storage/common/storage-introduction) container. +- [📦 Microsoft.Extensions.AI.Evaluation.Console](https://www.nuget.org/packages/Microsoft.Extensions.AI.Evaluation.Console) – A command-line tool for generating reports and managing evaluation data. + +## Test integration + +The libraries are designed to integrate smoothly with existing .NET apps, allowing you to leverage existing testing infrastructures and familiar syntax to evaluate intelligent apps. You can use any test framework (for example, [MSTest](../../core/testing/index.md#mstest), [xUnit](../../core/testing/index.md#xunit), or [NUnit](../../core/testing/index.md#nunit)) and testing workflow (for example, [Test Explorer](/visualstudio/test/run-unit-tests-with-test-explorer), [dotnet test](../../core/tools/dotnet-test.md), or a CI/CD pipeline). The library also provides easy ways to do online evaluations of your application by publishing evaluation scores to telemetry and monitoring dashboards. + +## Comprehensive evaluation metrics + +The evaluation libraries were built in collaboration with data science researchers from Microsoft and GitHub, and were tested on popular Microsoft Copilot experiences. The following table shows the built-in evaluators. + +| Metric | Description | Evaluator type | +|------------------------------------|----------------------------------------------|----------------| +| Relevance, truth, and completeness | How effectively a response addresses a query | | +| Fluency | Grammatical accuracy, vocabulary range, sentence complexity, and overall readability| | +| Coherence | The logical and orderly presentation of ideas | | +| Equivalence | The similarity between the generated text and its ground truth with respect to a query | | +| Groundedness | How well a generated response aligns with the given context | | + +You can also customize to add your own evaluations by implementing the interface or extending the base classes such as and . + +## Cached responses + +The library uses *response caching* functionality, which means responses from the AI model are persisted in a cache. In subsequent runs, if the request parameters (prompt and model) are unchanged, responses are then served from the cache to enable faster execution and lower cost. + +## Reporting + +The library contains support for storing evaluation results and generating reports. The following image shows an example report in an Azure DevOps pipeline: + +:::image type="content" source="../media/ai-extensions/pipeline-report.jpg" lightbox="../media/ai-extensions/pipeline-report.jpg" alt-text="Screenshot of an AI evaluation report in an Azure DevOps pipeline."::: + +The `dotnet aieval` tool, which ships as part of the `Microsoft.Extensions.AI.Evaluation.Console` package, also includes functionality for generating reports and managing the stored evaluation data and cached responses. + +## Configuration + +The libraries are designed to be flexible. You can pick the components that you need. For example, you can disable response caching or tailor reporting to work best in your environment. You can also customize and configure your evaluations, for example, by adding customized metrics and reporting options. + +## Samples + +For a more comprehensive tour of the functionality and APIs available in the Microsoft.Extensions.AI.Evaluation libraries, see the [API usage examples (dotnet/ai-samples repo)](https://github.com/dotnet/ai-samples/blob/main/src/microsoft-extensions-ai-evaluation/api/). These examples are structured as a collection of unit tests. Each unit test showcases a specific concept or API and builds on the concepts and APIs showcased in previous unit tests. + +## See also + +- [Evaluation of generative AI apps (Azure AI Foundry)](/azure/ai-studio/concepts/evaluation-approach-gen-ai) diff --git a/docs/ai/media/ai-extensions/pipeline-report.jpg b/docs/ai/media/ai-extensions/pipeline-report.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b128780c450101434cb8122ad538a4230fb09341 GIT binary patch literal 322340 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 z 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 @C>4!+f^oKU~n*u5(r7<@6%w}I~ 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 Date: Thu, 20 Feb 2025 15:20:00 -0800 Subject: [PATCH 6/7] Simplify framework install docs (#44900) * Simplify framework install docs * Build errors; Fix image/code links * Convert and clean code for .NET Framework * Add snippets config * Fix links to moved files * Fix remaining links * Add start icon to instruction * Apply suggestions from code review Co-authored-by: Genevieve Warren <24882762+gewarren@users.noreply.github.com> * Apply suggestions from code review Co-authored-by: Genevieve Warren <24882762+gewarren@users.noreply.github.com> * Apply suggestions from code review Co-authored-by: Genevieve Warren <24882762+gewarren@users.noreply.github.com> * Final updates --------- Co-authored-by: Genevieve Warren <24882762+gewarren@users.noreply.github.com> --- .openpublishing.redirection.framework.json | 52 ++++- .../how-to-detect-installed-versions.md | 2 +- .../compiler-options/index.md | 2 +- docs/framework/deployment/index.md | 4 +- docs/framework/get-started/index.md | 2 +- .../get-started/system-requirements.md | 2 +- docs/framework/install/dotnet-35-windows.md | 66 ++++-- .../framework/install/guide-for-developers.md | 6 +- ...ich-net-framework-updates-are-installed.md | 2 +- ...-determine-which-versions-are-installed.md | 16 +- docs/framework/install/includes/server-35.md | 18 -- docs/framework/install/index.md | 18 +- .../dotnet-control-panel.png | Bin 11707 -> 19969 bytes .../dotnet-framework-installation-dialog.png | Bin 10194 -> 18383 bytes .../server-features.png} | Bin .../windows-keyboard-logo.png | Bin 1188 -> 498 bytes .../windows-keyboard-logo.png | Bin .../clr-installdir.png | Bin .../net-4-and-earlier.png | Bin docs/framework/install/on-server-2019.md | 27 --- docs/framework/install/on-server-2022.md | 27 --- docs/framework/install/on-server-2025.md | 24 --- docs/framework/install/on-windows-10.md | 81 -------- docs/framework/install/on-windows-11.md | 23 --- docs/framework/install/on-windows-8-1.md | 36 ---- docs/framework/install/on-windows-8.md | 44 ---- .../install/on-windows-and-server.md | 189 ++++++++++++++++++ .../install/run-net-framework-1-1-apps.md | 22 -- .../csharp/App.config | 6 + .../csharp/FrameworkVersions.csproj | 53 +++++ .../csharp/Program.cs | 133 ++++++++++++ .../csharp/Properties/AssemblyInfo.cs | 33 +++ .../csharp/snippets.5000.json | 3 + .../vb/App.config | 6 + .../vb/FrameworkVersions.vbproj | 110 ++++++++++ .../vb/Module1.vb | 135 +++++++++++++ .../vb/My Project/Application.Designer.vb | 13 ++ .../vb/My Project/Application.myapp | 10 + .../vb/My Project/AssemblyInfo.vb | 32 +++ .../vb/My Project/Resources.Designer.vb | 62 ++++++ .../vb/My Project/Resources.resx | 117 +++++++++++ .../vb/My Project/Settings.Designer.vb | 73 +++++++ .../vb/My Project/Settings.settings | 7 + .../vb/snippets.5000.json | 3 + ...ocked-installations-and-uninstallations.md | 10 +- .../versions-and-dependencies.md | 14 +- .../application-compatibility.md | 2 +- ...n-app-to-support-net-framework-4-or-4-5.md | 42 ++-- docs/framework/migration-guide/index.md | 4 +- .../migrating-from-the-net-framework-1-1.md | 51 +++-- .../mitigation-product-versioning.md | 2 +- .../snippets/csharp/FrameworkVersions.csproj | 12 -- .../snippets/csharp/versions-installed.cs | 145 -------------- .../visual-basic/FrameworkVersions.vbproj | 13 -- .../visual-basic/versions-installed.vb | 116 ----------- docs/framework/toc.yml | 40 +--- docs/standard/clr.md | 2 +- docs/whats-new/dotnet-docs-mod0.md | 2 +- includes/net-framework-future.md | 2 +- includes/net-framework-retired-versions.md | 8 +- 60 files changed, 1192 insertions(+), 732 deletions(-) rename docs/framework/{migration-guide => install}/how-to-determine-which-net-framework-updates-are-installed.md (98%) rename docs/framework/{migration-guide => install}/how-to-determine-which-versions-are-installed.md (95%) delete mode 100644 docs/framework/install/includes/server-35.md rename docs/framework/install/media/{includes-server-35/features.png => dotnet-35-windows/server-features.png} (100%) rename docs/framework/{migration-guide => install}/media/how-to-determine-which-net-framework-updates-are-installed/windows-keyboard-logo.png (100%) rename docs/framework/{migration-guide/media => install/media/how-to-determine-which-versions-are-installed}/clr-installdir.png (100%) rename docs/framework/{migration-guide/media => install/media/how-to-determine-which-versions-are-installed}/net-4-and-earlier.png (100%) delete mode 100644 docs/framework/install/on-server-2019.md delete mode 100644 docs/framework/install/on-server-2022.md delete mode 100644 docs/framework/install/on-server-2025.md delete mode 100644 docs/framework/install/on-windows-10.md delete mode 100644 docs/framework/install/on-windows-11.md delete mode 100644 docs/framework/install/on-windows-8-1.md delete mode 100644 docs/framework/install/on-windows-8.md create mode 100644 docs/framework/install/on-windows-and-server.md delete mode 100644 docs/framework/install/run-net-framework-1-1-apps.md create mode 100644 docs/framework/install/snippets/how-to-determine-which-versions-are-installed/csharp/App.config create mode 100644 docs/framework/install/snippets/how-to-determine-which-versions-are-installed/csharp/FrameworkVersions.csproj create mode 100644 docs/framework/install/snippets/how-to-determine-which-versions-are-installed/csharp/Program.cs create mode 100644 docs/framework/install/snippets/how-to-determine-which-versions-are-installed/csharp/Properties/AssemblyInfo.cs create mode 100644 docs/framework/install/snippets/how-to-determine-which-versions-are-installed/csharp/snippets.5000.json create mode 100644 docs/framework/install/snippets/how-to-determine-which-versions-are-installed/vb/App.config create mode 100644 docs/framework/install/snippets/how-to-determine-which-versions-are-installed/vb/FrameworkVersions.vbproj create mode 100644 docs/framework/install/snippets/how-to-determine-which-versions-are-installed/vb/Module1.vb create mode 100644 docs/framework/install/snippets/how-to-determine-which-versions-are-installed/vb/My Project/Application.Designer.vb create mode 100644 docs/framework/install/snippets/how-to-determine-which-versions-are-installed/vb/My Project/Application.myapp create mode 100644 docs/framework/install/snippets/how-to-determine-which-versions-are-installed/vb/My Project/AssemblyInfo.vb create mode 100644 docs/framework/install/snippets/how-to-determine-which-versions-are-installed/vb/My Project/Resources.Designer.vb create mode 100644 docs/framework/install/snippets/how-to-determine-which-versions-are-installed/vb/My Project/Resources.resx create mode 100644 docs/framework/install/snippets/how-to-determine-which-versions-are-installed/vb/My Project/Settings.Designer.vb create mode 100644 docs/framework/install/snippets/how-to-determine-which-versions-are-installed/vb/My Project/Settings.settings create mode 100644 docs/framework/install/snippets/how-to-determine-which-versions-are-installed/vb/snippets.5000.json rename docs/framework/{migration-guide => install}/versions-and-dependencies.md (95%) delete mode 100644 docs/framework/migration-guide/snippets/csharp/FrameworkVersions.csproj delete mode 100644 docs/framework/migration-guide/snippets/csharp/versions-installed.cs delete mode 100644 docs/framework/migration-guide/snippets/visual-basic/FrameworkVersions.vbproj delete mode 100644 docs/framework/migration-guide/snippets/visual-basic/versions-installed.vb diff --git a/.openpublishing.redirection.framework.json b/.openpublishing.redirection.framework.json index c37908bfba58c..fc1ce33af060e 100644 --- a/.openpublishing.redirection.framework.json +++ b/.openpublishing.redirection.framework.json @@ -926,7 +926,7 @@ }, { "source_path_from_root": "/docs/framework/deployment/windows/10.md", - "redirect_url": "/dotnet/framework/install/on-windows-10" + "redirect_url": "/dotnet/framework/install/on-windows-and-server" }, { "source_path_from_root": "/docs/framework/deployment/windows/7.md", @@ -934,7 +934,7 @@ }, { "source_path_from_root": "/docs/framework/deployment/windows/8.md", - "redirect_url": "/dotnet/framework/install/on-windows-8" + "redirect_url": "/dotnet/framework/install/on-windows-and-server" }, { "source_path_from_root": "/docs/framework/deployment/windows/index.md", @@ -985,6 +985,34 @@ "redirect_url": "/previous-versions/dotnet/framework/install/on-windows-7", "redirect_document_id": false }, + { + "source_path_from_root": "/docs/framework/install/on-windows-8.md", + "redirect_url": "/dotnet/framework/install/on-windows-and-server" + }, + { + "source_path_from_root": "/docs/framework/install/on-windows-8-1.md", + "redirect_url": "/dotnet/framework/install/on-windows-and-server" + }, + { + "source_path_from_root": "/docs/framework/install/on-windows-10.md", + "redirect_url": "/dotnet/framework/install/on-windows-and-server" + }, + { + "source_path_from_root": "/docs/framework/install/on-windows-11.md", + "redirect_url": "/dotnet/framework/install/on-windows-and-server" + }, + { + "source_path_from_root": "/docs/framework/install/on-server-2019.md", + "redirect_url": "/dotnet/framework/install/on-windows-and-server" + }, + { + "source_path_from_root": "/docs/framework/install/on-server-2022.md", + "redirect_url": "/dotnet/framework/install/on-windows-and-server" + }, + { + "source_path_from_root": "/docs/framework/install/on-server-2025.md", + "redirect_url": "/dotnet/framework/install/on-windows-and-server" + }, { "source_path_from_root": "/docs/framework/install/on-windows-vista.md", "redirect_url": "/previous-versions/dotnet/framework/install/on-windows-vista", @@ -995,6 +1023,10 @@ "redirect_url": "/previous-versions/dotnet/framework/install/on-windows-xp", "redirect_document_id": false }, + { + "source_path_from_root": "/docs/framework/install/run-net-framework-1-1-apps.md", + "redirect_url": "/dotnet/framework/install/dotnet-35-windows" + }, { "source_path_from_root": "/docs/framework/interop/applying-interop-attributes.md", "redirect_url": "/dotnet/standard/native-interop/apply-interop-attributes", @@ -1113,6 +1145,14 @@ "source_path_from_root": "/docs/framework/migration-guide/application-compatibility-in-the-net-framework-4-7.md", "redirect_url": "/dotnet/framework/migration-guide/application-compatibility" }, + { + "source_path_from_root": "/docs/framework/migration-guide/how-to-determine-which-versions-are-installed.md", + "redirect_url": "/dotnet/framework/install/how-to-determine-which-versions-are-installed" + }, + { + "source_path_from_root": "/docs/framework/migration-guide/how-to-determine-which-net-framework-updates-are-installed.md", + "redirect_url": "/dotnet/framework/install/how-to-determine-which-net-framework-updates-are-installed" + }, { "source_path_from_root": "/docs/framework/migration-guide/migration-guide/mitigation-culture-and-asynchronous-operations.md", "redirect_url": "/dotnet/framework/migration-guide/retargeting/4.6.x" @@ -1151,7 +1191,7 @@ }, { "source_path_from_root": "/docs/framework/migration-guide/minimum-release-dword.md", - "redirect_url": "/dotnet/framework/migration-guide/how-to-determine-which-versions-are-installed" + "redirect_url": "/dotnet/framework/install/how-to-determine-which-versions-are-installed" }, { "source_path_from_root": "/docs/framework/migration-guide/mitigation-claimsidentity-constructor.md", @@ -1167,7 +1207,7 @@ }, { "source_path_from_root": "/docs/framework/migration-guide/release-keys-and-os-versions.md", - "redirect_url": "/dotnet/framework/migration-guide/how-to-determine-which-versions-are-installed" + "redirect_url": "/dotnet/framework/install/how-to-determine-which-versions-are-installed" }, { "source_path_from_root": "/docs/framework/migration-guide/retargeting-changes-in-the-net-framework-4-5-1.md", @@ -1673,6 +1713,10 @@ "source_path_from_root": "/docs/framework/migration-guide/runtime/index.md", "redirect_url": "/dotnet/framework/migration-guide/application-compatibility" }, + { + "source_path_from_root": "/docs/framework/migration-guide/versions-and-dependencies.md", + "redirect_url": "/dotnet/framework/install/versions-and-dependencies" + }, { "source_path_from_root": "/docs/framework/misc/binding.md", "redirect_url": "/dotnet/framework/configure-apps/file-schema/wcf/bindings" diff --git a/docs/core/install/how-to-detect-installed-versions.md b/docs/core/install/how-to-detect-installed-versions.md index 57ae421718bd9..91b10e84594b3 100644 --- a/docs/core/install/how-to-detect-installed-versions.md +++ b/docs/core/install/how-to-detect-installed-versions.md @@ -197,4 +197,4 @@ You can see both the SDK versions and runtime versions with the command `dotnet ## See also -- [Determine which .NET Framework versions are installed](../../framework/migration-guide/how-to-determine-which-versions-are-installed.md) +- [Determine which .NET Framework versions are installed](../../framework/install/how-to-determine-which-versions-are-installed.md) diff --git a/docs/csharp/language-reference/compiler-options/index.md b/docs/csharp/language-reference/compiler-options/index.md index 5af1b8bddc7ca..52001f1618464 100644 --- a/docs/csharp/language-reference/compiler-options/index.md +++ b/docs/csharp/language-reference/compiler-options/index.md @@ -58,4 +58,4 @@ For .NET Framework projects, you can also run *csc.exe* from the command line. E If you use the **Developer Command Prompt for Visual Studio** window, all the necessary environment variables are set for you. For information on how to access this tool, see [Developer Command Prompt for Visual Studio](/visualstudio/ide/reference/command-prompt-powershell). -The *csc.exe* executable file is usually located in the Microsoft.NET\Framework\\*\* folder under the *Windows* directory. Its location might vary depending on the exact configuration of a particular computer. If more than one version of .NET Framework is installed on your computer, you'll find multiple versions of this file. For more information about such installations, see [How to: determine which versions of the .NET Framework are installed](../../../framework/migration-guide/how-to-determine-which-versions-are-installed.md). +The *csc.exe* executable file is usually located in the Microsoft.NET\Framework\\*\* folder under the *Windows* directory. Its location might vary depending on the exact configuration of a particular computer. If more than one version of .NET Framework is installed on your computer, you'll find multiple versions of this file. For more information about such installations, see [How to: determine which versions of the .NET Framework are installed](../../../framework/install/how-to-determine-which-versions-are-installed.md). diff --git a/docs/framework/deployment/index.md b/docs/framework/deployment/index.md index 55faecbdbe2a3..0b806bd39b509 100644 --- a/docs/framework/deployment/index.md +++ b/docs/framework/deployment/index.md @@ -63,9 +63,9 @@ Use the following links to other MSDN topics for specific information about depl - For general information, see the [.NET Framework blog](https://devblogs.microsoft.com/dotnet/). -- [Detecting versions](../migration-guide/how-to-determine-which-versions-are-installed.md) +- [Detecting versions](../install/how-to-determine-which-versions-are-installed.md) -- [Detecting service packs and updates](../migration-guide/how-to-determine-which-net-framework-updates-are-installed.md) +- [Detecting service packs and updates](../install/how-to-determine-which-net-framework-updates-are-installed.md) ## Features That Simplify Deployment diff --git a/docs/framework/get-started/index.md b/docs/framework/get-started/index.md index f4e998b7e7bc8..ce03122485ba7 100644 --- a/docs/framework/get-started/index.md +++ b/docs/framework/get-started/index.md @@ -45,7 +45,7 @@ In general, you shouldn't uninstall versions of .NET Framework that are installe - If an app that you use depends on a specific version of .NET Framework, that app may break if that version is removed. -- Some versions of .NET Framework are in-place updates to earlier versions. For example, .NET Framework 3.5 is an in-place update to version 2.0, and .NET Framework 4.8 is an in-place update to versions 4 through 4.7.2. For more information, see [.NET Framework Versions and Dependencies](../migration-guide/versions-and-dependencies.md). +- Some versions of .NET Framework are in-place updates to earlier versions. For example, .NET Framework 3.5 is an in-place update to version 2.0, and .NET Framework 4.8 is an in-place update to versions 4 through 4.7.2. For more information, see [.NET Framework Versions and Dependencies](../install/versions-and-dependencies.md). On Windows versions before Windows 8, if you do choose to remove .NET Framework, always use **Programs and Features** from Control Panel to uninstall it. Never remove a version of .NET Framework manually. On Windows 8 and above, .NET Framework is an operating system component and cannot be independently uninstalled. diff --git a/docs/framework/get-started/system-requirements.md b/docs/framework/get-started/system-requirements.md index c8541b3a90f31..6d209230ff0ba 100644 --- a/docs/framework/get-started/system-requirements.md +++ b/docs/framework/get-started/system-requirements.md @@ -17,7 +17,7 @@ The tables in this article provide the hardware, operating system, and software - .NET Framework 4.7 and its point releases (4.7.1 and 4.7.2). - .NET Framework 4.6.2. -For information on earlier .NET Framework versions, see [.NET Framework versions and dependencies](../migration-guide/versions-and-dependencies.md). +For information on earlier .NET Framework versions, see [.NET Framework versions and dependencies](../install/versions-and-dependencies.md). Development environments that enable you to develop apps for .NET Framework have a separate set of requirements. diff --git a/docs/framework/install/dotnet-35-windows.md b/docs/framework/install/dotnet-35-windows.md index 903f3ed55ab9d..3acb1ce451c29 100644 --- a/docs/framework/install/dotnet-35-windows.md +++ b/docs/framework/install/dotnet-35-windows.md @@ -1,43 +1,73 @@ --- -title: Install .NET Framework 3.5 on Windows 11, 10, 8.1, 8 -description: Learn how to install the .NET Framework 3.5 on Windows 11, Windows 10, Windows 8.1, and Windows 8. -ms.date: 10/06/2021 +title: Install .NET Framework 3.5 on Windows +description: Learn how to install .NET Framework 3.5 on Windows and Windows Server. .NET Framework 3.5 can run apps that target .NET Framework 1.0 through 3.5. +ms.date: 02/10/2025 --- -# Install .NET Framework 3.5 on Windows 11, Windows 10, Windows 8.1, and Windows 8 +# Install .NET Framework 3.5 on Windows and Windows Server -You may need the .NET Framework 3.5 to run an app on Windows 11, Windows 10, Windows 8.1, and Windows 8. You can also use these instructions for earlier Windows versions. +You might need .NET Framework 3.5 to run an app on Windows or Windows Server. Windows and Windows Server come with .NET Framework 4, which doesn't support apps built with .NET Framework 1.1 through 3.5. To run these apps, install .NET Framework 3.5. If you're a developer that requires .NET Framework 3.5, see the section [Developers and .NET Framework 3.5](#developers-and-net-framework-35). -## Install .NET Framework 3.5 on Demand +> [!TIP] +> You might be able to use a config file to force the app to run on .NET Framework 4. For more information, see [Migration: Retarget or Recompile](../migration-guide/migrating-from-the-net-framework-1-1.md#retarget-or-recompile). -You may see the following configuration dialog if you try to run an app that requires .NET Framework 3.5. Choose **Install this feature** to enable .NET Framework 3.5. This option requires an Internet connection. +## Install .NET Framework 3.5 on demand -![Screenshot of the .NET Framework installation dialog.](./media/dotnet-35-windows/dotnet-framework-installation-dialog.png) +You might see the following configuration dialog if you try to run an app that requires an older version of .NET Framework. Depending on your version of Windows, the dialog might be slightly different. Choose **Download and install this feature** to enable .NET Framework 3.5. This option requires an internet connection. + +:::image type="content" source="./media/dotnet-35-windows/dotnet-framework-installation-dialog.png" alt-text="Screenshot of the .NET Framework installation dialog."::: ### Why am I getting this pop-up? -The .NET Framework is created by Microsoft and provides an environment for running applications. There are different versions available. Many companies develop their apps to run using the .NET Framework, and these apps target a specific version. If you see this pop-up, you're trying to run an application that requires .NET Framework version 3.5, but that version is not installed on your system. +.NET Framework is created by Microsoft and provides an environment for running apps. There are different versions available. Many companies develop their apps to run using the .NET Framework, and these apps target a specific version. If you see this pop-up, you're trying to run an app that requires a .NET Framework version that isn't installed on your system. + +## Enable .NET Framework 3.5 on Windows Server + +Enable .NET Framework 3.5 through the **Add Roles and Features Wizard**. -## Enable .NET Framework 3.5 in Control Panel +1. Press the Start :::image type="icon" source="media/dotnet-35-windows/windows-keyboard-logo.png" border="false"::: button on the taskbar. +1. Search for **Add Roles and Features Wizard** and open it. +1. Search for **Windows Features** and open it. The **Turn Windows features on or off** dialog box appears. +1. Navigate through the wizard until you reach **Features**. +1. Select **.NET Framework 3.5 Features** in the list. +1. Select **Install** to start installing .NET Framework 3.5. -You can enable the .NET Framework 3.5 through the Windows Control Panel. This option requires an Internet connection. +:::image type="content" source="media/dotnet-35-windows/server-features.png" alt-text="The Add Roles and Features Wizard dialog box from Windows Server. .NET Framework 3.5 is selected."::: -1. Press the Windows key ![Screenshot of the Windows key logo.](./media/dotnet-35-windows/windows-keyboard-logo.png) on your keyboard, type "Windows Features", and press Enter. The **Turn Windows features on or off** dialog box appears. +## Enable .NET Framework 3.5 on Windows -2. Select the **.NET Framework 3.5 (includes .NET 2.0 and 3.0)** check box, select **OK**, and reboot your computer if prompted. +You can enable the .NET Framework 3.5 through the Windows Control Panel. This option requires an internet connection. - ![Screenshot showing installation of .NET with the control panel.](./media/dotnet-35-windows/dotnet-control-panel.png) +1. Press the Start :::image type="icon" source="media/dotnet-35-windows/windows-keyboard-logo.png" border="false"::: button on the taskbar. +1. Search for **Windows Features** and open it. The **Turn Windows features on or off** dialog box appears. +1. Select the **.NET Framework 3.5 (includes .NET 2.0 and 3.0)** check box, select **OK**, and reboot your computer if prompted. - You don't need to select the child items for **Windows Communication Foundation (WCF) HTTP Activation** and **Windows Communication Foundation (WCF) Non-HTTP Activation** unless you're a developer or server administrator who requires this functionality. +:::image type="content" source="media/dotnet-35-windows/dotnet-control-panel.png" alt-text="Screenshot of the Windows Features dialog box. .NET Framework 3.5 is selected."::: + +You don't need to select the child items for **Windows Communication Foundation (WCF) HTTP Activation** and **Windows Communication Foundation (WCF) Non-HTTP Activation** unless you're a developer or server administrator who requires this functionality. ## Download the offline installer -For Windows versions prior to Windows 10, the .NET Framework 3.5 SP1 offline installer is available on the [.NET Framework 3.5 SP1 Download page](https://dotnet.microsoft.com/download/dotnet-framework/net35-sp1?wt.mc_id=install-docs). +The .NET Framework 3.5 SP1 offline installer is available for Windows versions prior to Windows 10 and Windows Server 2016. For more information, see [.NET Framework 3.5 SP1 Download page](https://dotnet.microsoft.com/download/dotnet-framework/net35-sp1?wt.mc_id=install-docs). ## Troubleshoot the installation -During installation, you may encounter error 0x800f0906, 0x800f0907, 0x800f081f, or 0x800F0922, in which case refer to [.NET Framework 3.5 installation error: 0x800f0906, 0x800f0907, or 0x800f081f](https://support.microsoft.com/help/2734782/net-framework-3-5-installation-error-0x800f0906--0x800f081f--0x800f09) to see how to resolve these issues. +During installation, you might encounter error **0x800f0906**, **0x800f0907**, **0x800f081f**, or **0x800F0922**, in which case refer to [.NET Framework 3.5 installation error](https://support.microsoft.com/help/2734782/net-framework-3-5-installation-error-0x800f0906--0x800f081f--0x800f09) to see how to resolve these issues. -If you still can't resolve your installation issue or you don't have an Internet connection, you can try installing it using your Windows installation media. For more information, see [Deploy .NET Framework 3.5 by using Deployment Image Servicing and Management (DISM)](/windows-hardware/manufacture/desktop/deploy-net-framework-35-by-using-deployment-image-servicing-and-management--dism). If you're using Windows 7, Windows 8.1, the latest release Windows 10, or Windows 11, but you don't have the installation media, create an up-to-date installation media here: [Create installation media for Windows](https://support.microsoft.com/help/15088/windows-create-installation-media). Additional information about Windows 11 and Windows 10 Features on Demand: [Features on Demand](/windows-hardware/manufacture/desktop/features-on-demand-v2--capabilities). +If you still can't resolve your installation issue or you don't have an internet connection, you can try installing it using your Windows installation media. For more information, see [Deploy .NET Framework 3.5 by using Deployment Image Servicing and Management (DISM)](/windows-hardware/manufacture/desktop/deploy-net-framework-35-by-using-deployment-image-servicing-and-management--dism). If you don't have the installation media, follow the instructions on [Create installation media for Windows](https://support.microsoft.com/help/15088/windows-create-installation-media). For more information about Windows 11 and Windows 10 Features on Demand, see [Features on Demand](/windows-hardware/manufacture/desktop/features-on-demand-v2--capabilities). > [!WARNING] > If you're not relying on Windows Update as the source for installing .NET Framework 3.5, you must ensure to strictly use sources from the same corresponding Windows operating system version. Using sources from a different Windows operating system version will either install a mismatched version of .NET Framework 3.5 or cause the installation to fail, leaving the system in an unsupported and unserviceable state. + +## Developers and .NET Framework 3.5 + +If you're a developer that maintains existing software and you need to use .NET Framework 3.5, enable it with the following steps: + +1. Install .NET Framework 3.5 on your system using the instructions in this article. +1. Enable **.NET Framework 3.5 Development Tools** in Visual Studio. It's listed in the **Individual Components** page. + +## See also + +- [Install .NET Framework on Windows and Windows Server](on-windows-and-server.md) +- [Install .NET Framework for developers](guide-for-developers.md) +- [How to: Determine which .NET Framework versions are installed](how-to-determine-which-versions-are-installed.md) +- [Versions and dependencies](versions-and-dependencies.md) diff --git a/docs/framework/install/guide-for-developers.md b/docs/framework/install/guide-for-developers.md index ae2de8e5174b4..7e5d3bfccbf2a 100644 --- a/docs/framework/install/guide-for-developers.md +++ b/docs/framework/install/guide-for-developers.md @@ -11,10 +11,10 @@ ms.assetid: daf9d9d5-84ac-4bd9-a864-27665ffd0f5c --- # Install .NET Framework for developers -.NET is an integral part of many apps running on Windows and provides common functionality for those apps to run. For developers, .NET Framework provides a comprehensive and consistent programming model for building apps that have visually stunning user experiences and seamless and secure communication. +.NET Framework is an integral part of many apps running on Windows and provides common functionality for those apps to run. For developers, .NET Framework provides a comprehensive and consistent programming model for building apps that have visually stunning user experiences and seamless and secure communication. > [!NOTE] -> This article is intended for **developers** who either want to install .NET Framework on their own system or who want to install it with their applications. For **users** interested in installing .NET Framework, see the individual articles that discuss installing .NET Framework on specific operating systems, such as [Install .NET Framework on Windows 10 and Windows Server 2016](on-windows-10.md). +> This article is intended for **developers** who either want to install .NET Framework on their own system or who want to install it with their applications. For **users** interested in installing .NET Framework, see [Install .NET Framework on Windows and Windows Server](on-windows-and-server.md). This article provides links for installing all versions of .NET Framework from .NET Framework 4.5 to .NET Framework 4.8.1 on your computer. If you're a developer, you can also use these links to download and redistribute .NET Framework with your apps. For information on deploying a version of .NET Framework with your app, see [.NET Framework deployment guide for developers](../deployment/deployment-guide-for-developers.md). @@ -22,7 +22,7 @@ This article provides links for installing all versions of .NET Framework from . [!INCLUDE[net-framework-4-versions](../../../includes/net-framework-4x-versions.md)] -For more information about versions of .NET Framework and how to determine which versions are installed on a computer, see [Versions and Dependencies](../migration-guide/versions-and-dependencies.md) and [How to: Determine Which .NET Framework Versions Are Installed](../migration-guide/how-to-determine-which-versions-are-installed.md). +For more information about versions of .NET Framework and how to determine which versions are installed on a computer, see [Versions and Dependencies](../install/versions-and-dependencies.md) and [How to: Determine Which .NET Framework Versions Are Installed](../install/how-to-determine-which-versions-are-installed.md). > [!NOTE] > For information on .NET Framework 3.5, see [Install the .NET Framework 3.5 on Windows 11, Windows 10, Windows 8.1, and Windows 8](dotnet-35-windows.md). diff --git a/docs/framework/migration-guide/how-to-determine-which-net-framework-updates-are-installed.md b/docs/framework/install/how-to-determine-which-net-framework-updates-are-installed.md similarity index 98% rename from docs/framework/migration-guide/how-to-determine-which-net-framework-updates-are-installed.md rename to docs/framework/install/how-to-determine-which-net-framework-updates-are-installed.md index c8b1c1484c9da..66bca7be1ee6c 100644 --- a/docs/framework/migration-guide/how-to-determine-which-net-framework-updates-are-installed.md +++ b/docs/framework/install/how-to-determine-which-net-framework-updates-are-installed.md @@ -109,5 +109,5 @@ KB2600217 ## See also - [How to: Determine which .NET Framework versions are installed](how-to-determine-which-versions-are-installed.md) -- [Install the .NET Framework for developers](../install/guide-for-developers.md) +- [Install the .NET Framework for developers](guide-for-developers.md) - [Versions and dependencies](versions-and-dependencies.md) diff --git a/docs/framework/migration-guide/how-to-determine-which-versions-are-installed.md b/docs/framework/install/how-to-determine-which-versions-are-installed.md similarity index 95% rename from docs/framework/migration-guide/how-to-determine-which-versions-are-installed.md rename to docs/framework/install/how-to-determine-which-versions-are-installed.md index f15ac2e66a40c..d0948a6fb91a3 100644 --- a/docs/framework/migration-guide/how-to-determine-which-versions-are-installed.md +++ b/docs/framework/install/how-to-determine-which-versions-are-installed.md @@ -1,7 +1,7 @@ --- title: Determine which .NET Framework versions are installed description: Use code, regedit.exe, or PowerShell to detect which versions of .NET Framework are installed on a machine by querying the Windows registry. Or, check Control Panel. -ms.date: 04/03/2024 +ms.date: 02/14/2025 dev_langs: - "csharp" - "vb" @@ -116,7 +116,7 @@ To determine whether a *minimum* version of .NET Framework is present, check for 1. Check for a REG_DWORD entry named **Release**. If it exists, then you have .NET Framework 4.5 or later installed. Its value corresponds to a particular version of .NET Framework. In the following figure, for example, the value of the **Release** entry is 528040, which is the release key for .NET Framework 4.8. - ![Registry entry for .NET Framework 4.5](./media/clr-installdir.png ) + :::image type="content" source="./media/how-to-determine-which-versions-are-installed/clr-installdir.png" alt-text="A screenshot of the RegEdit tool showing the registry entry for .NET Framework 4.5"::: #### Use PowerShell to check for a minimum version @@ -142,8 +142,8 @@ The following example checks the value of the **Release** entry in the registry > [!TIP] > Add the directive `using Microsoft.Win32` or `Imports Microsoft.Win32` at the top of your code file if you haven't already done so. -:::code language="csharp" source="snippets/csharp/versions-installed.cs" id="2"::: -:::code language="vb" source="snippets/visual-basic/versions-installed.vb" id="2"::: +:::code language="csharp" source="snippets/how-to-determine-which-versions-are-installed/csharp/Program.cs" id="Get45PlusFromRegistry"::: +:::code language="vb" source="snippets/how-to-determine-which-versions-are-installed/vb/Module1.vb" id="Get45PlusFromRegistry"::: The example displays output like the following: @@ -216,7 +216,7 @@ Notice that the registry path to the .NET Framework 1.0 subkey is different from The following figure shows the subkey and its **Version** value for .NET Framework 3.5. - ![The registry entry for .NET Framework 3.5.](./media/net-4-and-earlier.png) + :::image type="content" source="./media/how-to-determine-which-versions-are-installed/net-4-and-earlier.png" alt-text="A screenshot of the RegEdit tool showing the registry entry for .NET Framework 3.5"::: #### Query the registry using code (older framework versions) @@ -227,8 +227,8 @@ Use the class to The following example finds the versions of .NET Framework 1-4 that are installed: -:::code language="csharp" source="snippets/csharp/versions-installed.cs" id="1"::: -:::code language="vb" source="snippets/visual-basic/versions-installed.vb" id="1"::: +:::code language="csharp" source="snippets/how-to-determine-which-versions-are-installed/csharp/Program.cs" id="GetVersionFromRegistry"::: +:::code language="vb" source="snippets/how-to-determine-which-versions-are-installed/vb/Module1.vb" id="GetVersionFromRegistry"::: The example displays output similar to the following: @@ -341,5 +341,5 @@ Version: 4.0.30319.18010 - [How to: Determine which .NET Framework updates are installed](how-to-determine-which-net-framework-updates-are-installed.md) - [Troubleshoot: Determine which versions and service packs of .NET Framework are installed](/troubleshoot/developer/dotnet/framework/general/determine-dotnet-versions-service-pack-levels) -- [Install .NET Framework for developers](../install/guide-for-developers.md) +- [Install .NET Framework for developers](guide-for-developers.md) - [.NET Framework versions and dependencies](versions-and-dependencies.md) diff --git a/docs/framework/install/includes/server-35.md b/docs/framework/install/includes/server-35.md deleted file mode 100644 index 6f7b8e50dccf5..0000000000000 --- a/docs/framework/install/includes/server-35.md +++ /dev/null @@ -1,18 +0,0 @@ ---- -author: adegeo -ms.author: adegeo -ms.date: 05/31/2024 -ms.topic: include ---- - -.NET Framework 3.5 supports apps built for .NET Framework 1.0 through 3.5. - -Enable .NET Framework 3.5 through the **Add Roles and Features Wizard**. - -1. Open the Start Menu. -1. Search for **Add Roles and Features Wizard** and open it. -1. Navigate through the wizard until you reach **Features**. -1. Select **.NET Framework 3.5 Features** in the list. -1. Finally, select **Install** to start installing .NET Framework 3.5. - -:::image type="content" source="../media/includes-server-35/features.png" alt-text="The Add Roles and Features Wizard dialog box from Windows Server. .NET Framework 3.5 Features is selected."::: diff --git a/docs/framework/install/index.md b/docs/framework/install/index.md index 15b0703fa6764..a49174e2c12f8 100644 --- a/docs/framework/install/index.md +++ b/docs/framework/install/index.md @@ -1,7 +1,7 @@ --- title: .NET Framework installation guide description: Learn about how to install the .NET Framework on Windows, and which versions of Windows support .NET Framework. -ms.date: 05/15/2024 +ms.date: 02/14/2025 --- # Installation guide @@ -9,22 +9,22 @@ You can install .NET Framework on various Windows versions. [!INCLUDE [net-framework-future](../../../includes/net-framework-future.md)] -If you need to install .NET Framework 2.0 through 3.5, see [Install .NET Framework 3.5 on Windows 11, Windows 10, Windows 8.1, and Windows 8](dotnet-35-windows.md). +If you need to install .NET Framework 1.1 through 3.5, see [Install .NET Framework 3.5 on Windows](dotnet-35-windows.md). ## Supported Windows versions -- [Windows 11](on-windows-11.md) (.NET Framework 4.8 included) -- [Windows Server 2022](on-server-2022.md) (.NET Framework 4.8 included) -- [Windows Server 2019](on-server-2019.md) (.NET Framework 4.7.2 included) -- [Windows 10 and Windows Server 2016](on-windows-10.md) -- [Windows 8.1 and Windows Server 2012 R2](on-windows-8-1.md) -- [Windows 8 and Windows Server 2012](on-windows-8.md) +- [Windows 11](on-windows-and-server.md#windows-11) (.NET Framework 4.8 included) +- [Windows 10](on-windows-and-server.md#windows-10) (.NET Framework 4.6.2 through 4.8 included) +- [Windows Server 2025](on-windows-and-server.md#windows-server) (.NET Framework 4.8 included) +- [Windows Server 2022](on-windows-and-server.md#windows-server) (.NET Framework 4.8 included) ## Unsupported Windows versions -- [Windows XP and Windows Server 2003](/previous-versions/dotnet/framework/install/on-windows-xp) +- [Windows 8.1](on-windows-and-server.md#windows-81-8-7-vista-xp) and [Windows Server 2012 R2](on-windows-and-server.md#windows-server) +- [Windows 8](on-windows-and-server.md#windows-81-8-7-vista-xp) and [Windows Server 2012](on-windows-and-server.md#windows-server) - [Windows 7 and Windows Server 2008 R2](/previous-versions/dotnet/framework/install/on-windows-7) - [Windows Vista and Windows Server 2008](/previous-versions/dotnet/framework/install/on-windows-vista) +- [Windows XP and Windows Server 2003](/previous-versions/dotnet/framework/install/on-windows-xp) ## See also diff --git a/docs/framework/install/media/dotnet-35-windows/dotnet-control-panel.png b/docs/framework/install/media/dotnet-35-windows/dotnet-control-panel.png index cdeb8c86303ee1f38fab083368f8c6889d819899..79127ca698e35a486f52ea9841f429c846d3bf57 100644 GIT binary patch literal 19969 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 z%0D-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 literal 10194 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 A-T(jq diff --git a/docs/framework/migration-guide/media/how-to-determine-which-net-framework-updates-are-installed/windows-keyboard-logo.png b/docs/framework/install/media/how-to-determine-which-net-framework-updates-are-installed/windows-keyboard-logo.png similarity index 100% rename from docs/framework/migration-guide/media/how-to-determine-which-net-framework-updates-are-installed/windows-keyboard-logo.png rename to docs/framework/install/media/how-to-determine-which-net-framework-updates-are-installed/windows-keyboard-logo.png diff --git a/docs/framework/migration-guide/media/clr-installdir.png b/docs/framework/install/media/how-to-determine-which-versions-are-installed/clr-installdir.png similarity index 100% rename from docs/framework/migration-guide/media/clr-installdir.png rename to docs/framework/install/media/how-to-determine-which-versions-are-installed/clr-installdir.png diff --git a/docs/framework/migration-guide/media/net-4-and-earlier.png b/docs/framework/install/media/how-to-determine-which-versions-are-installed/net-4-and-earlier.png similarity index 100% rename from docs/framework/migration-guide/media/net-4-and-earlier.png rename to docs/framework/install/media/how-to-determine-which-versions-are-installed/net-4-and-earlier.png diff --git a/docs/framework/install/on-server-2019.md b/docs/framework/install/on-server-2019.md deleted file mode 100644 index 259f4056653ea..0000000000000 --- a/docs/framework/install/on-server-2019.md +++ /dev/null @@ -1,27 +0,0 @@ ---- -title: Install .NET Framework on Windows Server 2019 -description: Learn how to install .NET Framework on Windows Server 2019. .NET Framework 4.7.2 is included, but .NET Framework 4.8 can be installed separately. -ms.date: 06/27/2024 ---- - -# Install .NET Framework on Windows Server 2019 - -.NET Framework 4.7.2 is included with Server 2019, and runs any .NET Framework 4.x app. - -## .NET Framework 4.8 - -.NET Framework 4.8 is the last supported version of .NET Framework for Windows Server 2019. - -> [!div class="button"] -> [Download .NET Framework 4.8](https://dotnet.microsoft.com/download/dotnet-framework/net48) - -## .NET Framework 3.5 - -[!INCLUDE [server-35](includes/server-35.md)] - -## See also - -- [.NET Downloads](https://dotnet.microsoft.com/download) -- [Troubleshoot blocked .NET Framework installations and uninstallations](troubleshoot-blocked-installations-and-uninstallations.md) -- [Install .NET Framework for developers](guide-for-developers.md) -- [Determine which .NET Framework versions are installed](../migration-guide/how-to-determine-which-versions-are-installed.md) diff --git a/docs/framework/install/on-server-2022.md b/docs/framework/install/on-server-2022.md deleted file mode 100644 index 8544ff7c21d75..0000000000000 --- a/docs/framework/install/on-server-2022.md +++ /dev/null @@ -1,27 +0,0 @@ ---- -title: Install .NET Framework on Windows Server 2022 -description: Learn how to install .NET Framework on Windows Server 2022. .NET Framework 4.8 is included, but .NET Framework 4.8.1 can be installed separately. -ms.date: 05/15/2024 ---- - -# Install .NET Framework on Windows Server 2022 - -.NET Framework 4.8 is included with Server 2022, and runs any .NET Framework 4.x app. - -## .NET Framework 4.8.1 - -.NET 4.8.1 is supported on Windows Server 2022. - -> [!div class="button"] -> [Download .NET Framework 4.8.1](https://dotnet.microsoft.com/download/dotnet-framework/net481) - -## .NET Framework 3.5 - -[!INCLUDE [server-35](includes/server-35.md)] - -## See also - -- [.NET Downloads](https://dotnet.microsoft.com/download) -- [Troubleshoot blocked .NET Framework installations and uninstallations](troubleshoot-blocked-installations-and-uninstallations.md) -- [Install .NET Framework for developers](guide-for-developers.md) -- [Determine which .NET Framework versions are installed](../migration-guide/how-to-determine-which-versions-are-installed.md) diff --git a/docs/framework/install/on-server-2025.md b/docs/framework/install/on-server-2025.md deleted file mode 100644 index 3ef79bb19c9bb..0000000000000 --- a/docs/framework/install/on-server-2025.md +++ /dev/null @@ -1,24 +0,0 @@ ---- -title: Install .NET Framework on Windows Server 2025 -description: Learn how to install .NET Framework on Windows Server 2025. -ms.date: 12/05/2024 ---- - -# Install .NET Framework on Windows Server 2025 - -.NET Framework 4.8.1 is included with Server 2025, and runs any .NET Framework 4.x app. - -## .NET Framework 4.8.1 - -.NET 4.8.1 is supported on Windows Server 2025 and newer operating systems. - -## .NET Framework 3.5 - -[!INCLUDE [server-35](includes/server-35.md)] - -## See also - -- [.NET Downloads](https://dotnet.microsoft.com/download) -- [Troubleshoot blocked .NET Framework installations and uninstallations](troubleshoot-blocked-installations-and-uninstallations.md) -- [Install .NET Framework for developers](guide-for-developers.md) -- [Determine which .NET Framework versions are installed](../migration-guide/how-to-determine-which-versions-are-installed.md) diff --git a/docs/framework/install/on-windows-10.md b/docs/framework/install/on-windows-10.md deleted file mode 100644 index 978c6ed357413..0000000000000 --- a/docs/framework/install/on-windows-10.md +++ /dev/null @@ -1,81 +0,0 @@ ---- -title: Install the .NET Framework on Windows 10 -description: Learn how to install the .NET Framework on Windows 10 or Windows Server 2016. -ms.date: 10/06/2021 ---- -# Install .NET Framework on Windows 10 and Windows Server 2016 and later - -The .NET Framework is required to run many applications on Windows. The instructions in this article should help you install the .NET Framework versions that you need. The [.NET Framework 4.8](https://github.com/Microsoft/dotnet/tree/main/releases/net48) is the latest available version. - -You may have arrived on this page after trying to run an application and seeing a dialog on your machine similar to the following one: - -![This application could not be started](./media/this-application-could-not-be-started.png) - -## .NET Framework 4.8 - -.NET Framework 4.8 is included with: - -- [Windows 10 May 2021 Update](/windows/whats-new/whats-new-windows-10-version-21h1) -- [Windows 10 October 2020 Update](/windows/whats-new/whats-new-windows-10-version-20h2) -- [Windows 10 May 2020 Update](/windows/whats-new/whats-new-windows-10-version-2004) -- [Windows 10 November 2019 Update](/windows/whats-new/whats-new-windows-10-version-1909) -- [Windows 10 May 2019 Update](/windows/whats-new/whats-new-windows-10-version-1903) - -> [!div class="button"] -> [Download .NET Framework 4.8](https://dotnet.microsoft.com/download/dotnet-framework/net48) - -[.NET Framework 4.8](https://dotnet.microsoft.com/download/dotnet-framework/net48) can be used to run applications built for the .NET Framework 4.0 through 4.8. - -You can install [.NET Framework 4.8](https://dotnet.microsoft.com/download/dotnet-framework/net48) on: - -- Windows 10 October 2018 Update (version 1809) -- Windows 10 April 2018 Update (version 1803) -- Windows 10 Fall Creators Update (version 1709) -- Windows 10 Creators Update (version 1703) -- Windows 10 Anniversary Update (version 1607) -- Windows Server 2019 -- Windows Server, version 1809 -- Windows Server, version 1803 -- Windows Server 2016 - -The .NET Framework 4.8 is not supported on: - -- Windows 10 1507 -- Windows 10 1511 - -If you're using Windows 10 1507 or 1511 and you want to install .NET Framework 4.8, you first need to upgrade to a later Windows 10 version. - -## .NET Framework 4.6.2 - -The [.NET Framework 4.6.2](https://dotnet.microsoft.com/download/dotnet-framework/net462) is the latest supported .NET Framework version on Windows 10 1507 and 1511. - -The .NET Framework 4.6.2 supports apps built for the .NET Framework 4.0 through 4.6.2. - -## .NET Framework 3.5 - -Follow the instructions to install [.NET Framework 3.5 on Windows 10](dotnet-35-windows.md). - -The .NET Framework 3.5 supports apps built for the .NET Framework 1.0 through 3.5. - -## Additional information - -.NET Framework 4.x versions are in-place updates to earlier versions. That means the following: - -- You can only have one version of the .NET Framework 4.x installed on your machine. - -- You cannot install an earlier version of the .NET Framework on your machine if a later version is already installed. - -- 4.x versions of the .NET Framework can be used to run applications built for the .NET Framework 4.0 through that version. For example, .NET Framework 4.7 can be used to run applications built for the .NET Framework 4.0 through 4.7. The latest version (the .NET Framework 4.8) can be used to run applications built with all versions of the .NET Framework starting with 4.0. - -For a list of all the versions of the .NET Framework available to download, see the [.NET Downloads](https://dotnet.microsoft.com/download) page. - -## Help - -If you cannot get the correct version of the .NET Framework installed, you can [contact Microsoft for help](mailto:dotnet-install-help@service.microsoft.com?subject=Install-Help). - -## See also - -- [.NET Downloads](https://dotnet.microsoft.com/download) -- [Troubleshoot blocked .NET Framework installations and uninstallations](troubleshoot-blocked-installations-and-uninstallations.md) -- [Install the .NET Framework for developers](guide-for-developers.md) -- [Determine which .NET Framework versions are installed](../migration-guide/how-to-determine-which-versions-are-installed.md) diff --git a/docs/framework/install/on-windows-11.md b/docs/framework/install/on-windows-11.md deleted file mode 100644 index 6257c5de020d1..0000000000000 --- a/docs/framework/install/on-windows-11.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -title: Install .NET Framework on Windows 11 -description: Learn how to install .NET Framework on Windows 11. -ms.date: 10/06/2021 ---- -# Install .NET Framework on Windows 11 - -.NET Framework 4.8 is included with Windows 11, and runs any .NET Framework 4.x app. - -## .NET Framework 4.8.1 - -.NET 4.8.1 is supported on Windows 11, version 22H2 and newer operating systems. - -## .NET Framework 3.5 - -[!INCLUDE [server-35](includes/server-35.md)] - -## See also - -- [.NET Downloads](https://dotnet.microsoft.com/download) -- [Troubleshoot blocked .NET Framework installations and uninstallations](troubleshoot-blocked-installations-and-uninstallations.md) -- [Install .NET Framework for developers](guide-for-developers.md) -- [Determine which .NET Framework versions are installed](../migration-guide/how-to-determine-which-versions-are-installed.md) diff --git a/docs/framework/install/on-windows-8-1.md b/docs/framework/install/on-windows-8-1.md deleted file mode 100644 index b16fe04d263a9..0000000000000 --- a/docs/framework/install/on-windows-8-1.md +++ /dev/null @@ -1,36 +0,0 @@ ---- -title: Install the .NET Framework on Windows 8.1 -description: Learn how to install .NET Framework on Windows 8.1 -ms.date: 10/06/2021 ---- - -# Install .NET Framework on Windows 8.1 and Windows Server 2012 R2 - -The .NET Framework is required to run many applications on Windows. You can use the following instructions to install it. You may have arrived on this page after trying to run an application and seeing the following dialog on your machine. - -![This application could not be started](./media/this-application-could-not-be-started.png) - -These instructions will help you install the .NET Framework versions you need. [.NET Framework 4.8](https://github.com/Microsoft/dotnet/tree/main/releases/net48) is the latest version. It is supported on Windows 8.1 and Windows Server 2012 R2. It's included with Windows 11 and in Windows 10 starting with the [May 2019 Update](https://support.microsoft.com/help/4028685/windows-10-get-the-update). - -## .NET Framework 4.8 - -> [!div class="button"] -> [Download .NET Framework 4.8](https://dotnet.microsoft.com/download/dotnet-framework/net48) - -[.NET Framework 4.8](https://github.com/Microsoft/dotnet/tree/main/releases/net48) can be used to run applications built for .NET Framework 4.0 or later. - -## .NET Framework 3.5 - -Follow the instructions to install the [.NET Framework 3.5 on Windows 8.1, Windows 10, and Windows 11](dotnet-35-windows.md). - -The .NET Framework 3.5 supports apps built for .NET Framework 1.0 through 3.5. - -## Help - -You can [contact Microsoft for help](mailto:dotnet-install-help@service.microsoft.com?subject=Install-Help) if you cannot get the correct version of the .NET Framework installed. - -## See also - -- [Download the .NET Framework](https://dotnet.microsoft.com/download) -- [Troubleshoot blocked .NET Framework installations and uninstallations](troubleshoot-blocked-installations-and-uninstallations.md) -- [Install the .NET Framework for developers](guide-for-developers.md) diff --git a/docs/framework/install/on-windows-8.md b/docs/framework/install/on-windows-8.md deleted file mode 100644 index 76dd51f203736..0000000000000 --- a/docs/framework/install/on-windows-8.md +++ /dev/null @@ -1,44 +0,0 @@ ---- -title: Install the .NET Framework on Windows 8 -description: Learn how to install .NET Framework on Windows 8 -ms.date: 10/06/2021 ---- - -# Install .NET Framework on Windows 8 and Windows Server 2012 - -The .NET Framework is required to run many applications on Windows. You can use the following instructions to install it. You may have arrived on this page after trying to run an application and seeing the following dialog on your machine. - -![This application could not be started](./media/this-application-could-not-be-started.png) - -These instructions will help you install the .NET Framework versions you need. [.NET Framework 4.8](https://github.com/Microsoft/dotnet/tree/main/releases/net48) is the latest version. It is supported on Windows Server 2012 but is not supported on Windows 8. It's included with Windows 11 and in Windows 10 starting with the [May 2019 Update](https://support.microsoft.com/help/4028685/windows-10-get-the-update). - -## .NET Framework 4.8 - -> [!div class="button"] -> [Download .NET Framework 4.8](https://dotnet.microsoft.com/download/dotnet-framework/net48) - -.NET Framework 4.8 is supported on Windows Server 2012. It is not supported on Windows 8. - -[.NET Framework 4.8](https://github.com/Microsoft/dotnet/tree/main/releases/net48) can be used to run applications built for .NET Framework 4.0 or later. - -## .NET Framework 4.6 - -The [.NET Framework 4.6](https://dotnet.microsoft.com/download/dotnet-framework/net46) is the latest supported .NET Framework version on Windows 8. - -The .NET Framework 4.6 supports apps built for .NET Framework 4.0 through 4.6. - -## .NET Framework 3.5 - -Follow the instructions to install the [.NET Framework 3.5 on Windows 8, Windows 10, and Windows 11](dotnet-35-windows.md). - -The .NET Framework 3.5 supports apps built for .NET Framework 1.0 through 3.5. - -## Help - -You can [contact Microsoft for help](mailto:dotnet-install-help@service.microsoft.com?subject=Install-Help) if you cannot get the correct version of the .NET Framework installed. - -## See also - -- [Download the .NET Framework](https://dotnet.microsoft.com/download) -- [Troubleshoot blocked .NET Framework installations and uninstallations](troubleshoot-blocked-installations-and-uninstallations.md) -- [Install the .NET Framework for developers](guide-for-developers.md) diff --git a/docs/framework/install/on-windows-and-server.md b/docs/framework/install/on-windows-and-server.md new file mode 100644 index 0000000000000..99aa73baa6deb --- /dev/null +++ b/docs/framework/install/on-windows-and-server.md @@ -0,0 +1,189 @@ +--- +title: Install .NET Framework on Windows +description: Learn how to install .NET Framework on Windows 11, Windows 10, and Windows Server. This article also includes information about .NET Framework and unsupported versions of Windows, such as Windows 8, Windows Vista, and Windows XP. +ms.date: 02/12/2025 +--- +# Install .NET Framework on Windows and Windows Server + +.NET Framework is included on all current versions of Windows and Windows Server. This article helps you understand which version of .NET Framework is included in Windows and Windows Server, and if an upgrade is available. + +The latest version of .NET Framework is 4.8.1. This version of .NET Framework supports all .NET Framework 4 apps. For more information about a specific release of .NET Framework, see [.NET Framework versions and dependencies](versions-and-dependencies.md). + +> [!NOTE] +> .NET Framework is a Windows-only technology, and is separate from .NET (formerly called .NET Core). For more information, see [Introduction to .NET](../../core/introduction.md). + +## Supported versions of .NET Framework + +The following versions of .NET Framework are still supported: + +- [.NET Framework 4.8.1](https://dotnet.microsoft.com/download/dotnet-framework/net481) +- [.NET Framework 4.8](https://dotnet.microsoft.com/download/dotnet-framework/net48) +- [.NET Framework 4.7.2](https://dotnet.microsoft.com/download/dotnet-framework/net472) +- [.NET Framework 4.7.1](https://dotnet.microsoft.com/download/dotnet-framework/net471) +- [.NET Framework 4.7](https://dotnet.microsoft.com/download/dotnet-framework/net47) +- [.NET Framework 4.6.2](https://dotnet.microsoft.com/download/dotnet-framework/net462) (support ends January 12, 2027) +- [.NET Framework 3.5 Service Pack 1](https://dotnet.microsoft.com/download/dotnet-framework/net35-sp1) (support ends January 9, 2029) + +### .NET Framework 3.5 + +.NET Framework 3.5 is still supported by Microsoft, even though it's an older version of .NET Framework. However, only the .NET Framework 3.5 runtime is supported, which runs apps. Developing new apps that target .NET Framework 3.5 isn't supported. This version of .NET Framework supports running apps that target versions 1.0 through 3.5, and can be installed alongside .NET Framework 4. + +If you try to run an app that targets .NET Framework 1.0 through 3.5, and .NET Framework 3.5 is missing, you're prompted to install it. For more information, see [Install .NET Framework 3.5 on Windows](dotnet-35-windows.md). + +### .NET Framework 4.x + +All .NET Framework 4.x versions are in-place updates. Only a single 4.x version can be present on Windows. Because .NET Framework is installed as part of Windows, consider that: + +- If there's a later 4.x version installed on the machine already, you can't install a previous 4.x version. +- If the OS comes preinstalled with a particular .NET Framework version, you can't install a previous 4.x version on the same machine. +- If you install a later version, you don't have to first uninstall the previous version. + +## Developers and Visual Studio + +Visual Studio uses .NET Framework Developer Packs to support targeting specific versions of .NET Framework 4. If you're a developer who must work on a project targeting an old version of .NET Framework 4, install the corresponding developer pack. For more information, see [Install .NET Framework for developers](guide-for-developers.md). + +## Windows 11 + +.NET Framework 4.8 was originally included with Windows 11. Starting with Windows 11 22H2 (released September 2022), .NET Framework 4.8.1 is included. + +In the following table, ❌ represents an unsupported version of Windows 11 and ✔️ represents a supported version of Windows 11. The table also describes which version of .NET Framework is included with Windows 11, and which version of .NET Framework you can upgrade to. + +| Windows 11 version | .NET Framework included | Latest .NET Framework supported | +|-----------------------|-------------------------|---------------------------------| +| ✔️ 24H2 (October 2024) | 4.8.1 | 4.8.1 | +| ✔️ 23H2 (October 2023) | 4.8.1 | 4.8.1 | +| ❌ 22H2 (September 2022) | 4.8.1 | 4.8.1 | +| ❌ 21H2 (October 2021) | 4.8 | 4.8.1 | + +For more information about Windows 11 end-of-support dates, see [Windows 11 Home and Pro Lifecycle](/lifecycle/products/windows-11-home-and-pro) and [Windows Lifecycle FAQ](/lifecycle/faq/windows). + +### Install .NET Framework on Windows 11 + +If you're using Windows 11 21H2, install .NET Framework 4.8.1 by downloading and running the installer. If you're using any other version of Windows 11, the latest .NET Framework is already installed. + +> [!div class="button"] +> [Download .NET Framework 4.8.1](https://dotnet.microsoft.com/download/dotnet-framework/net481) + +If you need to install .NET Framework 3.5, which supports .NET Framework apps 1.0 through 3.5, refer to the [.NET Framework 3.5 section](#net-framework-35). + +For more downloads, see [All downloads](#all-downloads). + +## Windows 10 + +.NET Framework 4.6 was originally included with Windows 10. However, newer releases of Windows 10 included upgraded versions of .NET Framework. + +Windows 10 22H2 is the last supported version of Windows 10. Support ends October 14, 2025. For more information about Windows 10 end-of-support dates, see [Windows 10 Home and Pro Lifecycle](/lifecycle/products/windows-10-home-and-pro) and [Windows Lifecycle FAQ](/lifecycle/faq/windows). + +In the following table, ❌ represents an unsupported version of Windows 10 and ✔️ represents a supported version of Windows 10. The table also describes which version of .NET Framework is included with a particular Windows 10 version, and which version of .NET Framework you can upgrade to. + +| Windows 10 version | .NET Framework included | Latest .NET Framework supported | +|----------------------|-------------------------|---------------------------------| +| ✔️ 22H2 (October 2022) | 4.8 | 4.8.1 | +| ❌ 21H2 (November 2021) | 4.8 | 4.8.1 | +| ❌ 21H1 (May 2021) | 4.8 | 4.8.1 | +| ❌ 20H2 (October 2020) | 4.8 | 4.8.1 | +| ❌ 2004 (May 2020) | 4.8 | 4.8 | +| ❌ 1909 (November 2019) | 4.8 | 4.8 | +| ❌ 1903 (May 2019) | 4.8 | 4.8 | +| ❌ 1809 (October 2018) | 4.7.2 | 4.8 | +| ❌ 1803 (April 2018) | 4.7.2 | 4.8 | +| ❌ 1709 (October 2017) | 4.7.1 | 4.8 | +| ❌ 1703 (April 2017) | 4.7 | 4.8 | +| ❌ 1607 (August 2016) | 4.6.2 | 4.8 | +| ❌ 1511 (November 2015) | 4.6.1 | 4.6.2 | +| ❌ 1507 (July 2015) | 4.6 | 4.6.2 | + +### Install .NET Framework on Windows 10 + +The latest version of .NET Framework is 4.8.1, which can be installed on Windows 10 22H2. + +> [!div class="button"] +> [Download .NET Framework 4.8.1](https://dotnet.microsoft.com/download/dotnet-framework/net481) + +If you need to install .NET Framework 3.5, which supports .NET Framework apps 1.0 through 3.5, refer to the [.NET Framework 3.5 section](#net-framework-35). + +For more downloads, see [All downloads](#all-downloads). + +## Windows Server + +Windows Server, whether it's in support or not, comes with a version of .NET Framework. Only Windows Server 2022 and Windows Server 2025 are supported, and they both support the latest version of .NET Framework. For more information about Windows Server end-of-support dates, see the following articles: + +- [Windows Server 2025 Lifecycle](/lifecycle/products/windows-server-2025) +- [Windows Server 2022 Lifecycle](/lifecycle/products/windows-server-2022) +- [Windows Server 2019 Lifecycle](/lifecycle/products/windows-server-2019) +- [Product Lifecycle Search Query - Windows Server](/lifecycle/products/?products=windows&terms=Windows%20Server) +- [Windows Lifecycle FAQ](/lifecycle/faq/windows). + +In the following table, ❌ represents an unsupported version of Windows Server and ✔️ represents a supported version of Windows Server. The table also describes which version of .NET Framework is included with a particular Windows Server version, and which version of .NET Framework you can upgrade to. + +| Windows Server | .NET Framework included | Latest .NET Framework supported | +|------------------------------|-------------------------|---------------------------------| +| ✔️ Windows Server 2025 | 4.8 | 4.8.1 | +| ✔️ Windows Server 2022 | 4.8 | 4.8.1 | +| ❌ Windows Server 2019 | 4.7.2 | 4.8 | +| ❌ Windows Server, version 1809 | 4.7.2 | 4.8 | +| ❌ Windows Server, version 1803 | 4.7.2 | 4.8 | +| ❌ Windows Server, version 1709 | 4.7.1 | 4.7.2 | +| ❌ Windows Server 2016 | 4.6.2 | 4.8 | +| ❌ Windows Server 2012 R2 | 4.5.1 | 4.8 | +| ❌ Windows Server 2012 | 4.5 | 4.8 | +| ❌ Windows Server 2008 R2 SP1 | 3.5 | 4.8 | +| ❌ Windows Server 2008 SP2 | 2.0 | 4.6 | +| ❌ Windows Server 2003 | 2.0 | 4.0 | + +### Install .NET Framework on Windows Server + +The latest version of .NET Framework is 4.8.1, which can be installed on Windows Server 2025 and Windows Server 2022. + +> [!div class="button"] +> [Download .NET Framework 4.8.1](https://dotnet.microsoft.com/download/dotnet-framework/net481) + +If you need to install .NET Framework 3.5, which supports .NET Framework apps 1.0 through 3.5, refer to the [.NET Framework 3.5 section](#net-framework-35). + +For more downloads, see [All downloads](#all-downloads). + +## Windows 8.1, 8, 7, Vista, XP + +The following table describes which version of .NET Framework was included with these older versions of Windows, and the last release of .NET Framework for that operating system. None of these operating systems are supported. This information is provided for historical purposes. + +| Windows | .NET Framework included | Latest .NET Framework supported | +|----------------|-------------------------|---------------------------------| +| Windows 8.1 | 4.5.1 | 4.8 | +| Windows 8 | 4.5 | 4.6.1 | +| Windows 7 | 3.5 | 4.8 | +| Windows Vista | 3.0 | 4.6 | +| Windows XP SP3 | None | 4.0.3 | +| Windows XP SP2 | None | 3.5 | +| Windows XP | None | 1.0 | + +### Install .NET Framework on older versions of Windows + +Some downloads aren't available for these older versions of windows, and some installers might not run. For example, the latest .NET Framework 4.8 installer might not run on Windows 8.1. You might need to search the internet for older downloads as they're no longer provided by Microsoft. + +For more downloads, see [All downloads](#all-downloads). + +## All downloads + +The following list is a link to each version of .NET Framework that can be downloaded from Microsoft. + +- [.NET Framework 4.8.1](https://dotnet.microsoft.com/download/dotnet-framework/net481) +- [.NET Framework 4.8](https://dotnet.microsoft.com/download/dotnet-framework/net48) +- [.NET Framework 4.7.2](https://dotnet.microsoft.com/download/dotnet-framework/net472) +- [.NET Framework 4.7.1](https://dotnet.microsoft.com/download/dotnet-framework/net471) +- [.NET Framework 4.7](https://dotnet.microsoft.com/download/dotnet-framework/net47) +- [.NET Framework 4.6.2](https://dotnet.microsoft.com/download/dotnet-framework/net462) +- [.NET Framework 4.6.1](https://dotnet.microsoft.com/download/dotnet-framework/net461) +- [.NET Framework 4.6](https://dotnet.microsoft.com/download/dotnet-framework/net46) +- [.NET Framework 4.5.2](https://dotnet.microsoft.com/download/dotnet-framework/net452) +- [.NET Framework 4.5.1](https://dotnet.microsoft.com/download/dotnet-framework/net451) +- [.NET Framework 4.5](https://dotnet.microsoft.com/download/dotnet-framework/net45) +- [.NET Framework 4.0](https://dotnet.microsoft.com/download/dotnet-framework/net40) +- [.NET Framework 3.5 Service Pack 1](https://dotnet.microsoft.com/download/dotnet-framework/net35-sp1) + +Downloads of other versions of .NET Framework are no longer provided by Microsoft. + +## See also + +- [Install .NET Framework for developers](guide-for-developers.md) +- [How to: Determine which .NET Framework versions are installed](how-to-determine-which-versions-are-installed.md) +- [Versions and dependencies](versions-and-dependencies.md) diff --git a/docs/framework/install/run-net-framework-1-1-apps.md b/docs/framework/install/run-net-framework-1-1-apps.md deleted file mode 100644 index 88dc3d00e7409..0000000000000 --- a/docs/framework/install/run-net-framework-1-1-apps.md +++ /dev/null @@ -1,22 +0,0 @@ ---- -title: "Run .NET Framework 1.1 apps on Windows 8, 8.1, 10, or Windows 11" -description: "Describes how to accommodate apps that require .NET Framework 1.1, which is no longer supported on many versions of the Windows operating system." -ms.date: 10/06/2021 -helpviewer_keywords: - - "Windows 8, running .NET Framework 1.1 apps" - - ".NET Framework 1.1, running on Windows 8" -ms.assetid: fb14e195-fea5-4561-b9a8-60a67283edb9 ---- - -# Run .NET Framework 1.1 apps on Windows 8, Windows 8.1, Windows 10, or Windows 11 - -.NET Framework 1.1 is not supported on the Windows 8, Windows 8.1, Windows Server 2012, Windows Server 2012 R2, Windows 10, or Windows 11 operating systems. In some cases, .NET Framework 1.1 is required for an app to run. In those cases, refer to the [Install .NET Framework 3.5 on Windows article](./dotnet-35-windows.md). - -## Install .NET Framework 1.1 from a CD or download center - -It isn't possible to manually install .NET Framework 1.1 on Windows 8, Windows 8.1, Windows Server 2012, Windows Server 2012 R2, Windows 10, or Windows 11 from a CD or download center. It's no longer supported. If you try to install the package, the following error message is displayed: "Setup cannot continue because this version of the .NET Framework is incompatible with a previously installed one." To solve this problem, install [.NET Framework 3.5 SP1](https://www.microsoft.com/download/details.aspx?id=22). This version includes .NET Framework 2.0 (the release that follows .NET Framework 1.1), which is supported on Windows 8, Windows 8.1, Windows 10, and Windows 11. You should always try to install the app first to determine if it will automatically be updated to a later version of .NET Framework. If it doesn't, contact your ISV for an app update. - -## See also - -- [Migrating from the .NET Framework 1.1](../migration-guide/migrating-from-the-net-framework-1-1.md) -- [Install the .NET Framework 3.5 on Windows 11, Windows 10, Windows 8.1, and Windows 8](../install/dotnet-35-windows.md) diff --git a/docs/framework/install/snippets/how-to-determine-which-versions-are-installed/csharp/App.config b/docs/framework/install/snippets/how-to-determine-which-versions-are-installed/csharp/App.config new file mode 100644 index 0000000000000..aee9adf485c91 --- /dev/null +++ b/docs/framework/install/snippets/how-to-determine-which-versions-are-installed/csharp/App.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/docs/framework/install/snippets/how-to-determine-which-versions-are-installed/csharp/FrameworkVersions.csproj b/docs/framework/install/snippets/how-to-determine-which-versions-are-installed/csharp/FrameworkVersions.csproj new file mode 100644 index 0000000000000..286414239b6df --- /dev/null +++ b/docs/framework/install/snippets/how-to-determine-which-versions-are-installed/csharp/FrameworkVersions.csproj @@ -0,0 +1,53 @@ + + + + + Debug + AnyCPU + {611CF10C-ED53-4AEB-A157-4FE9A686DA0C} + Exe + FrameworkVersions + FrameworkVersions + v4.8.1 + 512 + true + true + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/framework/install/snippets/how-to-determine-which-versions-are-installed/csharp/Program.cs b/docs/framework/install/snippets/how-to-determine-which-versions-are-installed/csharp/Program.cs new file mode 100644 index 0000000000000..c00fae4f9f8ea --- /dev/null +++ b/docs/framework/install/snippets/how-to-determine-which-versions-are-installed/csharp/Program.cs @@ -0,0 +1,133 @@ +using System; +using Microsoft.Win32; + +namespace FrameworkVersions +{ + internal class Program + { + static void Main(string[] args) + { + GetVersionFromRegistry(); + Get45PlusFromRegistry(); + } + + private static void GetVersionFromRegistry() + { + // + // Open the registry key for the .NET Framework entry. Dispose this object when done. + RegistryKey ndpKey = + RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry32) + .OpenSubKey(@"SOFTWARE\Microsoft\NET Framework Setup\NDP\"); + + foreach (string versionKeyName in ndpKey.GetSubKeyNames()) + { + // Skip .NET Framework 4.5 version information. + if (versionKeyName == "v4") + continue; + + if (versionKeyName.StartsWith("v")) + { + RegistryKey versionKey = ndpKey.OpenSubKey(versionKeyName); + + // Get the .NET Framework version value. + string name = versionKey.GetValue("Version", "").ToString(); + + // Get the service pack (SP) number. + string sp = versionKey.GetValue("SP", "").ToString(); + + // Get the installation flag. + string install = versionKey.GetValue("Install", "").ToString(); + + if (string.IsNullOrEmpty(install)) + { + // No install info; it must be in a child subkey. + Console.WriteLine($"{versionKeyName} {name}"); + } + else if (install == "1") + { + // Install = 1 means the version is installed. + if (!string.IsNullOrEmpty(sp)) + Console.WriteLine($"{versionKeyName} {name} SP{sp}"); + else + Console.WriteLine($"{versionKeyName} {name}"); + } + + if (!string.IsNullOrEmpty(name)) + { + versionKey.Dispose(); + continue; + } + + // Iterate through the subkeys of the version subkey. + foreach (string subKeyName in versionKey.GetSubKeyNames()) + { + RegistryKey subKey = versionKey.OpenSubKey(subKeyName); + name = subKey.GetValue("Version", "").ToString(); + + if (!string.IsNullOrEmpty(name)) + sp = subKey.GetValue("SP", "").ToString(); + + install = subKey.GetValue("Install", "").ToString(); + + if (string.IsNullOrEmpty(install)) + { + // No install info; it must be later. + Console.WriteLine($" {versionKeyName} {name}"); + } + else if (install == "1") + { + if (!string.IsNullOrEmpty(sp)) + Console.WriteLine($" {subKeyName} {name} SP{sp}"); + else + Console.WriteLine($" {subKeyName} {name}"); + } + + // Clean up the subkey object. + subKey.Dispose(); + } + + versionKey.Dispose(); + } + } + + ndpKey.Dispose(); + // + } + + private static void Get45PlusFromRegistry() + { + // + const string subkey = @"SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full\"; + + using (RegistryKey baseKey = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry32)) + using (RegistryKey ndpKey = baseKey.OpenSubKey(subkey)) + { + if (ndpKey != null && ndpKey.GetValue("Release") != null) + Console.WriteLine($".NET Framework Version: {CheckFor45PlusVersion((int)ndpKey.GetValue("Release"))}"); + else + Console.WriteLine(".NET Framework Version 4.5 or later is not detected."); + } + + // Checking the version using >= enables forward compatibility. + string CheckFor45PlusVersion(int releaseKey) + { + if (releaseKey >= 533320) return "4.8.1 or later"; + if (releaseKey >= 528040) return "4.8"; + if (releaseKey >= 461808) return "4.7.2"; + if (releaseKey >= 461308) return "4.7.1"; + if (releaseKey >= 460798) return "4.7"; + if (releaseKey >= 394802) return "4.6.2"; + if (releaseKey >= 394254) return "4.6.1"; + if (releaseKey >= 393295) return "4.6"; + if (releaseKey >= 379893) return "4.5.2"; + if (releaseKey >= 378675) return "4.5.1"; + if (releaseKey >= 378389) return "4.5"; + + // This code should never execute. A non-null release key should mean + // that 4.5 or later is installed. + return "No 4.5 or later version detected"; + } + // + } + } +} diff --git a/docs/framework/install/snippets/how-to-determine-which-versions-are-installed/csharp/Properties/AssemblyInfo.cs b/docs/framework/install/snippets/how-to-determine-which-versions-are-installed/csharp/Properties/AssemblyInfo.cs new file mode 100644 index 0000000000000..6a9b302f8809b --- /dev/null +++ b/docs/framework/install/snippets/how-to-determine-which-versions-are-installed/csharp/Properties/AssemblyInfo.cs @@ -0,0 +1,33 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("FrameworkVersions")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("FrameworkVersions")] +[assembly: AssemblyCopyright("Copyright © 2025")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("611cf10c-ed53-4aeb-a157-4fe9a686da0c")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/docs/framework/install/snippets/how-to-determine-which-versions-are-installed/csharp/snippets.5000.json b/docs/framework/install/snippets/how-to-determine-which-versions-are-installed/csharp/snippets.5000.json new file mode 100644 index 0000000000000..da9ebf8da2f9d --- /dev/null +++ b/docs/framework/install/snippets/how-to-determine-which-versions-are-installed/csharp/snippets.5000.json @@ -0,0 +1,3 @@ +{ + "host": "visualstudio" +} diff --git a/docs/framework/install/snippets/how-to-determine-which-versions-are-installed/vb/App.config b/docs/framework/install/snippets/how-to-determine-which-versions-are-installed/vb/App.config new file mode 100644 index 0000000000000..aee9adf485c91 --- /dev/null +++ b/docs/framework/install/snippets/how-to-determine-which-versions-are-installed/vb/App.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/docs/framework/install/snippets/how-to-determine-which-versions-are-installed/vb/FrameworkVersions.vbproj b/docs/framework/install/snippets/how-to-determine-which-versions-are-installed/vb/FrameworkVersions.vbproj new file mode 100644 index 0000000000000..ee1d8b91545c9 --- /dev/null +++ b/docs/framework/install/snippets/how-to-determine-which-versions-are-installed/vb/FrameworkVersions.vbproj @@ -0,0 +1,110 @@ + + + + + Debug + AnyCPU + {03304585-8FEE-4E35-99F3-2EB16C1EBE20} + Exe + FrameworkVersions.Module1 + FrameworkVersions + FrameworkVersions + 512 + Console + v4.8.1 + true + true + + + AnyCPU + true + full + true + true + bin\Debug\ + FrameworkVersions.xml + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + + + AnyCPU + pdbonly + false + true + true + bin\Release\ + FrameworkVersions.xml + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + + + On + + + Binary + + + Off + + + On + + + + + + + + + + + + + + + + + + + + + + + + + + + True + Application.myapp + + + True + True + Resources.resx + + + True + Settings.settings + True + + + + + VbMyResourcesResXFileCodeGenerator + Resources.Designer.vb + My.Resources + Designer + + + + + MyApplicationCodeGenerator + Application.Designer.vb + + + SettingsSingleFileGenerator + My + Settings.Designer.vb + + + + + \ No newline at end of file diff --git a/docs/framework/install/snippets/how-to-determine-which-versions-are-installed/vb/Module1.vb b/docs/framework/install/snippets/how-to-determine-which-versions-are-installed/vb/Module1.vb new file mode 100644 index 0000000000000..dcf532dc21534 --- /dev/null +++ b/docs/framework/install/snippets/how-to-determine-which-versions-are-installed/vb/Module1.vb @@ -0,0 +1,135 @@ +Imports Microsoft.Win32 + +Module Module1 + + Sub Main() + GetVersionFromRegistry() + Get45PlusFromRegistry() + End Sub + + Private Sub GetVersionFromRegistry() + ' + ' Open the registry key for the .NET Framework entry. Dispose this object when done. + Dim ndpKey As RegistryKey = + RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry32) _ + .OpenSubKey("SOFTWARE\Microsoft\NET Framework Setup\NDP\") + + For Each versionKeyName In ndpKey.GetSubKeyNames() + ' Skip .NET Framework 4.5 and later. + If versionKeyName = "v4" Then Continue For + + If versionKeyName.StartsWith("v") Then + + Dim versionKey As RegistryKey = ndpKey.OpenSubKey(versionKeyName) + + ' Get the .NET Framework version value. + Dim name = versionKey.GetValue("Version", "").ToString() + + ' Get the service pack (SP) number. + Dim sp = versionKey.GetValue("SP", "").ToString() + + Dim install = versionKey.GetValue("Install", "").ToString() + + If String.IsNullOrEmpty(install) Then + + ' No install info; it must be in a child subkey. + Console.WriteLine($"{versionKeyName} {name}") + + ElseIf install = "1" Then + + ' Install = 1 means the version is installed. + If Not String.IsNullOrEmpty(sp) Then + Console.WriteLine($"{versionKeyName} {name} SP{sp}") + Else + Console.WriteLine($"{versionKeyName} {name}") + End If + + End If + + If Not String.IsNullOrEmpty(name) Then + + versionKey.Dispose() + Continue For + + End If + + ' Iterate through the subkeys of the version subkey. + For Each subKeyName In versionKey.GetSubKeyNames() + + Dim subKey As RegistryKey = versionKey.OpenSubKey(subKeyName) + name = subKey.GetValue("Version", "").ToString() + + If Not String.IsNullOrEmpty(name) Then + sp = subKey.GetValue("SP", "").ToString() + End If + + install = subKey.GetValue("Install", "").ToString() + + If String.IsNullOrEmpty(install) Then + + ' No install info; it must be later. + Console.WriteLine($" {versionKeyName} {name}") + + ElseIf install = "1" Then + + If Not String.IsNullOrEmpty(sp) Then + Console.WriteLine($" {subKeyName} {name} SP{sp}") + Else + Console.WriteLine($" {subKeyName} {name}") + End If + + End If + + ' Clean up the subkey object. + subKey.Dispose() + + Next + + versionKey.Dispose() + + End If + Next + + ndpKey.Dispose() + ' + End Sub + + ' + Private Sub Get45PlusFromRegistry() + Const subkey As String = "SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full\" + + Using baseKey As RegistryKey = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry32), + ndpKey As RegistryKey = baseKey.OpenSubKey(subkey) + + If ndpKey IsNot Nothing AndAlso ndpKey.GetValue("Release") IsNot Nothing Then + Console.WriteLine($".NET Framework Version: {CheckFor45PlusVersion(ndpKey.GetValue("Release"))}") + Else + Console.WriteLine(".NET Framework Version 4.5 or later is not detected.") + End If + + End Using + + End Sub + + ' Checking the version using >= enables forward compatibility. + Private Function CheckFor45PlusVersion(releaseKey As Integer) As String + Select Case releaseKey + Case >= 533320 : Return "4.8.1 or later" + Case >= 528040 : Return "4.8" + Case >= 461808 : Return "4.7.2" + Case >= 461308 : Return "4.7.1" + Case >= 460798 : Return "4.7" + Case >= 394802 : Return "4.6.2" + Case >= 394254 : Return "4.6.1" + Case >= 393295 : Return "4.6" + Case >= 379893 : Return "4.5.2" + Case >= 378675 : Return "4.5.1" + Case >= 378389 : Return "4.5" + Case Else + Return "No 4.5 or later version detected" + End Select + End Function + ' + + +End Module diff --git a/docs/framework/install/snippets/how-to-determine-which-versions-are-installed/vb/My Project/Application.Designer.vb b/docs/framework/install/snippets/how-to-determine-which-versions-are-installed/vb/My Project/Application.Designer.vb new file mode 100644 index 0000000000000..88dd01c78a618 --- /dev/null +++ b/docs/framework/install/snippets/how-to-determine-which-versions-are-installed/vb/My Project/Application.Designer.vb @@ -0,0 +1,13 @@ +'------------------------------------------------------------------------------ +' +' This code was generated by a tool. +' Runtime Version:4.0.30319.42000 +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + diff --git a/docs/framework/install/snippets/how-to-determine-which-versions-are-installed/vb/My Project/Application.myapp b/docs/framework/install/snippets/how-to-determine-which-versions-are-installed/vb/My Project/Application.myapp new file mode 100644 index 0000000000000..e62f1a53381ed --- /dev/null +++ b/docs/framework/install/snippets/how-to-determine-which-versions-are-installed/vb/My Project/Application.myapp @@ -0,0 +1,10 @@ + + + false + false + 0 + true + 0 + 2 + true + diff --git a/docs/framework/install/snippets/how-to-determine-which-versions-are-installed/vb/My Project/AssemblyInfo.vb b/docs/framework/install/snippets/how-to-determine-which-versions-are-installed/vb/My Project/AssemblyInfo.vb new file mode 100644 index 0000000000000..0d5647c957dd7 --- /dev/null +++ b/docs/framework/install/snippets/how-to-determine-which-versions-are-installed/vb/My Project/AssemblyInfo.vb @@ -0,0 +1,32 @@ +Imports System +Imports System.Reflection +Imports System.Runtime.InteropServices + +' General Information about an assembly is controlled through the following +' set of attributes. Change these attribute values to modify the information +' associated with an assembly. + +' Review the values of the assembly attributes + + + + + + + + + + +'The following GUID is for the ID of the typelib if this project is exposed to COM + + +' Version information for an assembly consists of the following four values: +' +' Major Version +' Minor Version +' Build Number +' Revision +' + + + diff --git a/docs/framework/install/snippets/how-to-determine-which-versions-are-installed/vb/My Project/Resources.Designer.vb b/docs/framework/install/snippets/how-to-determine-which-versions-are-installed/vb/My Project/Resources.Designer.vb new file mode 100644 index 0000000000000..38fc4dfb7eefc --- /dev/null +++ b/docs/framework/install/snippets/how-to-determine-which-versions-are-installed/vb/My Project/Resources.Designer.vb @@ -0,0 +1,62 @@ +'------------------------------------------------------------------------------ +' +' This code was generated by a tool. +' Runtime Version:4.0.30319.42000 +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + + +Namespace My.Resources + + 'This class was auto-generated by the StronglyTypedResourceBuilder + 'class via a tool like ResGen or Visual Studio. + 'To add or remove a member, edit your .ResX file then rerun ResGen + 'with the /str option, or rebuild your VS project. + ''' + ''' A strongly-typed resource class, for looking up localized strings, etc. + ''' + _ + Friend Module Resources + + Private resourceMan As Global.System.Resources.ResourceManager + + Private resourceCulture As Global.System.Globalization.CultureInfo + + ''' + ''' Returns the cached ResourceManager instance used by this class. + ''' + _ + Friend ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager + Get + If Object.ReferenceEquals(resourceMan, Nothing) Then + Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("FrameworkVersions.Resources", GetType(Resources).Assembly) + resourceMan = temp + End If + Return resourceMan + End Get + End Property + + ''' + ''' Overrides the current thread's CurrentUICulture property for all + ''' resource lookups using this strongly typed resource class. + ''' + _ + Friend Property Culture() As Global.System.Globalization.CultureInfo + Get + Return resourceCulture + End Get + Set(ByVal value As Global.System.Globalization.CultureInfo) + resourceCulture = value + End Set + End Property + End Module +End Namespace diff --git a/docs/framework/install/snippets/how-to-determine-which-versions-are-installed/vb/My Project/Resources.resx b/docs/framework/install/snippets/how-to-determine-which-versions-are-installed/vb/My Project/Resources.resx new file mode 100644 index 0000000000000..af7dbebbacef5 --- /dev/null +++ b/docs/framework/install/snippets/how-to-determine-which-versions-are-installed/vb/My Project/Resources.resx @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/docs/framework/install/snippets/how-to-determine-which-versions-are-installed/vb/My Project/Settings.Designer.vb b/docs/framework/install/snippets/how-to-determine-which-versions-are-installed/vb/My Project/Settings.Designer.vb new file mode 100644 index 0000000000000..58c78a0d4a772 --- /dev/null +++ b/docs/framework/install/snippets/how-to-determine-which-versions-are-installed/vb/My Project/Settings.Designer.vb @@ -0,0 +1,73 @@ +'------------------------------------------------------------------------------ +' +' This code was generated by a tool. +' Runtime Version:4.0.30319.42000 +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + + +Namespace My + + _ + Partial Friend NotInheritable Class MySettings + Inherits Global.System.Configuration.ApplicationSettingsBase + + Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings), MySettings) + +#Region "My.Settings Auto-Save Functionality" +#If _MyType = "WindowsForms" Then + Private Shared addedHandler As Boolean + + Private Shared addedHandlerLockObject As New Object + + _ + Private Shared Sub AutoSaveSettings(ByVal sender As Global.System.Object, ByVal e As Global.System.EventArgs) + If My.Application.SaveMySettingsOnExit Then + My.Settings.Save() + End If + End Sub +#End If +#End Region + + Public Shared ReadOnly Property [Default]() As MySettings + Get + +#If _MyType = "WindowsForms" Then + If Not addedHandler Then + SyncLock addedHandlerLockObject + If Not addedHandler Then + AddHandler My.Application.Shutdown, AddressOf AutoSaveSettings + addedHandler = True + End If + End SyncLock + End If +#End If + Return defaultInstance + End Get + End Property + End Class +End Namespace + +Namespace My + + _ + Friend Module MySettingsProperty + + _ + Friend ReadOnly Property Settings() As Global.FrameworkVersions.My.MySettings + Get + Return Global.FrameworkVersions.My.MySettings.Default + End Get + End Property + End Module +End Namespace diff --git a/docs/framework/install/snippets/how-to-determine-which-versions-are-installed/vb/My Project/Settings.settings b/docs/framework/install/snippets/how-to-determine-which-versions-are-installed/vb/My Project/Settings.settings new file mode 100644 index 0000000000000..85b890b3c66b9 --- /dev/null +++ b/docs/framework/install/snippets/how-to-determine-which-versions-are-installed/vb/My Project/Settings.settings @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/framework/install/snippets/how-to-determine-which-versions-are-installed/vb/snippets.5000.json b/docs/framework/install/snippets/how-to-determine-which-versions-are-installed/vb/snippets.5000.json new file mode 100644 index 0000000000000..da9ebf8da2f9d --- /dev/null +++ b/docs/framework/install/snippets/how-to-determine-which-versions-are-installed/vb/snippets.5000.json @@ -0,0 +1,3 @@ +{ + "host": "visualstudio" +} diff --git a/docs/framework/install/troubleshoot-blocked-installations-and-uninstallations.md b/docs/framework/install/troubleshoot-blocked-installations-and-uninstallations.md index 4e568f7649912..df6dc5d627716 100644 --- a/docs/framework/install/troubleshoot-blocked-installations-and-uninstallations.md +++ b/docs/framework/install/troubleshoot-blocked-installations-and-uninstallations.md @@ -17,14 +17,14 @@ In Windows 8 and above, the .NET Framework is an operating system component and > [!IMPORTANT] > Because the 4.x versions of the .NET Framework are in-place updates, you cannot install an earlier version of the .NET Framework 4.x on a system that already has a later version installed. For example, on a system with Windows 10 Fall Creators Update, you cannot install the .NET Framework 4.6.2, since the .NET Framework 4.7.1 is preinstalled with the operating system. -You can determine which versions of the .NET Framework are installed on a system. See [How to: Determine Which .NET Framework Versions Are Installed](../migration-guide/how-to-determine-which-versions-are-installed.md) for more information. +You can determine which versions of the .NET Framework are installed on a system. See [How to: Determine Which .NET Framework Versions Are Installed](../install/how-to-determine-which-versions-are-installed.md) for more information. In this table, 4.5.x refers to the .NET Framework 4.5 and its point releases, 4.5.1, and 4.5.2, 4.6.x refers to the .NET Framework 4.6 and its point releases, 4.6.1 and 4.6.2, 4.7.x refers to the .NET Framework 4.7 and its point releases, 4.7.1 and 4.7.2, and 4.8.x refers to .NET Framework 4.8 and 4.8.1. |Blocking message|For more information or to resolve the issue| |----------------------|--------------------------------------------------| |Uninstalling the Microsoft .NET Framework may cause some applications to cease to function.|In general, you should not uninstall any versions of the .NET Framework that are installed on your computer, because an application you use may depend on a specific version of the .NET Framework. For more information, see [The .NET Framework for users](../get-started/index.md#ForUsers) in the *Getting Started* guide.| -|.NET Framework 4.5.x/4.6.x/4.7.x (ENU) or a later version is already installed on this computer.|No action necessary.

    To determine which versions of the .NET Framework are installed on a system, see [How to: Determine Which .NET Framework Versions Are Installed](../migration-guide/how-to-determine-which-versions-are-installed.md).| +|.NET Framework 4.5.x/4.6.x/4.7.x (ENU) or a later version is already installed on this computer.|No action necessary.

    To determine which versions of the .NET Framework are installed on a system, see [How to: Determine Which .NET Framework Versions Are Installed](../install/how-to-determine-which-versions-are-installed.md).| |The .NET Framework 4.5.x/4.6.x/4.7.x/4.8.x (*language*) requires the .NET Framework 4.5.x/4.6.x/4.7.x/4.8.x. Please install the .NET Framework 4.5.x/4.6.x/4.7.x/4.8.x from the Download Center and rerun Setup.|You must install the English version of the specified .NET Framework release before installing a language pack. For more information, see the section on [To install language packs](guide-for-developers.md#to-install-language-packs) in the installation guide.| |Cannot install the .NET Framework 4.5.x/4.6.x/4.7.x/4.8.x. Other applications on your computer are not compatible with this program.

    -or-

    Other applications on your computer are not compatible with this program.|The most likely cause of this message is that a preview or RC version of the .NET Framework was installed. Uninstall the preview or RC version and rerun Setup.| |.NET Framework 4.5.x/4.6.x/4.7.x/4.8.x cannot be uninstalled using this package. To uninstall .NET Framework 4.5.x/4.6.x/4.7.x/4.8.x from your computer, go to **Control Panel**, choose **Programs and Features**, choose **View installed updates**, select Update for Microsoft Windows (KB2828152) and then choose **Uninstall**.|The package you are installing doesn't uninstall preview or RC releases of the .NET Framework.

    Uninstall the preview or RC release from Control Panel.| @@ -40,7 +40,7 @@ In this table, 4.5.x refers to the .NET Framework 4.5 and its point releases, 4. |Setup may not run properly because the Windows Update Service is not available on this computer.|The computer may be configured to use Windows Server Update Services (WSUS) instead of Microsoft Windows Update. For more information, see the section for error code 0x800F0906 in [.NET Framework 3.5 installation error: 0x800F0906, 0x800F081F, 0x800F0907](https://support.microsoft.com/help/2734782/net-framework-3-5-installation-error-0x800f0906-0x800f081f-0x800f0907).

    Also see [How to update the Windows Update Agent to the latest version](https://support.microsoft.com/help/949104/how-to-update-the-windows-update-agent-to-the-latest-version) on the Microsoft Support website.| |Setup may not run properly because the Background Intelligent Transfer Service (BITS) is not available on this computer.|See [An update is available to fix a Background Intelligent Transfer Service (BITS) crash on a Windows Vista-based computer](https://support.microsoft.com/help/940520/an-update-is-available-to-fix-a-background-intelligent-transfer-servic) on the Microsoft Support website.| |Setup may not run properly because Windows update encountered an error and displayed error code 0x80070643 or 0x643.|See [.NET Framework update installation error: "0x80070643" or "0x643"](https://support.microsoft.com/kb/976982) on the Microsoft Support website.| -|The .NET Framework 4.5.x/4.6.x/4.7.x/4.8.x is already a part of this operating system. You do not need to install the .NET Framework 4.5.x/4.6.x/4.7.x/4.8.x redistributable.|No action.

    To determine which versions of the .NET Framework are installed on a system, see [How to: Determine Which .NET Framework Versions Are Installed](../migration-guide/how-to-determine-which-versions-are-installed.md). See [System Requirements](../get-started/system-requirements.md) for supported operating systems.| +|The .NET Framework 4.5.x/4.6.x/4.7.x/4.8.x is already a part of this operating system. You do not need to install the .NET Framework 4.5.x/4.6.x/4.7.x/4.8.x redistributable.|No action.

    To determine which versions of the .NET Framework are installed on a system, see [How to: Determine Which .NET Framework Versions Are Installed](../install/how-to-determine-which-versions-are-installed.md). See [System Requirements](../get-started/system-requirements.md) for supported operating systems.| |The .NET Framework 4.5.x/4.6.x/4.7.x/4.8.x is not supported on this operating system.|See [System Requirements](../get-started/system-requirements.md) for supported operating systems.

    For failed installations of the .NET Framework on Windows 7, this message typically indicates that Windows 7 SP1 is not installed. On Windows 7 systems, the .NET Framework requires Windows 7 SP1. If you are on Windows 7 and have not yet installed Service Pack 1, you will need to do so before installing the .NET Framework. For information on installing Windows 7 SP1, see [Learn how to install Windows 7 Service Pack 1 (SP1)](https://windows.microsoft.com/windows7/install-windows-7-service-pack-1).| |Your computer is currently running a Server Core installation of Windows Server 2008 operating system. The .NET Framework 4.5.x requires a full release of the operating system or Server Core 2008 R2 SP1. Please install the full version of Windows Server 2008 SP2 or Windows Server 2008 R2 SP1 or Server Core 2008 R2 SP1 and rerun .NET Framework 4.5.x Setup.|The .NET Framework is supported in the Server Core role with Windows Server 2008 R2 SP1 or later. See [System Requirements](../get-started/system-requirements.md).| |The .NET Framework 4.5.x is already a part of this operating system but is currently turned off (Windows Server 2012 only).| Use **Turn Windows features on or off** in the **Control Panel** to turn on .NET Framework 4.5.x. | @@ -72,5 +72,5 @@ The .NET Framework installer cannot run in Program Compatibility mode. To resolv ## See also - [Install the .NET Framework for developers](guide-for-developers.md) -- [How to: Determine Which .NET Framework Versions Are Installed](../migration-guide/how-to-determine-which-versions-are-installed.md) -- [Versions and Dependencies](../migration-guide/versions-and-dependencies.md) +- [How to: Determine Which .NET Framework Versions Are Installed](../install/how-to-determine-which-versions-are-installed.md) +- [Versions and Dependencies](../install/versions-and-dependencies.md) diff --git a/docs/framework/migration-guide/versions-and-dependencies.md b/docs/framework/install/versions-and-dependencies.md similarity index 95% rename from docs/framework/migration-guide/versions-and-dependencies.md rename to docs/framework/install/versions-and-dependencies.md index 8ba432fcdfddf..4d8c01a2b7b3b 100644 --- a/docs/framework/migration-guide/versions-and-dependencies.md +++ b/docs/framework/install/versions-and-dependencies.md @@ -18,7 +18,7 @@ The CLR is identified by its own version number. The .NET Framework version numb > [!TIP] > > - For a complete list of supported operating systems, see [System requirements](../get-started/system-requirements.md). -> - For downloads, see [Install .NET Framework for developers](../install/guide-for-developers.md). +> - For downloads, see [Install .NET Framework for developers](guide-for-developers.md). > - For information about determining which versions of .NET Framework are installed on a computer, see [How to determine which .NET Framework versions are installed](how-to-determine-which-versions-are-installed.md). ## Version information @@ -27,7 +27,7 @@ The tables that follow summarize .NET Framework version history and correlate ea - The check mark icon ✔️ denotes OS versions on which .NET Framework is installed by default. - The plus sign icon ➕ denotes OS versions on which .NET Framework doesn't come installed but can be installed. -- The asterisk **\*** denotes OS versions on which .NET Framework (whether preinstalled or not) must be enabled [in Control Panel](../install/dotnet-35-windows.md) or, for Windows Server, through the Server Manager. +- The asterisk **\*** denotes OS versions on which .NET Framework (whether preinstalled or not) must be enabled [in Control Panel](dotnet-35-windows.md#enable-net-framework-35-on-windows) or, for Windows Server, through the [Server Manager](dotnet-35-windows.md#enable-net-framework-35-on-windows-server). Jump to: @@ -361,7 +361,7 @@ To determine the installed .NET version, use `Release` DWORD 378389. For more in > [!NOTE] > -> - .NET Framework must be enabled on this operating system through [Control Panel (for Windows) or the Server Manager (for Windows Server)](../install/dotnet-35-windows.md#enable-net-framework-35-in-control-panel). +> - .NET Framework must be enabled on this operating system through [Control Panel (for Windows)](dotnet-35-windows.md#enable-net-framework-35-on-windows) or the [Server Manager (for Windows Server)](dotnet-35-windows.md#enable-net-framework-35-on-windows-server). > - In general, you should not uninstall any versions of .NET Framework that are installed on your computer, because an application you use may depend on a specific version and may break if that version is removed. You can load multiple versions of .NET Framework on a single computer at the same time. This means that you can install .NET Framework without having to uninstall previous versions. For more information, see [Getting Started](../get-started/index.md). ## Remarks for version 4.5 and later @@ -377,13 +377,13 @@ The following guidelines apply: > [!NOTE] > .NET Framework 4.5.1 and .NET Framework 4.5 are used here only as examples. The principle described applies to any app that targets a later version of .NET Framework than the one installed on the system on which it's running. -Some changes in .NET Framework may require changes to your app code; see [Application Compatibility](application-compatibility.md) before you run your existing apps with .NET Framework 4.5 or later versions. For more information about installing the current version, see [Install the .NET Framework for developers](../install/guide-for-developers.md). For information about support for the .NET Framework, see [.NET Framework official support policy](https://dotnet.microsoft.com/platform/support/policy/dotnet-framework) on the .NET website. +Some changes in .NET Framework may require changes to your app code; see [Application Compatibility](../migration-guide/application-compatibility.md) before you run your existing apps with .NET Framework 4.5 or later versions. For more information about installing the current version, see [Install the .NET Framework for developers](guide-for-developers.md). For information about support for the .NET Framework, see [.NET Framework official support policy](https://dotnet.microsoft.com/platform/support/policy/dotnet-framework) on the .NET website. ## Remarks for older versions .NET Framework versions 2.0, 3.0, and 3.5 are built with the same version of the CLR (CLR 2.0). These versions represent successive layers of a single installation. Each version is built incrementally on top of the earlier versions. It's not possible to run versions 2.0, 3.0, and 3.5 side by side on a computer. When you install version 3.5, you get the 2.0 and 3.0 layers automatically, and apps that were built for versions 2.0, 3.0, and 3.5 can all run on version 3.5. However, .NET Framework 4 ends this layering approach, and it and later releases (.NET Framework 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, and 4.8) also represent successive layers of a single installation. Starting with .NET Framework 4, you can use in-process, side by side hosting to run multiple versions of the CLR in a single process. For more information, see [Assemblies and Side-by-Side Execution](../../standard/assembly/side-by-side-execution.md). -In addition, if your app targets version 2.0, 3.0, or 3.5, your users may be required to enable .NET Framework 3.5 on a Windows 8, Windows 8.1, or Windows 10 computer before they can run your app. For more information, see [Install the .NET Framework 3.5 on Windows 11, Windows 10, Windows 8.1, and Windows 8](../install/dotnet-35-windows.md). +In addition, if your app targets version 2.0, 3.0, or 3.5, your users may be required to enable .NET Framework 3.5 on a Windows 8, Windows 8.1, or Windows 10 computer before they can run your app. For more information, see [Install the .NET Framework 3.5 on Windows 11, Windows 10, Windows 8.1, and Windows 8](dotnet-35-windows.md). [!INCLUDE [net-framework-vs](../../../includes/net-framework-vs.md)] @@ -399,6 +399,6 @@ In addition, if your app targets version 2.0, 3.0, or 3.5, your users may be req ## See also -- [Version compatibility](version-compatibility.md) +- [Version compatibility](../migration-guide/version-compatibility.md) - [.NET Framework official support policy](https://dotnet.microsoft.com/platform/support/policy/dotnet-framework) -- [Troubleshoot blocked .NET Framework installations and uninstallations](../install/troubleshoot-blocked-installations-and-uninstallations.md) +- [Troubleshoot blocked .NET Framework installations and uninstallations](troubleshoot-blocked-installations-and-uninstallations.md) diff --git a/docs/framework/migration-guide/application-compatibility.md b/docs/framework/migration-guide/application-compatibility.md index 5eefc02d2d361..5b6c27c9a0030 100644 --- a/docs/framework/migration-guide/application-compatibility.md +++ b/docs/framework/migration-guide/application-compatibility.md @@ -51,6 +51,6 @@ A change that has no noticeable effect on the app's developer or user. The app s ## See also -- [Versions and dependencies](versions-and-dependencies.md) +- [Versions and dependencies](../install/versions-and-dependencies.md) - [What's new](../whats-new/index.md) - [What's obsolete](../whats-new/whats-obsolete.md) diff --git a/docs/framework/migration-guide/how-to-configure-an-app-to-support-net-framework-4-or-4-5.md b/docs/framework/migration-guide/how-to-configure-an-app-to-support-net-framework-4-or-4-5.md index 87bcb7a1ea961..037242031bc5d 100644 --- a/docs/framework/migration-guide/how-to-configure-an-app-to-support-net-framework-4-or-4-5.md +++ b/docs/framework/migration-guide/how-to-configure-an-app-to-support-net-framework-4-or-4-5.md @@ -6,6 +6,7 @@ helpviewer_keywords: - "configuring apps to support .NET Framework" - ".NET Framework, configuring apps" ms.assetid: 63c6b9a8-0088-4077-9aa3-521ab7290f79 +no-loc: [".config", "MyExecutable.exe", "MyExecutable.exe.config"] --- # How to: Configure an App to Support .NET Framework 4 or later versions @@ -25,7 +26,7 @@ All apps that host the common language runtime (CLR) need to start, or *activate If the version of the .NET Framework that the app was built on is not present and a configuration file does not specify a version in a [\ element](../configure-apps/file-schema/startup/supportedruntime-element.md), the app tries to run on the latest version of the .NET Framework that is present on the user's computer. - However, .NET Framework 1.0, 1.1, 2.0, 3.0, and 3.5 apps do not automatically run on the .NET Framework 4 or later, and in some cases, the user may receive an error and may be prompted to install .NET Framework 3.5. The activation behavior may also depend on the user’s operating system, because different versions of Windows system include different versions of the .NET Framework. If your app supports both the .NET Framework 3.5 and 4 or later, we recommend that you indicate this with multiple entries in the configuration file to avoid .NET Framework initialization errors. For more information, see [Versions and Dependencies](versions-and-dependencies.md). + However, .NET Framework 1.0, 1.1, 2.0, 3.0, and 3.5 apps do not automatically run on the .NET Framework 4 or later, and in some cases, the user may receive an error and may be prompted to install .NET Framework 3.5. The activation behavior may also depend on the user’s operating system, because different versions of Windows system include different versions of the .NET Framework. If your app supports both the .NET Framework 3.5 and 4 or later, we recommend that you indicate this with multiple entries in the configuration file to avoid .NET Framework initialization errors. For more information, see [Versions and Dependencies](../install/versions-and-dependencies.md). You might also want to configure your .NET Framework 3.5 apps to run on the .NET Framework 4 or later versions, even on computers that have the .NET Framework 3.5 installed, to take advantage of the performance improvements in versions 4 and later versions. @@ -34,35 +35,34 @@ All apps that host the common language runtime (CLR) need to start, or *activate For information about modifying your .NET Framework 1.0 and 1.1 apps to support Windows 7 and Windows 8, see [Migrating from the .NET Framework 1.1](migrating-from-the-net-framework-1-1.md). -## To configure your app to run on the .NET Framework 4 or later versions +## Run your app on .NET Framework 4.x -1. Add or locate the configuration file for the .NET Framework project. The configuration file for an app is in the same directory and has the same name as the app, but has a .config extension. For example, for an app named MyExecutable.exe, the application configuration file is named MyExecutable.exe.config. +1. Add or locate the configuration file for the .NET Framework project. - To add a configuration file, on the Visual Studio menu bar, choose **Project**, **Add New Item**. Choose **General** from the left pane, and then choose **Configuration File**. Name the configuration file *App.config*. These menu choices are not available for Windows Store app or Windows phone app projects, because you cannot change the activation policy on those platforms. + The configuration file for an app is an XML file that's in the same directory and has the same file name as the app, but with a _.config_ extension. For example, for an app named _MyExecutable.exe_, the application configuration file is named _MyExecutable.exe.config_. -2. Add the [\](../configure-apps/file-schema/startup/supportedruntime-element.md) element as follows to the application configuration file: + To add a configuration file in Visual Studio, find the menu bar and select **Project** > **Add New Item**. Choose **General** from the left pane, and then select **Configuration File**. Name the configuration file *App.config*. These menu choices aren't available for Windows Store apps because you cannot change the activation policy on that platform. - ```xml - - - - - - ``` +1. Add the [\](../configure-apps/file-schema/startup/supportedruntime-element.md) element as follows to the application configuration file: - where *\* specifies the CLR version that aligns with the .NET Framework version that your app supports. Use the following strings: + ```xml + + + + + + ``` - - .NET Framework 1.0: "v1.0.3705" + *\* specifies the CLR version that aligns with the .NET Framework version that your app supports. Use the following strings: - - .NET Framework 1.1: "v1.1.4322" + - .NET Framework 1.0: "v1.0.3705" + - .NET Framework 1.1: "v1.1.4322" + - .NET Framework 2.0, 3.0, and 3.5: "v2.0.50727" + - .NET Framework 4 and later versions: "v4.0" - - .NET Framework 2.0, 3.0, and 3.5: "v2.0.50727" + You can add multiple [\](../configure-apps/file-schema/startup/supportedruntime-element.md) elements, listed in order of preference, to specify support for multiple versions of the .NET Framework. - - .NET Framework 4 and later versions: "v4.0" - - You can add multiple [\](../configure-apps/file-schema/startup/supportedruntime-element.md) elements, listed in order of preference, to specify support for multiple versions of the .NET Framework. - - The following table demonstrates how application configuration file settings and the .NET Framework versions installed on a computer determine the version that a .NET Framework 3.5 app runs on. The examples are specific to a .NET Framework 3.5 application, but you can use similar logic to target applications built with earlier .NET Framework versions. Note that the .NET Framework 2.0 version number (v2.0.50727) is used to specify the .NET Framework 3.5 in the application configuration file. +The following table demonstrates how application configuration file settings and the .NET Framework versions installed on a computer determine the version that a .NET Framework 3.5 app runs on. The examples are specific to a .NET Framework 3.5 application, but you can use similar logic to target applications built with earlier .NET Framework versions. Note that the .NET Framework 2.0 version number (v2.0.50727) is used to specify the .NET Framework 3.5 in the application configuration file. |App.config file setting|On computer with version 3.5 installed|On computer with versions 3.5 and 4 or later versions installed|On computer with version 4 or later versions installed| |-|-|-|-| diff --git a/docs/framework/migration-guide/index.md b/docs/framework/migration-guide/index.md index b02d180a2478f..93ac2e38f4bb2 100644 --- a/docs/framework/migration-guide/index.md +++ b/docs/framework/migration-guide/index.md @@ -17,7 +17,7 @@ However, some changes in .NET Framework require changes to your code. You may al Review the following documents before you migrate your app from earlier versions of .NET Framework to version 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, or 4.8.1: -- See [Versions and Dependencies](versions-and-dependencies.md) to understand the CLR version underlying each version of the .NET Framework and to review guidelines for targeting your apps successfully. +- See [Versions and Dependencies](../install/versions-and-dependencies.md) to understand the CLR version underlying each version of .NET Framework and to review guidelines for targeting your apps successfully. - Review [Application compatibility](application-compatibility.md) to find out about runtime and retargeting changes that might affect your app and how to handle them. @@ -30,7 +30,7 @@ Review the following documents before you migrate your app from earlier versions - [Application compatibility](application-compatibility.md) - [Migrating from the .NET Framework 1.1](migrating-from-the-net-framework-1-1.md) - [Version Compatibility](version-compatibility.md) -- [Versions and Dependencies](versions-and-dependencies.md) +- [Versions and Dependencies](../install/versions-and-dependencies.md) - [How to: Configure an app to support .NET Framework 4 or later versions](how-to-configure-an-app-to-support-net-framework-4-or-4-5.md) - [What's New](../whats-new/index.md) - [What's Obsolete in the Class Library](../whats-new/whats-obsolete.md) diff --git a/docs/framework/migration-guide/migrating-from-the-net-framework-1-1.md b/docs/framework/migration-guide/migrating-from-the-net-framework-1-1.md index d6eb4276327ce..8e28e14e06106 100644 --- a/docs/framework/migration-guide/migrating-from-the-net-framework-1-1.md +++ b/docs/framework/migration-guide/migrating-from-the-net-framework-1-1.md @@ -1,43 +1,50 @@ --- -title: "Migrating from the .NET Framework 1.1" +title: "Migrate from .NET Framework 1.1, 2.0, and 3.5" description: Learn about the steps required to run an application compiled using .NET Framework 1.1 on Windows 7 or later. -ms.date: "03/30/2017" +ms.date: 02/14/2025 helpviewer_keywords: - ".NET Framework 4.5, migrating from 1.1" - ".NET Framework 1.1, migrating to .NET Framework 4.5" ms.assetid: 7ead0cb3-3b19-414a-8417-a1c1fa198d9e +no-loc: [".config", "MyExecutable.exe", "MyExecutable.exe.config"] --- -# Migrate from the .NET Framework 1.1 +# Migrate from .NET Framework 1.1, 2.0, and 3.5 to .NET Framework 4 -Windows 7 and later versions of the Windows operating system do not support .NET Framework 1.1. As a result, applications that target the .NET Framework 1.1 will not run without modification on Windows 7 or later operating system versions. This topic discusses the steps required to run an application that targets the .NET Framework 1.1 under Windows 7 and later versions of the Windows operating system. For more information about the .NET Framework 1.1 and Windows 8, see [Run .NET Framework 1.1 Apps on Windows 8 and later versions](../install/run-net-framework-1-1-apps.md). +Windows no longer supports .NET Framework 1.1 and 2.0. As a result, applications that target older .NET Framework versions won't run without explicitly installing .NET Framework 3.5. However, it's recommended that you upgrade the app to .NET Framework 4. This article discusses the steps required to run an application that targets an old version .NET Framework. ## Retarget or recompile -There are two ways to get an application that was compiled using the .NET Framework 1.1 to run on Windows 7 or a later Windows operating system: +There are two ways to get an application that was compiled using .NET Framework 1.1 to run on Windows 7 or a later Windows operating system: -- Retarget the application to run under .NET Framework 4 and later versions. Retargeting requires that you add a [\](../configure-apps/file-schema/startup/supportedruntime-element.md) element to the application's configuration file that allows it to run under .NET Framework 4 and later versions. Such a configuration file takes the following form: +- Retarget the application to run under .NET Framework 4 and later versions. - ```xml - - - - - - ``` + Retargeting requires that you add a [\](../configure-apps/file-schema/startup/supportedruntime-element.md) element to the application's configuration file that allows it to run under .NET Framework 4 and later versions. -- Recompile the application with a compiler that targets the .NET Framework 4 or a later version. If you originally used Visual Studio 2003 to develop and compile your solution, you can open the solution in Visual Studio 2010 (and possibly later versions too) and use the **Project Compatibility** dialog box to convert the solution and project files from the formats used by Visual Studio 2003 to the Microsoft Build Engine (MSBuild) format. + The configuration file for an app is an XML file that's in the same directory and has the same file name as the app, but with a _.config_ extension. For example, for an app named _MyExecutable.exe_, the application configuration file is named _MyExecutable.exe.config_. -Regardless of whether you prefer to recompile or retarget your application, you must determine whether your application is affected by any changes introduced in later versions of the .NET Framework. These changes are of two kinds: + Such a configuration file takes the following form: -- Breaking changes that occurred between the .NET Framework 1.1 and later versions of the .NET Framework. + ```xml + + + + + + ``` -- Types and type members that have been marked as deprecated or obsolete between the .NET Framework 1.1 and later versions of the .NET Framework. +- Recompile the application with a compiler that targets .NET Framework 4 or a later version. If you originally used Visual Studio 2003 to develop and compile your solution, you can open the solution in Visual Studio 2010 (and possibly later versions too) and use the **Project Compatibility** dialog box to convert the solution and project files from the formats used by Visual Studio 2003 to the Microsoft Build Engine (MSBuild) format. -Whether you retarget your application or recompile it, you should review both the breaking changes and the obsolete types and members for each version of the .NET Framework that was released after .NET Framework 1.1. + Regardless of whether you prefer to recompile or retarget your application, you must determine whether your application is affected by any changes introduced in later versions of .NET Framework. These changes are of two kinds: + +- Breaking changes that occurred between .NET Framework 1.1 and later versions of .NET Framework. + +- Types and type members that have been marked as deprecated or obsolete between .NET Framework 1.1 and later versions of .NET Framework. + +Whether you retarget your application or recompile it, you should review both the breaking changes and the obsolete types and members for each version of .NET Framework that was released after .NET Framework 1.1. ## Breaking changes -When a breaking change occurs, depending on the specific change, a workaround may be available both for retargeted and recompiled applications. In some cases, you can add a child element to the [\](../configure-apps/file-schema/startup/supportedruntime-element.md) element of your application's configuration file to restore the previous behavior. For example, the following configuration file restores the string sorting and comparison behavior used in the .NET Framework 1.1 and can be used either with a retargeted or a recompiled application. +When a breaking change occurs, depending on the specific change, a workaround may be available both for retargeted and recompiled applications. In some cases, you can add a child element to the [\](../configure-apps/file-schema/startup/supportedruntime-element.md) element of your application's configuration file to restore the previous behavior. For example, the following configuration file restores the string sorting and comparison behavior used in .NET Framework 1.1 and can be used either with a retargeted or a recompiled application. ```xml @@ -53,12 +60,12 @@ To assess the impact of possible breaking changes on your application, you must - [Breaking Changes in .NET Framework 2.0](/previous-versions/aa570326(v=msdn.10)) documents changes in .NET Framework 2.0 SP1 that can affect an application that targets .NET Framework 1.1. -- [Changes in .NET Framework 3.5 SP1](/previous-versions/dotnet/articles/dd310284(v=msdn.10)) documents changes between the .NET Framework 3.5 and the .NET Framework 3.5 SP1. +- [Changes in .NET Framework 3.5 SP1](/previous-versions/dotnet/articles/dd310284(v=msdn.10)) documents changes between .NET Framework 3.5 and .NET Framework 3.5 SP1. -- [.NET Framework 4 Migration Issues](net-framework-4-migration-issues.md) documents changes between the .NET Framework 3.5 SP1 and the .NET Framework 4. +- [.NET Framework 4 Migration Issues](net-framework-4-migration-issues.md) documents changes between .NET Framework 3.5 SP1 and .NET Framework 4. ## Obsolete types and members The impact of deprecated types and members is somewhat different for retargeted applications and recompiled applications. The use of obsolete types and members will not affect a retargeted application unless the obsolete type or member has been physically removed from its assembly. Recompiling an application that uses obsolete types or members usually produces a compiler warning rather than a compiler error. However, in some cases, it produces a compiler error, and code that uses the obsolete type or member does not compile successfully. In this case, you must rewrite the source code that calls the obsolete type or member before you recompile your application. For more information about obsolete types and members, see [What's Obsolete in the Class Library](../whats-new/whats-obsolete.md). -To assess the impact of types and members that have been deprecated since the release of the .NET Framework 2.0 SP1, see [What's Obsolete in the Class Library](../whats-new/whats-obsolete.md). Review the lists of obsolete types and member for the .NET Framework 2.0 SP1, .NET Framework 3.5, and the .NET Framework 4. +To assess the impact of types and members that have been deprecated since the release of .NET Framework 2.0 SP1, see [What's Obsolete in the Class Library](../whats-new/whats-obsolete.md). Review the lists of obsolete types and member for .NET Framework 2.0 SP1, .NET Framework 3.5, and .NET Framework 4. diff --git a/docs/framework/migration-guide/mitigation-product-versioning.md b/docs/framework/migration-guide/mitigation-product-versioning.md index 79dc449f87372..14111daa1b9d5 100644 --- a/docs/framework/migration-guide/mitigation-product-versioning.md +++ b/docs/framework/migration-guide/mitigation-product-versioning.md @@ -24,7 +24,7 @@ The following are the detailed changes: In general, applications should depend on the recommended techniques for detecting such things as the runtime version of the .NET Framework and the installation directory: -- To detect the runtime version of the .NET Framework, see [How to: Determine Which .NET Framework Versions Are Installed](how-to-determine-which-versions-are-installed.md). +- To detect the runtime version of the .NET Framework, see [How to: Determine Which .NET Framework Versions Are Installed](../install/how-to-determine-which-versions-are-installed.md). - To determine the installation path for the .NET Framework, use the value of the `InstallPath` entry in the `HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full` key. diff --git a/docs/framework/migration-guide/snippets/csharp/FrameworkVersions.csproj b/docs/framework/migration-guide/snippets/csharp/FrameworkVersions.csproj deleted file mode 100644 index f2217a78a7de8..0000000000000 --- a/docs/framework/migration-guide/snippets/csharp/FrameworkVersions.csproj +++ /dev/null @@ -1,12 +0,0 @@ - - - - Exe - net7.0-windows - - - - - - - diff --git a/docs/framework/migration-guide/snippets/csharp/versions-installed.cs b/docs/framework/migration-guide/snippets/csharp/versions-installed.cs deleted file mode 100644 index b951f15025c62..0000000000000 --- a/docs/framework/migration-guide/snippets/csharp/versions-installed.cs +++ /dev/null @@ -1,145 +0,0 @@ -using Microsoft.Win32; -using System; - -public static class VersionTest -{ - public static void Main() - { - GetVersionFromRegistry(); - //Get45PlusFromRegistry(); - } - - private static void GetVersionFromRegistry() - { - // - // Open the registry key for the .NET Framework entry. - using (RegistryKey ndpKey = - RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry32). - OpenSubKey(@"SOFTWARE\Microsoft\NET Framework Setup\NDP\")) - { - foreach (var versionKeyName in ndpKey.GetSubKeyNames()) - { - // Skip .NET Framework 4.5 version information. - if (versionKeyName == "v4") - { - continue; - } - - if (versionKeyName.StartsWith("v")) - { - RegistryKey versionKey = ndpKey.OpenSubKey(versionKeyName); - - // Get the .NET Framework version value. - var name = (string)versionKey.GetValue("Version", ""); - // Get the service pack (SP) number. - var sp = versionKey.GetValue("SP", "").ToString(); - - // Get the installation flag. - var install = versionKey.GetValue("Install", "").ToString(); - if (string.IsNullOrEmpty(install)) - { - // No install info; it must be in a child subkey. - Console.WriteLine($"{versionKeyName} {name}"); - } - else if (install == "1") - { - // Install = 1 means the version is installed. - - if (!string.IsNullOrEmpty(sp)) - { - Console.WriteLine($"{versionKeyName} {name} SP{sp}"); - } - else - { - Console.WriteLine($"{versionKeyName} {name}"); - } - } - - if (!string.IsNullOrEmpty(name)) - { - continue; - } - // else print out info from subkeys... - - // Iterate through the subkeys of the version subkey. - foreach (var subKeyName in versionKey.GetSubKeyNames()) - { - RegistryKey subKey = versionKey.OpenSubKey(subKeyName); - name = (string)subKey.GetValue("Version", ""); - if (!string.IsNullOrEmpty(name)) - sp = subKey.GetValue("SP", "").ToString(); - - install = subKey.GetValue("Install", "").ToString(); - if (string.IsNullOrEmpty(install)) - { - // No install info; it must be later. - Console.WriteLine($" {versionKeyName} {name}"); - } - else if (install == "1") - { - if (!string.IsNullOrEmpty(sp)) - { - Console.WriteLine($" {subKeyName} {name} SP{sp}"); - } - else - { - Console.WriteLine($" {subKeyName} {name}"); - } - } - } - } - } - } - // - } - - private static void Get45PlusFromRegistry() - { - // - const string subkey = @"SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full\"; - - using (var baseKey = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry32)) - using (var ndpKey = baseKey.OpenSubKey(subkey)) - { - if (ndpKey != null && ndpKey.GetValue("Release") != null) - { - Console.WriteLine($".NET Framework Version: {CheckFor45PlusVersion((int)ndpKey.GetValue("Release"))}"); - } - else - { - Console.WriteLine(".NET Framework Version 4.5 or later is not detected."); - } - } - - // Checking the version using >= enables forward compatibility. - string CheckFor45PlusVersion(int releaseKey) - { - if (releaseKey >= 533320) - return "4.8.1 or later"; - if (releaseKey >= 528040) - return "4.8"; - if (releaseKey >= 461808) - return "4.7.2"; - if (releaseKey >= 461308) - return "4.7.1"; - if (releaseKey >= 460798) - return "4.7"; - if (releaseKey >= 394802) - return "4.6.2"; - if (releaseKey >= 394254) - return "4.6.1"; - if (releaseKey >= 393295) - return "4.6"; - if (releaseKey >= 379893) - return "4.5.2"; - if (releaseKey >= 378675) - return "4.5.1"; - if (releaseKey >= 378389) - return "4.5"; - // This code should never execute. A non-null release key should mean - // that 4.5 or later is installed. - return "No 4.5 or later version detected"; - } - // - } -} diff --git a/docs/framework/migration-guide/snippets/visual-basic/FrameworkVersions.vbproj b/docs/framework/migration-guide/snippets/visual-basic/FrameworkVersions.vbproj deleted file mode 100644 index 07a9b28389fef..0000000000000 --- a/docs/framework/migration-guide/snippets/visual-basic/FrameworkVersions.vbproj +++ /dev/null @@ -1,13 +0,0 @@ - - - - Exe - FrameworkVersions - net7.0-windows - - - - - - - diff --git a/docs/framework/migration-guide/snippets/visual-basic/versions-installed.vb b/docs/framework/migration-guide/snippets/visual-basic/versions-installed.vb deleted file mode 100644 index b760cc9194923..0000000000000 --- a/docs/framework/migration-guide/snippets/visual-basic/versions-installed.vb +++ /dev/null @@ -1,116 +0,0 @@ -Imports Microsoft.Win32 - -Module Program - Sub Main() - GetVersionFromRegistry() - Get45PlusFromRegistry() - End Sub - - Private Sub GetVersionFromRegistry() - ' - ' Opens the registry key for the .NET Framework entry. - Using ndpKey As RegistryKey = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry32). - OpenSubKey("SOFTWARE\Microsoft\NET Framework Setup\NDP\") - - For Each versionKeyName In ndpKey.GetSubKeyNames() - ' Skip .NET Framework 4.5 and later. - If versionKeyName = "v4" Then Continue For - - If versionKeyName.StartsWith("v") Then - Dim versionKey As RegistryKey = ndpKey.OpenSubKey(versionKeyName) - ' Get the .NET Framework version value. - Dim name = DirectCast(versionKey.GetValue("Version", ""), String) - ' Get the service pack (SP) number. - Dim sp = versionKey.GetValue("SP", "").ToString() - - Dim install = versionKey.GetValue("Install", "").ToString() - If String.IsNullOrEmpty(install) Then - ' No install info; it must be in a child subkey. - Console.WriteLine($"{versionKeyName} {name}") - ElseIf install = "1" Then - - If Not String.IsNullOrEmpty(sp) Then - Console.WriteLine($"{versionKeyName} {name} SP{sp}") - Else - Console.WriteLine($"{versionKeyName} {name}") - End If - - End If - - If Not String.IsNullOrEmpty(name) Then - Continue For - End If - - For Each subKeyName In versionKey.GetSubKeyNames() - Dim subKey As RegistryKey = versionKey.OpenSubKey(subKeyName) - name = DirectCast(subKey.GetValue("Version", ""), String) - If Not String.IsNullOrEmpty(name) Then - sp = subKey.GetValue("SP", "").ToString() - End If - - install = subKey.GetValue("Install", "").ToString() - If String.IsNullOrEmpty(install) Then - ' No install info; it must be later. - Console.WriteLine($" {versionKeyName} {name}") - ElseIf install = "1" Then - - If Not String.IsNullOrEmpty(sp) Then - Console.WriteLine($" {subKeyName} {name} SP{sp}") - Else - Console.WriteLine($" {subKeyName} {name}") - End If - - End If - Next - End If - Next - End Using - ' - End Sub - - ' - Private Sub Get45PlusFromRegistry() - Const subkey As String = "SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full\" - - Using baseKey As RegistryKey = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry32), - ndpKey As RegistryKey = baseKey.OpenSubKey(subkey) - If ndpKey IsNot Nothing AndAlso ndpKey.GetValue("Release") IsNot Nothing Then - Console.WriteLine($".NET Framework Version: {CheckFor45PlusVersion(ndpKey.GetValue("Release"))}") - Else - Console.WriteLine(".NET Framework Version 4.5 or later is not detected.") - End If - End Using - End Sub - - ' Checking the version using >= enables forward compatibility. - Private Function CheckFor45PlusVersion(releaseKey As Integer) As String - If releaseKey >= 533320 Then - Return "4.8.1 or later" - ElseIf releaseKey >= 528040 Then - Return "4.8" - ElseIf releaseKey >= 461808 Then - Return "4.7.2" - ElseIf releaseKey >= 461308 Then - Return "4.7.1" - ElseIf releaseKey >= 460798 Then - Return "4.7" - ElseIf releaseKey >= 394802 Then - Return "4.6.2" - ElseIf releaseKey >= 394254 Then - Return "4.6.1" - ElseIf releaseKey >= 393295 Then - Return "4.6" - ElseIf releaseKey >= 379893 Then - Return "4.5.2" - ElseIf releaseKey >= 378675 Then - Return "4.5.1" - ElseIf releaseKey >= 378389 Then - Return "4.5" - End If - ' This code should never execute. A non-null release key should mean - ' that 4.5 or later is installed. - Return "No 4.5 or later version detected" - End Function - ' - -End Module diff --git a/docs/framework/toc.yml b/docs/framework/toc.yml index 3692626ee690e..646cda2b79f5c 100644 --- a/docs/framework/toc.yml +++ b/docs/framework/toc.yml @@ -15,36 +15,26 @@ items: items: - name: Overview href: install/index.md + - name: Install on Windows and Windows Server + href: install/on-windows-and-server.md - name: For developers href: install/guide-for-developers.md - - name: By OS version - items: - - name: Windows 11 - href: install/on-windows-11.md - - name: Windows 10 and Windows Server 2016 - href: install/on-windows-10.md - - name: Windows 8.1 and Windows Server 2012 R2 - href: install/on-windows-8-1.md - - name: Windows 8 and Windows Server 2012 - href: install/on-windows-8.md - - name: Windows Server 2025 - href: install/on-server-2025.md - - name: Windows Server 2022 - href: install/on-server-2022.md - - name: Windows Server 2019 - href: install/on-server-2019.md - - name: Repair .NET framework - href: install/repair.md + - name: Versions and dependencies + href: install/versions-and-dependencies.md + - name: Find installed versions + href: install/how-to-determine-which-versions-are-installed.md + - name: Find installed updates + href: install/how-to-determine-which-net-framework-updates-are-installed.md - name: Troubleshoot items: + - name: Repair .NET framework + href: install/repair.md - name: Troubleshoot install and uninstall href: install/troubleshoot-blocked-installations-and-uninstallations.md - name: Troubleshoot 'This application could not be started' href: install/application-not-started.md - - name: .NET Framework 3.5 on Windows 8 through Windows 11 + - name: .NET Framework 3.5 href: install/dotnet-35-windows.md - - name: .NET Framework 1.1 on Windows 8 through Windows 11 - href: install/run-net-framework-1-1-apps.md - name: Migration guide items: - name: Overview @@ -116,14 +106,6 @@ items: href: migration-guide/mitigation-ziparchiveentry-fullname-path-separator.md - name: Version compatibility href: migration-guide/version-compatibility.md - - name: .NET Framework versions - items: - - name: Versions and dependencies - href: migration-guide/versions-and-dependencies.md - - name: Find installed versions - href: migration-guide/how-to-determine-which-versions-are-installed.md - - name: Find installed updates - href: migration-guide/how-to-determine-which-net-framework-updates-are-installed.md - name: Configure an app to support .NET Framework 4 or later href: migration-guide/how-to-configure-an-app-to-support-net-framework-4-or-4-5.md - name: Migrate from .NET Framework 1.1 diff --git a/docs/standard/clr.md b/docs/standard/clr.md index 4bdec26512e37..19a5723ec231b 100644 --- a/docs/standard/clr.md +++ b/docs/standard/clr.md @@ -59,7 +59,7 @@ Language compilers and tools expose the runtime's functionality in ways that are .NET Core and .NET 5+ releases have a single product version, that is, there's no separate CLR version. For a list of .NET Core versions, see [Download .NET Core](https://dotnet.microsoft.com/download/dotnet). -However, the .NET Framework version number doesn't necessarily correspond to the version number of the CLR it includes. For a list of .NET Framework versions and their corresponding CLR versions, see [.NET Framework versions and dependencies](../framework/migration-guide/versions-and-dependencies.md). +However, the .NET Framework version number doesn't necessarily correspond to the version number of the CLR it includes. For a list of .NET Framework versions and their corresponding CLR versions, see [.NET Framework versions and dependencies](../framework/install/versions-and-dependencies.md). ## Related articles diff --git a/docs/whats-new/dotnet-docs-mod0.md b/docs/whats-new/dotnet-docs-mod0.md index aebb6eace64e3..35581513d5d0a 100644 --- a/docs/whats-new/dotnet-docs-mod0.md +++ b/docs/whats-new/dotnet-docs-mod0.md @@ -68,7 +68,7 @@ Welcome to what's new in the .NET docs for December 2024. This article lists som ### New articles -- [Install .NET Framework on Windows Server 2025](../framework/install/on-server-2025.md) +- [Install .NET Framework on Windows Server 2025](../framework/install/on-windows-and-server.md#install-net-framework-on-windows-server) - [November 2024 cumulative update preview](../framework/release-notes/2024/11-21-november-preview-cumulative-update.md) ## Community contributors diff --git a/includes/net-framework-future.md b/includes/net-framework-future.md index f954e08c36988..50b01e84af5a7 100644 --- a/includes/net-framework-future.md +++ b/includes/net-framework-future.md @@ -1,2 +1,2 @@ > [!NOTE] -> .NET Framework is serviced independently from Windows updates with security and reliability bug fixes. In general, security updates are released quarterly. .NET Framework will continue to be included with Windows, with no plans to remove it. You don't need to migrate your .NET Framework apps, but for new development, use [.NET 8 or later](~/docs/core/introduction.md). +> .NET Framework is serviced independently from Windows updates with security and reliability bug fixes. In general, security updates are released quarterly. .NET Framework will continue to be included with Windows, with no plans to remove it. You don't need to migrate your .NET Framework apps, but for new development, use [.NET instead of .NET Framework](../docs/core/introduction.md). diff --git a/includes/net-framework-retired-versions.md b/includes/net-framework-retired-versions.md index 2d599d0001f26..1d6149469ff87 100644 --- a/includes/net-framework-retired-versions.md +++ b/includes/net-framework-retired-versions.md @@ -1,9 +1,9 @@ > [!IMPORTANT] -> .NET Framework content previously digitally signed using certificates that use the SHA1 algorithm, will be retired in order to support evolving industry standards. +> .NET Framework content that was previously digitally signed using certificates that use the SHA1 algorithm must be retired in order to support evolving industry standards. > -> The following versions of .NET Framework will reach end-of-support on _April 26, 2022_: 4.5.2, 4.6, and 4.6.1. After this date, security fixes, updates, and technical support for these versions will no longer be provided. +> The following versions of .NET Framework are no longer supported as of _April 26, 2022_: 4.5.2, 4.6, and 4.6.1. Security fixes, updates, and technical support for these versions are no longer provided. > -> If you're using .NET Framework 4.5.2, 4.6, or 4.6.1, update your deployed runtime to a more recent version, such as **.NET Framework 4.6.2**, before _April 26, 2022_ in order to continue to receive updates and technical support. +> If you're using .NET Framework 4.5.2, 4.6, or 4.6.1, update your deployed runtime to a more recent version, such as **.NET Framework 4.6.2** or **.NET Framework 4.8.1**, to continue to receive updates and technical support. > -> Updated SHA2 signed installers will be available for .NET Framework 3.5 SP1, and 4.6.2 through 4.8. For more information, see the [SHA1 retirement plan](https://support.microsoft.com/topic/-net-framework-retiring-sha-1-content-9750f20d-a9ef-4d43-853f-2075f0a9d7da), the [.NET 4.5.2, 4.6, and 4.6.1 lifecycle update blog post](https://devblogs.microsoft.com/dotnet/net-framework-4-5-2-4-6-4-6-1-will-reach-end-of-support-on-april-26-2022/), and the [FAQ](https://support.microsoft.com/topic/-net-framework-4-5-2-4-6-4-6-1-end-of-support-faq-72b7d8ca-3057-4f0c-8404-67305d40cc04). +> Updated SHA2 signed installers are available for .NET Framework 3.5 SP1, and 4.6.2 through 4.8. For more information, see the [SHA1 retirement plan](https://support.microsoft.com/topic/-net-framework-retiring-sha-1-content-9750f20d-a9ef-4d43-853f-2075f0a9d7da), the [.NET 4.5.2, 4.6, and 4.6.1 lifecycle update blog post](https://devblogs.microsoft.com/dotnet/net-framework-4-5-2-4-6-4-6-1-will-reach-end-of-support-on-april-26-2022/), and the [FAQ](https://support.microsoft.com/topic/-net-framework-4-5-2-4-6-4-6-1-end-of-support-faq-72b7d8ca-3057-4f0c-8404-67305d40cc04). From d864442a41265a12554ec521b6adf387978ed5f8 Mon Sep 17 00:00:00 2001 From: Cam Soper Date: Thu, 20 Feb 2025 18:01:05 -0600 Subject: [PATCH 7/7] Breaking change - System.Text.Json (#44946) * Fixes 44172 * build fix * 44172 * lint * Build * whoops * titles * whoops * Feedback * wip * formatting * lint * toc and misc * path * review feedback * Apply suggestions from code review Co-authored-by: Genevieve Warren <24882762+gewarren@users.noreply.github.com> --------- Co-authored-by: Genevieve Warren <24882762+gewarren@users.noreply.github.com> --- docs/core/compatibility/9.0.md | 9 +-- .../serialization/9.0/json-metadata-reader.md | 67 +++++++++++++++++++ .../serialization/9.0/jsondocument-props.md | 2 +- docs/core/compatibility/toc.yml | 4 ++ .../windows-forms/9.0/statusstrip-renderer.md | 2 +- 5 files changed, 78 insertions(+), 6 deletions(-) create mode 100644 docs/core/compatibility/serialization/9.0/json-metadata-reader.md diff --git a/docs/core/compatibility/9.0.md b/docs/core/compatibility/9.0.md index 687fdb5e1db89..249b1c36ed8d2 100644 --- a/docs/core/compatibility/9.0.md +++ b/docs/core/compatibility/9.0.md @@ -112,10 +112,11 @@ If you're migrating an app to .NET 9, the breaking changes listed here might aff ## Serialization -| Title | Type of change | Introduced version | -|-------------------------------------------------------------------------------|-------------------|--------------------| -| [BinaryFormatter always throws](serialization/9.0/binaryformatter-removal.md) | Behavioral change | Preview 6 | -| [Nullable JsonDocument properties deserialize to JsonValueKind.Null](serialization/9.0/jsondocument-props.md) | Behavioral change | Preview 1 | +| Title | Type of change | Introduced version | +|---------------------------------------------------------------------------------------------------------------------|-------------------|--------------------| +| [BinaryFormatter always throws](serialization/9.0/binaryformatter-removal.md) | Behavioral change | Preview 6 | +| [Nullable JsonDocument properties deserialize to JsonValueKind.Null](serialization/9.0/jsondocument-props.md) | Behavioral change | Preview 1 | +| [System.Text.Json metadata reader now unescapes metadata property names](serialization/9.0/json-metadata-reader.md) | Behavioral change | GA | ## Windows Forms diff --git a/docs/core/compatibility/serialization/9.0/json-metadata-reader.md b/docs/core/compatibility/serialization/9.0/json-metadata-reader.md new file mode 100644 index 0000000000000..e74c7591622dc --- /dev/null +++ b/docs/core/compatibility/serialization/9.0/json-metadata-reader.md @@ -0,0 +1,67 @@ +--- +title: "Breaking change: System.Text.Json metadata reader now unescapes metadata property names" +description: System.Text.Json now unescapes metadata property names, affecting reference preservation and metadata property validation. +ms.date: 2/13/2025 +ai-usage: ai-assisted +ms.custom: https://github.com/dotnet/docs/issues/44748 +--- + +# System.Text.Json metadata reader now unescapes metadata property names + +The library has been updated to unescape metadata property names. This change affects how JSON documents are interpreted in the context of reference preservation, polymorphism, and metadata property validation. + +## Version introduced + +.NET 9 + +## Previous behavior + +Previously, didn't unescape metadata property names. This would lead to invalid property names being accepted, which could bypass metadata property validation. + +For example, the following code would succeed in the first call but throw an exception in the second call: + +```csharp +JsonSerializerOptions options = new() { ReferenceHandler = ReferenceHandler.Preserve }; +JsonSerializer.Deserialize("""{"\u0024invalid" : 42 }""", options); +JsonSerializer.Deserialize("""{"$invalid" : 42 }""", options); + +record MyPoco; +``` + +The unescaping behavior could also cause polymorphism issues when roundtripping metadata properties whose names require escaping, as seen here: + +```csharp +string json = JsonSerializer.Serialize(new Derived()); +Console.WriteLine(json); // {"categor\u00EDa":"derived"} +Console.WriteLine(JsonSerializer.Deserialize(json) is Derived); // False + +[JsonPolymorphic(TypeDiscriminatorPropertyName = "categoría")] +[JsonDerivedType(typeof(Derived), "derived")] +public record Base; +public record Derived : Base; +``` + +## New behavior + + now unescapes metadata property names. This new behavior means that the line `Console.WriteLine(JsonSerializer.Deserialize(json) is Derived);` from the polymorphic deserialization example now returns `true`, and that invalid property names correctly fail to deserialize with the following exception: + +```output +Unhandled exception. System.Text.Json.JsonException: Properties that start with '$' are not allowed in types that support metadata. +``` + +## Type of breaking change + +This change is a [behavioral change](../../categories.md#behavioral-change). + +## Reason for change + +The change improves correctness and reliability by ensuring that metadata property names are properly unescaped, preventing the bypass of metadata property validation. For more details, see the [reported issue](https://github.com/dotnet/runtime/issues/112288). + +## Recommended action + +Avoid using escaping to bypass metadata property validation. Instead, pick property names that don't conflict with metadata properties. + +## Affected APIs + +* +* diff --git a/docs/core/compatibility/serialization/9.0/jsondocument-props.md b/docs/core/compatibility/serialization/9.0/jsondocument-props.md index 410878c677d90..e8af4da5d809a 100644 --- a/docs/core/compatibility/serialization/9.0/jsondocument-props.md +++ b/docs/core/compatibility/serialization/9.0/jsondocument-props.md @@ -1,5 +1,5 @@ --- -title: "Nullable JsonDocument properties deserialize to JsonValueKind.Null" +title: "Breaking change: Nullable JsonDocument properties deserialize to JsonValueKind.Null" description: Learn about the breaking change in serialization in .NET 9 where nullable JsonDocument values deserialize to JsonValueKind.Null instead of null. ms.date: 12/5/2024 ai-usage: ai-assisted diff --git a/docs/core/compatibility/toc.yml b/docs/core/compatibility/toc.yml index d150372072525..010a040254339 100644 --- a/docs/core/compatibility/toc.yml +++ b/docs/core/compatibility/toc.yml @@ -166,6 +166,8 @@ items: href: serialization/9.0/binaryformatter-removal.md - name: Nullable JsonDocument properties deserialize to JsonValueKind.Null href: serialization/9.0/jsondocument-props.md + - name: System.Text.Json metadata reader now unescapes metadata property names + href: serialization/9.0/json-metadata-reader.md - name: Windows Forms items: - name: BindingSource.SortDescriptions doesn't return null @@ -2022,6 +2024,8 @@ items: href: serialization/9.0/binaryformatter-removal.md - name: Nullable JsonDocument properties deserialize to JsonValueKind.Null href: serialization/9.0/jsondocument-props.md + - name: System.Text.Json metadata reader now unescapes metadata property names + href: serialization/9.0/json-metadata-reader.md - name: .NET 8 items: - name: BinaryFormatter disabled for most projects diff --git a/docs/core/compatibility/windows-forms/9.0/statusstrip-renderer.md b/docs/core/compatibility/windows-forms/9.0/statusstrip-renderer.md index c788c82837115..084ac979f68b6 100644 --- a/docs/core/compatibility/windows-forms/9.0/statusstrip-renderer.md +++ b/docs/core/compatibility/windows-forms/9.0/statusstrip-renderer.md @@ -32,7 +32,7 @@ The previous default behavior didn't meet accessibility standards. The focus ind The new behavior is recommended for accessibility reasons. If you want to revert to the previous behavior, set the `RenderMode` property to . > [!NOTE] -> The new behavior was reverted to the previous behavior in .NET 10 Preview 1. +> The new behavior was reverted to the previous behavior in a .NET 9 servicing release and [.NET 10 Preview 1](../10.0/statusstrip-renderer.md). ## Affected APIs