Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
fc53059
Update package index with latest published versions (#50192)
azure-sdk Dec 1, 2025
ef3dee1
Link operators `==` and `!=` overloading to the records page (#50226)
BartoszKlonowski Dec 1, 2025
186d70a
Update package index with latest published versions (#50235)
azure-sdk Dec 1, 2025
445d3ca
Update PR action to use peter-evans version (#50237)
gewarren Dec 1, 2025
de14809
Fix action name (#50238)
gewarren Dec 1, 2025
f67b351
Update package index with latest published versions (#50240)
azure-sdk Dec 1, 2025
ea8ac64
Update tutorials and program guide for modern extensions (#50132)
BillWagner Dec 1, 2025
105cb8d
use peter-evans action (#50241)
gewarren Dec 1, 2025
58be11e
Monthly chores: Replace redirect targets (#50243)
github-actions[bot] Dec 1, 2025
509e893
Bot 🤖 generated CleanRepo tool run (#50242)
github-actions[bot] Dec 1, 2025
ddf3ea4
Update package index with latest published versions (#50245)
azure-sdk Dec 1, 2025
224280a
Update MSTest v1 to v3 migration guide (#50206)
Youssef1313 Dec 1, 2025
aecc125
Prevent tags from loc (#50222)
gewarren Dec 1, 2025
14ef7fd
Add Meziantou.Analyzer to third-party analyzers list (#50236)
viceroypenguin Dec 2, 2025
5d39ae4
Clarify default value for max parallel test modules (#50199)
Youssef1313 Dec 2, 2025
f95a6f9
prevent tags from loc (#50221)
gewarren Dec 2, 2025
0c8435c
Prevent tags from loc (#50220)
gewarren Dec 2, 2025
5ba0716
Prevent tags from loc (#50219)
gewarren Dec 2, 2025
34df618
Prevent tags from loc (#50218)
gewarren Dec 2, 2025
756f6ce
Prevent tags from loc (#50217)
gewarren Dec 2, 2025
f9e89d2
Prevent tags from loc (#50216)
gewarren Dec 2, 2025
99aac8c
Prevent tags from loc (#50215)
gewarren Dec 2, 2025
590e840
prevent tags from loc (#50213)
gewarren Dec 2, 2025
df7ed0f
prevent tags from loc (#50212)
gewarren Dec 2, 2025
38d96c4
Prevent tags from loc (#50214)
gewarren Dec 2, 2025
36d8e44
Prevent tags from loc (#50211)
gewarren Dec 2, 2025
f3fa656
Prevent tags from loc (#50210)
gewarren Dec 2, 2025
2286684
prevent tags from loc (#50209)
gewarren Dec 2, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .github/workflows/cleanrepo-orphaned-articles.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@

# Create the PR for the work done by the "clean repo" tool
- name: create-pull-request
uses: dotnet/actions-create-pull-request@v4
uses: peter-evans/create-pull-request@v7

Check warning

Code scanning / Scorecard

Pinned-Dependencies Medium

score is 5: third-party GitHubAction not pinned by hash
Remediation tip: update your workflow using https://app.stepsecurity.io
Click Remediation section below for further remediation help
with:
branch: cleanrepo-orphaned-articles
title: "Monthly chores: Delete orphaned articles"
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/cleanrepo-orphaned-images.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@

# Create the PR for the work done by the "clean repo" tool
- name: create-pull-request
uses: dotnet/actions-create-pull-request@v4
uses: peter-evans/create-pull-request@v7

Check warning

Code scanning / Scorecard

Pinned-Dependencies Medium

score is 5: third-party GitHubAction not pinned by hash
Remediation tip: update your workflow using https://app.stepsecurity.io
Click Remediation section below for further remediation help
with:
branch: cleanrepo-orphaned-images
title: "Monthly chores: Delete orphaned images"
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/cleanrepo-orphaned-includes.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@

# Create the PR for the work done by the "clean repo" tool
- name: create-pull-request
uses: dotnet/actions-create-pull-request@v4
uses: peter-evans/create-pull-request@v7

Check warning

Code scanning / Scorecard

Pinned-Dependencies Medium

score is 5: third-party GitHubAction not pinned by hash
Remediation tip: update your workflow using https://app.stepsecurity.io
Click Remediation section below for further remediation help
with:
branch: cleanrepo-orphaned-includes
title: "Monthly chores: Delete orphaned include files"
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/cleanrepo-orphaned-snippets.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@

# Create the PR for the work done by the "clean repo" tool
- name: create-pull-request
uses: dotnet/actions-create-pull-request@v4
uses: peter-evans/create-pull-request@v7

Check warning

Code scanning / Scorecard

Pinned-Dependencies Medium

score is 5: third-party GitHubAction not pinned by hash
Remediation tip: update your workflow using https://app.stepsecurity.io
Click Remediation section below for further remediation help
with:
branch: cleanrepo-orphaned-snippets
title: "Monthly chores: Delete orphaned snippets"
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/cleanrepo-redirect-hops.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@

# Create the PR for the work done by the "clean repo" tool
- name: create-pull-request
uses: dotnet/actions-create-pull-request@v4
uses: peter-evans/create-pull-request@v7

Check warning

Code scanning / Scorecard

Pinned-Dependencies Medium

score is 5: third-party GitHubAction not pinned by hash
Remediation tip: update your workflow using https://app.stepsecurity.io
Click Remediation section below for further remediation help
with:
branch: cleanrepo-remove-hops
title: "Monthly chores: Remove redirect hops"
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/cleanrepo-relative-links.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@

# Create the PR for the work done by the "clean repo" tool
- name: create-pull-request
uses: dotnet/actions-create-pull-request@v4
uses: peter-evans/create-pull-request@v7

Check warning

Code scanning / Scorecard

Pinned-Dependencies Medium

score is 5: third-party GitHubAction not pinned by hash
Remediation tip: update your workflow using https://app.stepsecurity.io
Click Remediation section below for further remediation help
with:
branch: cleanrepo-relative-links
title: "Monthly chores: Use relative links"
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/cleanrepo-replace-redirects.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@

# Create the PR for the work done by the "clean repo" tool
- name: create-pull-request
uses: dotnet/actions-create-pull-request@v4
uses: peter-evans/create-pull-request@v7

Check warning

Code scanning / Scorecard

Pinned-Dependencies Medium

score is 5: third-party GitHubAction not pinned by hash
Remediation tip: update your workflow using https://app.stepsecurity.io
Click Remediation section below for further remediation help
with:
branch: cleanrepo-replace-redirects
title: "Monthly chores: Replace redirect targets"
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/dependabot-bot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@
dependabot-yml-path: ".github/dependabot.yml"
- name: Create pull request
if: github.event_name == 'workflow_dispatch' || github.repository_owner == 'dotnet'
uses: dotnet/actions-create-pull-request@v4
uses: peter-evans/create-pull-request@v7

Check warning

Code scanning / Scorecard

Pinned-Dependencies Medium

score is 5: third-party GitHubAction not pinned by hash
Remediation tip: update your workflow using https://app.stepsecurity.io
Click Remediation section below for further remediation help
with:
branch: create-dependabotconfig-pull-request/patch
title: "Update dependabot.yml - automatically."
Expand Down
16 changes: 8 additions & 8 deletions docs/azure/includes/dotnet-all.md

Large diffs are not rendered by default.

12 changes: 6 additions & 6 deletions docs/azure/includes/dotnet-new.md

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ The best course of action is to migrate away from `BinaryFormatter` due to its s
If you must suppress the errors, you can do so by following the guidelines in the [original obsoletion article](../5.0/binaryformatter-serialization-obsolete.md#recommended-action). You can also disable the error project-wide by setting a project property that converts the error back to a warning (to match the .NET 5/6 behavior).

> [!WARNING]
> Setting this property might change host behavior. See [\<EnableUnsafeBinaryFormatterSerialization> property](#enableunsafebinaryformatterserialization-property).
> Setting this property might change host behavior. See [`<EnableUnsafeBinaryFormatterSerialization>` property](#enableunsafebinaryformatterserialization-property).

```csharp
<PropertyGroup>
Expand All @@ -61,7 +61,7 @@ If you must suppress the errors, you can do so by following the guidelines in th
> [!NOTE]
> If your project compiles with "warnings as errors" enabled, compilation will still fail. (This matches the behavior that shipped in the .NET 5 and .NET 6 SDKs.) If that's the case, you'll still need to suppress the `SYSLIB0011` warning in source or in your project file's `<NoWarn>` element.

### \<EnableUnsafeBinaryFormatterSerialization> property
### `<EnableUnsafeBinaryFormatterSerialization>` property

The `<EnableUnsafeBinaryFormatterSerialization` property was introduced in .NET 5. With .NET 7, the behavior of this switch has changed to control *both compilation and host* run-time behavior. The meaning of this switch differs based on the project type, as described in the following table.

Expand Down
6 changes: 3 additions & 3 deletions docs/core/deploying/runtime-store.md
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,7 @@ When the deployment is *trimmed* on publish, only the specific versions of the m

## Specifying target manifests in the project file

An alternative to specifying target manifests with the [`dotnet publish`](../tools/dotnet-publish.md) command is to specify them in the project file as a semicolon-separated list of paths under a **\<TargetManifestFiles>** tag.
An alternative to specifying target manifests with the [`dotnet publish`](../tools/dotnet-publish.md) command is to specify them in the project file as a semicolon-separated list of paths under a `<TargetManifestFiles>` tag.

```xml
<PropertyGroup>
Expand All @@ -126,7 +126,7 @@ For .NET Core 2.0, the runtime package store feature is used implicitly by an AS

The runtime package store is installed on the host when the .NET SDK is installed. Other installers may provide the runtime package store, including Zip/tarball installations of the .NET SDK, `apt-get`, Red Hat Yum, the .NET Core Windows Server Hosting bundle, and manual runtime package store installations.

When deploying a [framework-dependent deployment](index.md#framework-dependent-deployment) app, make sure that the target environment has the .NET SDK installed. If the app is deployed to an environment that doesn't include ASP.NET Core, you can opt out of the implicit store by specifying **\<PublishWithAspNetCoreTargetManifest>** set to `false` in the project file as in the following example:
When deploying a [framework-dependent deployment](index.md#framework-dependent-deployment) app, make sure that the target environment has the .NET SDK installed. If the app is deployed to an environment that doesn't include ASP.NET Core, you can opt out of the implicit store by specifying `<PublishWithAspNetCoreTargetManifest>` set to `false` in the project file as in the following example:

```xml
<PropertyGroup>
Expand All @@ -135,7 +135,7 @@ When deploying a [framework-dependent deployment](index.md#framework-dependent-d
```

> [!NOTE]
> For [self-contained deployment](index.md#self-contained-deployment) apps, it's assumed that the target system doesn't necessarily contain the required manifest packages. Therefore, **\<PublishWithAspNetCoreTargetManifest>** cannot be set to `true` for an self-contained app.
> For [self-contained deployment](index.md#self-contained-deployment) apps, it's assumed that the target system doesn't necessarily contain the required manifest packages. Therefore, `<PublishWithAspNetCoreTargetManifest>` cannot be set to `true` for an self-contained app.

## See also

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ This section describes the best practices to follow when developing world-ready

1. Specify the values for the `requestEncoding`, `responseEncoding`, `fileEncoding`, `culture`, and `uiCulture` attributes in the following three places in an ASP.NET application:

- In the globalization section of a _Web.config_ file. This file is external to the ASP.NET application. For more information, see [\<globalization> element](/previous-versions/dotnet/netframework-4.0/hy4kkhe0(v=vs.100)).
- In the globalization section of a _Web.config_ file. This file is external to the ASP.NET application. For more information, see [`<globalization>` element](/previous-versions/dotnet/netframework-4.0/hy4kkhe0(v=vs.100)).
- In a page directive. Note that, when an application is in a page, the file has already been read. Therefore, it is too late to specify fileEncoding and requestEncoding. Only `uiCulture`, `culture`, and `responseEncoding` can be specified in a page directive.
- Programmatically in application code. This setting can vary per request. As with a page directive, by the time the application's code is reached, it is too late to specify `fileEncoding` and `requestEncoding`. Only `uiCulture`, `culture`, and `responseEncoding` can be specified in the application code.

Expand Down
35 changes: 0 additions & 35 deletions docs/core/install/includes/linux-install-60-apt.md

This file was deleted.

9 changes: 0 additions & 9 deletions docs/core/install/includes/linux-ubuntu-80-ms.md

This file was deleted.

12 changes: 0 additions & 12 deletions docs/core/install/includes/linux-ubuntu-not-supported.md

This file was deleted.

9 changes: 0 additions & 9 deletions docs/core/install/includes/linux-ubuntu-package-feed-ms.md

This file was deleted.

23 changes: 13 additions & 10 deletions docs/core/testing/unit-testing-mstest-migration-from-v1-to-v3.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ title: MSTest migration to v3
description: Learn about migrating from legacy MSTest (MSTest v1) to latest MSTest (MSTest v3).
author: engyebrahim
ms.author: enjieid
ms.date: 11/06/2024
ms.date: 11/28/2025
---

# MSTest v3 migration guide
Expand All @@ -21,9 +21,9 @@ If your project relies on MSTest for unit testing and includes the above referen

### Why migrate to MSTest v3?

Even if youre satisfied with your current MSTest setup, upgrading to MSTest v3 unlocks substantial advantages that improve both the quality and future-readiness of your tests. Heres why making the switch now can be a valuable step forward:
Even if you're satisfied with your current MSTest setup, upgrading to MSTest v3 unlocks substantial advantages that improve both the quality and future-readiness of your tests. Here's why making the switch now can be a valuable step forward:

- **Enhanced security**: MSTest v1 has known security vulnerabilities. With MSTest v3, weve implemented extensive security improvements to safeguard your testing environment.
- **Enhanced security**: MSTest v1 has known security vulnerabilities. With MSTest v3, we've implemented extensive security improvements to safeguard your testing environment.
- **Immediate Performance Boosts**: MSTest v3 significantly reduces test execution time and optimizes resource usage. This is particularly beneficial in CI/CD pipelines, where faster tests can shorten deployment cycles and cut infrastructure costs.

- **Future-Proofing Your Tests**: MSTest v3 offers robust support for modern .NET versions, including .NET 8, and future iterations, along with cross-platform compatibility. This means your tests will be more adaptable and ready for upgrades, avoiding the technical debt of outdated testing frameworks.
Expand All @@ -36,7 +36,10 @@ Even if you’re satisfied with your current MSTest setup, upgrading to MSTest v

- **Greater Flexibility and Extensibility**: MSTest v3 supports advanced testing scenarios, including dynamic data sources and in-assembly parallel execution. This flexibility enables more sophisticated testing approaches and speeds up test suites without complex configurations.

By upgrading, you’re setting up your tests to be faster, more reliable, and adaptable to future .NET developments, positioning your project for long-term success and easier maintenance.
By upgrading, you're setting up your tests to be faster, more reliable, and adaptable to future .NET developments, positioning your project for long-term success and easier maintenance.

> [!TIP]
> After migrating to MSTest v3, consider taking a further step and migrate to MSTest v4. For more information, see [Migrate from MSTest v3 to v4](./unit-testing-mstest-migration-v3-v4.md).

## Migration steps

Expand All @@ -54,7 +57,7 @@ In non-SDK style projects, these references are often added through Visual Studi
4. Inside the **References** folder, **find and select** the MSTest DLL references, `Microsoft.VisualStudio.QualityTools.UnitTestFramework`
5. **Right-click** the selected reference(s) and choose **Remove** from the context menu.

![image](https://github.com/user-attachments/assets/7aff1afb-e26b-4450-bc2e-903a577e3df2)
![Context menu of the assembly reference](https://github.com/user-attachments/assets/7aff1afb-e26b-4450-bc2e-903a577e3df2)

6. **Save the project** to apply changes.

Expand All @@ -65,20 +68,20 @@ You can update your project to MSTest v3 in one of two ways:
- **Update Packages**: If you have NuGet package references to the [MSTest.TestFramework](https://www.nuget.org/packages/MSTest.TestFramework) and the [MSTest.TestAdapter](https://www.nuget.org/packages/MSTest.TestAdapter/), update them using the NuGet Package Manager in Visual Studio or by running the following command in the NuGet Package Manager Console:

```shell
Update-Package MSTest.TestFramework -Version 3.6.2
Update-Package MSTest.TestAdapter -Version 3.6.2
Update-Package MSTest.TestFramework -Version 3.11.1
Update-Package MSTest.TestAdapter -Version 3.11.1
```

- **Or Install MSTest Package**: Install the latest [MSTest](https://www.nuget.org/packages/MSTest) package using the NuGet Package Manager in Visual Studio or by running the following command in the NuGet Package Manager Console:

```shell
Install-Package MSTest -Version 3.6.2
Install-Package MSTest -Version 3.11.1
```

- **Or update the project file directly** (for SDK-style projects): Update your `.csproj` file to specify the MSTest SDK version.

```xml
<Project Sdk="MSTest.Sdk/3.6.2">
<Project Sdk="MSTest.Sdk/3.11.1">
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
</PropertyGroup>
Expand Down Expand Up @@ -140,7 +143,7 @@ The DataRowAttribute constructors in MSTest v3 have been simplified to enforce t
public void MyTestMethod(int number, string text) { ... }
```

In cases where types dont match exactly, MSTest v3 will now raise an error rather than attempting a conversion.
In cases where types don't match exactly, MSTest v3 will now raise an error rather than attempting a conversion.

### Timeout settings

Expand Down
2 changes: 1 addition & 1 deletion docs/core/tools/dependencies.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ ms.date: 01/28/2021

This article explains how to add and remove package dependencies by editing the project file or by using the CLI.

## The \<PackageReference> element
## The `<PackageReference>` element

The `<PackageReference>` project file element has the following structure:

Expand Down
2 changes: 1 addition & 1 deletion docs/core/tools/dotnet-test.md
Original file line number Diff line number Diff line change
Expand Up @@ -490,7 +490,7 @@ With Microsoft Testing Platform, `dotnet test` operates faster than with VSTest.

- **`--max-parallel-test-modules <NUMBER>`**

Specifies the maximum number of test modules that can run in parallel.
Specifies the maximum number of test modules that can run in parallel. The default is <xref:System.Environment.ProcessorCount?displayProperty=nameWithType>.

- [!INCLUDE [arch](../../../includes/cli-arch.md)]

Expand Down
2 changes: 1 addition & 1 deletion docs/core/tutorials/library-with-visual-studio-code.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ Start by creating a .NET class library project named "StringLibrary" and an asso

1. Name the project **StringLibrary** and select **Create Project**.

1. Press Enter at the prompt **Project will be created in \<path>**.
1. Press <kbd>Enter</kbd> at the prompt **Project will be created in \<path>**.

1. Check to make sure that the library targets .NET 9. In **Explorer**, open *StringLibrary/StringLibrary.csproj*.

Expand Down
Loading
Loading