From f8cc3595a60e21363da3326570f45c7eadf540fd Mon Sep 17 00:00:00 2001 From: Genevieve Warren <24882762+gewarren@users.noreply.github.com> Date: Thu, 15 Aug 2024 07:04:56 -0700 Subject: [PATCH 01/12] fix broken links (#42179) --- docfx.json | 3 +- .../docker-application-state-data.md | 2 +- .../docker-app-development-workflow.md | 12 ++++---- ...i-container-applications-docker-compose.md | 24 ++++++++-------- .../deployment/8.0/monitor-image.md | 6 ++-- .../diagnostics/diagnostics-in-containers.md | 28 +++++++++---------- docs/core/docker/container-images.md | 4 +-- docs/core/docker/introduction.md | 4 +-- docs/core/install/linux-snap-runtime.md | 2 +- docs/core/install/linux-snap-sdk.md | 2 +- docs/core/install/macos.md | 4 +-- ...testing-mstest-writing-tests-attributes.md | 8 +++--- docs/core/versions/index.md | 1 - docs/core/whats-new/dotnet-9/sdk.md | 2 +- 14 files changed, 48 insertions(+), 54 deletions(-) diff --git a/docfx.json b/docfx.json index adc3c982d2188..c1db7b2e7c799 100644 --- a/docfx.json +++ b/docfx.json @@ -55,7 +55,8 @@ "lock-object.md", "method-group-natural-type-improvements.md", "params-collections.md", - "ref-struct-interfaces.md" + "ref-struct-interfaces.md", + "ref-unsafe-in-iterators-async.md" ], "src": "_csharplang/proposals", "dest": "csharp/language-reference/proposals", diff --git a/docs/architecture/microservices/architect-microservice-container-applications/docker-application-state-data.md b/docs/architecture/microservices/architect-microservice-container-applications/docker-application-state-data.md index 7daa5e466d7a4..d10612cdd4a85 100644 --- a/docs/architecture/microservices/architect-microservice-container-applications/docker-application-state-data.md +++ b/docs/architecture/microservices/architect-microservice-container-applications/docker-application-state-data.md @@ -29,7 +29,7 @@ From the Docker container: - **Overlay File System**. This Docker feature implements a copy-on-write task that stores updated information to the root file system of the container. That information is "on top" of the original image on which the container is based. If the container is deleted from the system, those changes are lost. Therefore, while it's possible to save the state of a container within its local storage, designing a system around this would conflict with the premise of container design, which by default is stateless. -However, using Docker Volumes is now the preferred way to handle local data in Docker. If you need more information about storage in containers check on [Docker storage drivers](https://docs.docker.com/storage/storagedriver/select-storage-driver/) and [About storage drivers](https://docs.docker.com/storage/storagedriver/). +However, using Docker Volumes is now the preferred way to handle local data in Docker. If you need more information about storage in containers check on [Docker storage drivers](https://docs.docker.com/engine/storage/drivers/select-storage-driver/) and [About storage drivers](https://docs.docker.com/engine/storage/drivers/). The following provides more detail about these options: diff --git a/docs/architecture/microservices/docker-application-development-process/docker-app-development-workflow.md b/docs/architecture/microservices/docker-application-development-process/docker-app-development-workflow.md index 99e29fe25127c..9c7fd6c517c10 100644 --- a/docs/architecture/microservices/docker-application-development-process/docker-app-development-workflow.md +++ b/docs/architecture/microservices/docker-application-development-process/docker-app-development-workflow.md @@ -1,6 +1,6 @@ --- title: Development workflow for Docker apps -description: Understand the details of the workflow for developing Docker-based applications. Begin step by step and get into some details to optimize Dockerfiles and end with the simplified workflow available when using Visual Studio. +description: Learn details of the workflow for developing Docker-based applications. Optimize Dockerfiles and use the simplified workflow available in Visual Studio. ms.date: 11/19/2021 --- # Development workflow for Docker apps @@ -12,9 +12,7 @@ The application development life cycle starts at your computer, as a developer, Each container (an instance of a Docker image) includes the following components: - An operating system selection, for example, a Linux distribution, Windows Nano Server, or Windows Server Core. - - Files added during development, for example, source code and application binaries. - - Configuration information, such as environment settings and dependencies. ## Workflow for developing Docker container-based applications @@ -91,9 +89,9 @@ In a similar fashion, Visual Studio can also add a `docker-compose.yml` file for ### Using an existing official .NET Docker image -You usually build a custom image for your container on top of a base image you get from an official repository like the [Docker Hub](https://hub.docker.com/) registry. That is precisely what happens under the covers when you enable Docker support in Visual Studio. Your Dockerfile will use an existing `dotnet/core/aspnet` image. +You usually build a custom image for your container on top of a base image you get from an official repository like the [Docker Hub](https://hub.docker.com/) registry. That's precisely what happens under the covers when you enable Docker support in Visual Studio. Your Dockerfile will use an existing `dotnet/core/aspnet` image. -Earlier we explained which Docker images and repos you can use, depending on the framework and OS you have chosen. For instance, if you want to use ASP.NET Core (Linux or Windows), the image to use is `mcr.microsoft.com/dotnet/aspnet:8.0`. Therefore, you just need to specify what base Docker image you will use for your container. You do that by adding `FROM mcr.microsoft.com/dotnet/aspnet:8.0` to your Dockerfile. This will be automatically performed by Visual Studio, but if you were to update the version, you update this value. +Earlier we explained which Docker images and repos you can use, depending on the framework and OS you've chosen. For instance, if you want to use ASP.NET Core (Linux or Windows), the image to use is `mcr.microsoft.com/dotnet/aspnet:8.0`. Therefore, you just need to specify what base Docker image you'll use for your container. You do that by adding `FROM mcr.microsoft.com/dotnet/aspnet:8.0` to your Dockerfile. This is automatically performed by Visual Studio, but if you were to update the version, you update this value. Using an official .NET image repository from Docker Hub with a version number ensures that the same language features are available on all machines (including development, testing, and production). @@ -108,7 +106,7 @@ COPY ${source:-obj/Docker/publish} . ENTRYPOINT ["dotnet", " MySingleContainerWebApp.dll "] ``` -In this case, the image is based on version 8.0 of the official ASP.NET Core Docker image (multi-arch for Linux and Windows). This is the setting `FROM mcr.microsoft.com/dotnet/aspnet:8.0`. (For more information about this base image, see the [ASP.NET Core Docker Image](https://hub.docker.com/_/microsoft-dotnet-aspnet/) page.) In the Dockerfile, you also need to instruct Docker to listen on the TCP port you will use at runtime (in this case, port 80, as configured with the EXPOSE setting). +In this case, the image is based on version 8.0 of the official ASP.NET Core Docker image (multi-arch for Linux and Windows). This is the setting `FROM mcr.microsoft.com/dotnet/aspnet:8.0`. In the Dockerfile, you also need to instruct Docker to listen on the TCP port you will use at runtime (in this case, port 80, as configured with the EXPOSE setting). You can specify additional configuration settings in the Dockerfile, depending on the language and framework you're using. For instance, the ENTRYPOINT line with `["dotnet", "MySingleContainerWebApp.dll"]` tells Docker to run a .NET application. If you're using the SDK and the .NET CLI (dotnet CLI) to build and run the .NET application, this setting would be different. The bottom line is that the ENTRYPOINT line and other settings will be different depending on the language and platform you choose for your application. @@ -128,7 +126,7 @@ You can specify additional configuration settings in the Dockerfile, depending o ### Using multi-arch image repositories -A single repo can contain platform variants, such as a Linux image and a Windows image. This feature allows vendors like Microsoft (base image creators) to create a single repo to cover multiple platforms (that is Linux and Windows). For example, the [.NET](https://hub.docker.com/_/microsoft-dotnet/) repository available in the Docker Hub registry provides support for Linux and Windows Nano Server by using the same repo name. +A single repo can contain platform variants, such as a Linux image and a Windows image. This feature allows vendors like Microsoft (base image creators) to create a single repo to cover multiple platforms (that is Linux and Windows). If you specify a tag, targeting a platform that is explicit like in the following cases: diff --git a/docs/architecture/microservices/multi-container-microservice-net-applications/multi-container-applications-docker-compose.md b/docs/architecture/microservices/multi-container-microservice-net-applications/multi-container-applications-docker-compose.md index 52921bf66b718..888cae4dc6559 100644 --- a/docs/architecture/microservices/multi-container-microservice-net-applications/multi-container-applications-docker-compose.md +++ b/docs/architecture/microservices/multi-container-microservice-net-applications/multi-container-applications-docker-compose.md @@ -158,11 +158,11 @@ docker-compose -f docker-compose.yml -f docker-compose-test.override.yml down #### Production deployments -You can also use Compose to deploy to a remote Docker Engine. A typical case is to deploy to a single Docker host instance (like a production VM or server provisioned with [Docker Machine](https://docs.docker.com/machine/overview/)). +You can also use Compose to deploy to a remote Docker Engine. A typical case is to deploy to a single Docker host instance. -If you are using any other orchestrator (Azure Service Fabric, Kubernetes, etc.), you might need to add setup and metadata configuration settings like those in docker-compose.yml, but in the format required by the other orchestrator. +If you're using any other orchestrator (for example, Azure Service Fabric or Kubernetes), you might need to add setup and metadata configuration settings like those in docker-compose.yml, but in the format required by the other orchestrator. -In any case, docker-compose is a convenient tool and metadata format for development, testing and production workflows, although the production workflow might vary on the orchestrator you are using. +In any case, docker-compose is a convenient tool and metadata format for development, testing, and production workflows, although the production workflow might vary on the orchestrator you are using. ### Using multiple docker-compose files to handle several environments @@ -447,18 +447,16 @@ In the container and microservices model, you are constantly starting containers The .NET team has been doing important work to make .NET and ASP.NET Core a container-optimized framework. Not only is .NET a lightweight framework with a small memory footprint; the team has focused on optimized Docker images for three main scenarios and published them in the Docker Hub registry at *dotnet/*, beginning with version 2.1: -1. **Development**: The priority is the ability to quickly iterate and debug changes, and where size is secondary. +- **Development**: The priority is the ability to quickly iterate and debug changes, and where size is secondary. +- **Build**: The priority is compiling the application, and the image includes binaries and other dependencies to optimize binaries. +- **Production**: The focus is fast deploying and starting of containers, so these images are limited to the binaries and content needed to run the application. -2. **Build**: The priority is compiling the application, and the image includes binaries and other dependencies to optimize binaries. +The .NET team provides four basic variants in [dotnet/](../net-core-net-framework-containers/official-net-docker-images.md): -3. **Production**: The focus is fast deploying and starting of containers, so these images are limited to the binaries and content needed to run the application. - -The .NET team provides four basic variants in [dotnet/](https://hub.docker.com/_/microsoft-dotnet/) (at Docker Hub): - -1. **sdk**: for development and build scenarios -1. **aspnet**: for ASP.NET production scenarios -1. **runtime**: for .NET production scenarios -1. **runtime-deps**: for production scenarios of [self-contained applications](../../../core/deploying/index.md#publish-self-contained) +- **sdk**: for development and build scenarios +- **aspnet**: for ASP.NET production scenarios +- **runtime**: for .NET production scenarios +- **runtime-deps**: for production scenarios of [self-contained applications](../../../core/deploying/index.md#publish-self-contained) For faster startup, runtime images also automatically set aspnetcore\_urls to port 80 and use Ngen to create a native image cache of assemblies. diff --git a/docs/core/compatibility/deployment/8.0/monitor-image.md b/docs/core/compatibility/deployment/8.0/monitor-image.md index 1079ffef4f3fa..c5c9c41cb6bd9 100644 --- a/docs/core/compatibility/deployment/8.0/monitor-image.md +++ b/docs/core/compatibility/deployment/8.0/monitor-image.md @@ -1,5 +1,5 @@ --- -title: "Breaking change: .NET Monitor only includes distroless images" +title: ".NET Monitor only includes distroless images" description: Learn about the breaking change in deployment in .NET 8 where the .NET Monitor 8 image offering only includes distroless images. ms.date: 12/07/2023 ms.custom: linux-related-content @@ -52,11 +52,9 @@ Update your tag usage to indicate which image from the .NET Monitor 8 image offe - `7-alpine` -> `8-ubuntu-chiseled` -You can find a full list of all supported tags on .NET Monitor's [Docker Hub page](https://hub.docker.com/_/microsoft-dotnet-monitor/). - The notable changes when migrating from a full distro image to a distroless image are the use of a non-root user, the lack of a package manager, and the lack of a shell. -If you were using full distro images (for example, Alpine), you may need to adjust the running user of the .NET Monitor image in your deployments when migrating to .NET Monitor 8. You can find guidance for changing the running user in the .NET Monitor 8.0 [compatibility documentation](https://github.com/dotnet/dotnet-monitor/blob/main/documentation/compatibility/8.0/README.md). +If you were using full distro images (for example, Alpine), you might need to adjust the running user of the .NET Monitor image in your deployments when migrating to .NET Monitor 8. You can find guidance for changing the running user in the .NET Monitor 8.0 [compatibility documentation](https://github.com/dotnet/dotnet-monitor/blob/main/documentation/compatibility/8.0/README.md). ## Affected APIs diff --git a/docs/core/diagnostics/diagnostics-in-containers.md b/docs/core/diagnostics/diagnostics-in-containers.md index 371d822cf0c74..1c7143d3e5315 100644 --- a/docs/core/diagnostics/diagnostics-in-containers.md +++ b/docs/core/diagnostics/diagnostics-in-containers.md @@ -1,37 +1,37 @@ --- title: Collect diagnostics in containers -description: In this article, you'll learn how .NET Core diagnostics tools can be used in Docker containers. +description: Learn how .NET diagnostics tools for gathering performance traces and collecting dumps can be used in Docker containers. ms.date: 09/01/2020 --- # Collect diagnostics in containers -The same diagnostics tools that are useful for diagnosing .NET Core issues in other scenarios also work in Docker containers. However, some of the tools require special steps to work in a container. This article covers how tools for gathering performance traces and collecting dumps can be used in Docker containers. +The same diagnostics tools that are useful for diagnosing .NET issues in other scenarios also work in Docker containers. However, some of the tools require special steps to work in a container. This article covers how tools for gathering performance traces and collecting dumps can be used in Docker containers. -## Using .NET CLI tools in a container +## Use .NET CLI tools in a container **These tools apply to: ✔️** .NET Core 3.1 SDK and later versions -The .NET Core global CLI diagnostic tools ([dotnet-counters](dotnet-counters.md), [dotnet-dump](dotnet-dump.md), [dotnet-gcdump](dotnet-gcdump.md), [dotnet-monitor](dotnet-monitor.md), and [dotnet-trace](dotnet-trace.md)) are designed to work in a wide variety of environments and should all work directly in Docker containers. Because of this, these tools are the preferred method of collecting diagnostic information for .NET Core scenarios targeting .NET Core 3.1 or later in containers. +The .NET global CLI diagnostic tools ([dotnet-counters](dotnet-counters.md), [dotnet-dump](dotnet-dump.md), [dotnet-gcdump](dotnet-gcdump.md), [dotnet-monitor](dotnet-monitor.md), and [dotnet-trace](dotnet-trace.md)) are designed to work in a wide variety of environments and should all work directly in Docker containers. Because of this, these tools are the preferred method of collecting diagnostic information for .NET scenarios targeting .NET Core 3.1 or later in containers. You can also install these tools without the .NET SDK by downloading the single-file variants from the links in the previous paragraph. These installs require a global install of the .NET runtime version 3.1 or later, which you can acquire following any of the prescribed methods in the [.NET installation documentation](../install/index.yml) or by consuming any of the official runtime containers. -### Using .NET Core global CLI tools in a sidecar container +### Use .NET global CLI tools in a sidecar container -If you would like to use .NET Core global CLI diagnostic tools to diagnose processes in a different container, bear the following additional requirements in mind: +If you would like to use .NET global CLI diagnostic tools to diagnose processes in a different container, bear the following additional requirements in mind: -1. The containers must [share a process namespace](https://docs.docker.com/engine/reference/run/#pid-settings---pid) (so that tools in the sidecar container can access processes in the target container). -2. The .NET Core global CLI diagnostic tools need access to files the .NET Core runtime writes to the /tmp directory, so the /tmp directory must be shared between the target and sidecar container via a volume mount. This could be done, for example, by having the containers share a common [volume](https://docs.docker.com/storage/volumes/#create-and-manage-volumes) or a Kubernetes [emptyDir](https://kubernetes.io/docs/concepts/storage/volumes/#emptydir) volume. If you attempt to use the diagnostic tools from a sidecar container without sharing the /tmp directory, you will get an error about the process "not running compatible .NET runtime." +1. The containers must [share a process namespace](https://docs.docker.com/reference/cli/docker/container/run/#pid) (so that tools in the sidecar container can access processes in the target container). +2. The .NET global CLI diagnostic tools need access to files the .NET runtime writes to the /tmp directory, so the /tmp directory must be shared between the target and sidecar container via a volume mount. This could be done, for example, by having the containers share a common [volume](https://docs.docker.com/storage/volumes/#create-and-manage-volumes) or a Kubernetes [emptyDir](https://kubernetes.io/docs/concepts/storage/volumes/#emptydir) volume. If you attempt to use the diagnostic tools from a sidecar container without sharing the /tmp directory, you will get an error about the process "not running compatible .NET runtime." -## Using `PerfCollect` in a container +## Use `PerfCollect` in a container **This tool applies to: ✔️** .NET Core 2.1 and later versions The [`PerfCollect`](./trace-perfcollect-lttng.md) script is useful for collecting performance traces and is the recommended tool for collecting traces prior to .NET Core 3.0. If using `PerfCollect` in a container, keep the following requirements in mind: -- `PerfCollect` requires additional capabilities to run the `perf` tool. The minimal set of capabilities required is [`PERFMON`](https://man7.org/linux/man-pages/man7/capabilities.7.html) and [`SYS_PTRACE`](https://man7.org/linux/man-pages/man7/capabilities.7.html). Some environments require [`SYS_ADMIN`](https://man7.org/linux/man-pages/man7/capabilities.7.html). Be sure to start the container with [the necessary capabilities](https://docs.docker.com/engine/reference/run/#runtime-privilege-and-linux-capabilities). If the minimal set doesn't work, then try with the full set. +- `PerfCollect` requires additional capabilities to run the `perf` tool. The minimal set of capabilities required is [`PERFMON`](https://man7.org/linux/man-pages/man7/capabilities.7.html) and [`SYS_PTRACE`](https://man7.org/linux/man-pages/man7/capabilities.7.html). Some environments require [`SYS_ADMIN`](https://man7.org/linux/man-pages/man7/capabilities.7.html). Be sure to start the container with [the necessary capabilities](https://docs.docker.com/engine/security/#linux-kernel-capabilities). If the minimal set doesn't work, then try with the full set. -- `PerfCollect` requires some environment variables be set prior to the app it is profiling starting. These can be set either in a [Dockerfile](https://docs.docker.com/engine/reference/builder/#env) or when [starting the container](https://docs.docker.com/engine/reference/run/#env-environment-variables). Because these variables shouldn't be set in normal production environments, it's common to just add them when starting a container that will be profiled. The two variables that PerfCollect requires are: +- `PerfCollect` requires some environment variables to be set prior to the app it is profiling starting. These can be set either in a [Dockerfile](https://docs.docker.com/engine/reference/builder/#env) or when you [start the container](https://docs.docker.com/reference/cli/docker/container/run/#env). Because these variables shouldn't be set in normal production environments, it's common to just add them when starting a container that will be profiled. The two variables that PerfCollect requires are: - `DOTNET_PerfMapEnabled=1` - `DOTNET_EnableEventLog=1` @@ -41,10 +41,10 @@ The [`PerfCollect`](./trace-perfcollect-lttng.md) script is useful for collectin [!INCLUDE [complus-prefix](../../../includes/complus-prefix.md)] -### Using `PerfCollect` in a sidecar container +### Use `PerfCollect` in a sidecar container -If you would like to run `PerfCollect` in one container to profile a .NET Core process in a different container, the experience is almost the same except for these differences: +If you want to run `PerfCollect` in one container to profile a .NET process in a different container, the experience is almost the same. The differences are: - The environment variables mentioned previously (`DOTNET_PerfMapEnabled` and `DOTNET_EnableEventLog`) must be set for the target container (not the one running `PerfCollect`). - The container running `PerfCollect` must have the `SYS_ADMIN` capability (not the target container). -- The two containers must [share a process namespace](https://docs.docker.com/engine/reference/run/#pid-settings---pid). +- The two containers must [share a process namespace](https://docs.docker.com/reference/cli/docker/container/run/#pid). diff --git a/docs/core/docker/container-images.md b/docs/core/docker/container-images.md index 6b941fd3112c7..a25b6fb68f457 100644 --- a/docs/core/docker/container-images.md +++ b/docs/core/docker/container-images.md @@ -1,13 +1,13 @@ --- title: .NET container images -description: Learn about the various .NET container images available on Docker Hub. +description: Learn about the various .NET container images available on Docker Hub and how they're used for different scenarios. ms.date: 09/22/2023 ms.custom: linux-related-content --- # .NET container images -.NET provides various container images for different scenarios. This article describes the different types of images and how they're used. For more information about official images, see the [Docker Hub: Microsoft .NET](https://hub.docker.com/_/microsoft-dotnet) repository. +.NET provides various container images for different scenarios. This article describes the different types of images and how they're used. ## Tagging scheme diff --git a/docs/core/docker/introduction.md b/docs/core/docker/introduction.md index a941ac488d6b6..0f2db5b44bee4 100644 --- a/docs/core/docker/introduction.md +++ b/docs/core/docker/introduction.md @@ -1,6 +1,6 @@ --- title: Introduction to Docker -description: This article provides an introduction and overview to Docker in the context of a .NET application. +description: This article provides an introduction and overview to Docker containers in the context of a .NET application. ms.date: 09/25/2023 ms.custom: "mvc" --- @@ -13,7 +13,7 @@ Docker provides a great [overview](https://docs.docker.com/engine/docker-overvie ## .NET images -Official .NET container images are published to the [Microsoft Artifact Registry](https://mcr.microsoft.com/) and are discoverable on the [Docker Hub](https://hub.docker.com/_/microsoft-dotnet/). There are [runtime images](https://mcr.microsoft.com/product/dotnet/aspnet/) for production and [SDK images](https://mcr.microsoft.com/product/dotnet/sdk/) for building your code, for Linux (Alpine, Debian, Ubuntu, Mariner) and Windows. For more information, see [.NET container images](container-images.md). +Official .NET container images are published to the [Microsoft Artifact Registry](https://mcr.microsoft.com/). There are [runtime images](https://mcr.microsoft.com/product/dotnet/aspnet/) for production and [SDK images](https://mcr.microsoft.com/product/dotnet/sdk/) for building your code, for Linux (Alpine, Debian, Ubuntu, Mariner) and Windows. For more information, see [.NET container images](container-images.md). .NET images are regularly updated whenever a new .NET patch is published or when an operating system base image is updated. diff --git a/docs/core/install/linux-snap-runtime.md b/docs/core/install/linux-snap-runtime.md index 36a806bdf3ff7..d0461ff934ede 100644 --- a/docs/core/install/linux-snap-runtime.md +++ b/docs/core/install/linux-snap-runtime.md @@ -13,7 +13,7 @@ ms.custom: linux-related-content This article describes how to install the .NET Runtime snap package. .NET Runtime snap packages are provided by and maintained by Canonical. Snaps are a great alternative to the package manager built into your Linux distribution. -A snap is a bundle of an app and its dependencies that works across many different Linux distributions. Snaps are discoverable and installable from the Snap Store. For more information about Snap, see [Getting started with Snap](https://snapcraft.io/docs/getting-started). +A snap is a bundle of an app and its dependencies that works across many different Linux distributions. Snaps are discoverable and installable from the Snap Store. For more information about Snap, see [Quickstart tour](https://snapcraft.io/docs/quickstart-tour). > [!CAUTION] > Snap installations of .NET may have problems running [.NET tools](../tools/global-tools.md). If you wish to use .NET tools, we recommend that you install .NET using the [`dotnet-install` script](linux-scripted-manual.md#scripted-install) or the package manager for the particular Linux distribution. diff --git a/docs/core/install/linux-snap-sdk.md b/docs/core/install/linux-snap-sdk.md index 260857c599748..5ec1efdbabc32 100644 --- a/docs/core/install/linux-snap-sdk.md +++ b/docs/core/install/linux-snap-sdk.md @@ -13,7 +13,7 @@ ms.custom: linux-related-content This article describes how to install the .NET SDK snap package. .NET SDK snap packages are provided by and maintained by Canonical. Snaps are a great alternative to the package manager built into your Linux distribution. -A snap is a bundle of an app and its dependencies that works across many different Linux distributions. Snaps are discoverable and installable from the Snap Store. For more information about Snap, see [Getting started with Snap](https://snapcraft.io/docs/getting-started). +A snap is a bundle of an app and its dependencies that works across many different Linux distributions. Snaps are discoverable and installable from the Snap Store. For more information about Snap, see [Quickstart tour](https://snapcraft.io/docs/quickstart-tour). > [!CAUTION] > Snap installations of .NET may have problems running [.NET tools](../tools/global-tools.md). If you wish to use .NET tools, we recommend that you install .NET using the [`dotnet-install` script](linux-scripted-manual.md#scripted-install) or the package manager for the particular Linux distribution. diff --git a/docs/core/install/macos.md b/docs/core/install/macos.md index cb7b96fe8438c..0582286e1efdd 100644 --- a/docs/core/install/macos.md +++ b/docs/core/install/macos.md @@ -236,9 +236,9 @@ To learn how to use the .NET CLI, see [.NET CLI overview](../tools/index.md). Containers provide a lightweight way to isolate your application from the rest of the host system. Containers on the same machine share just the kernel and use resources given to your application. -.NET can run in a Docker container. Official .NET Docker images are published to the Microsoft Container Registry (MCR) and are discoverable at the [Microsoft .NET Docker Hub repository](https://hub.docker.com/_/microsoft-dotnet/). Each repository contains images for different combinations of the .NET (SDK or Runtime) and OS that you can use. +.NET can run in a Docker container. Official .NET Docker images are published to the Microsoft Container Registry (MCR). -Microsoft provides images that are tailored for specific scenarios. For example, the [ASP.NET Core repository](https://hub.docker.com/_/microsoft-dotnet-aspnet) provides images that are built for running ASP.NET Core apps in production. +Microsoft provides images that are tailored for specific scenarios. Each repository contains images for different combinations of the .NET (SDK or Runtime) and OS that you can use. For example, the [ASP.NET Core repository](https://hub.docker.com/_/microsoft-dotnet-aspnet) provides images that are built for running ASP.NET Core apps in production. For more information about using .NET in a Docker container, see [Introduction to .NET and Docker](../docker/introduction.md) and [Samples](https://github.com/dotnet/dotnet-docker/blob/main/samples/README.md). diff --git a/docs/core/testing/unit-testing-mstest-writing-tests-attributes.md b/docs/core/testing/unit-testing-mstest-writing-tests-attributes.md index dd0d360386c64..ea180f8a9b088 100644 --- a/docs/core/testing/unit-testing-mstest-writing-tests-attributes.md +++ b/docs/core/testing/unit-testing-mstest-writing-tests-attributes.md @@ -38,7 +38,7 @@ Example: ```csharp [TestClass] public class MyTestClass -{ +{ } ``` @@ -65,7 +65,7 @@ public class MyTestClass ## Attributes used for data-driven testing -Use the following elements to set up data-driven tests. For more information, see [Create a data-driven unit test](/visualstudio/test/how-to-create-a-data-driven-unit-test.md) and [Use a configuration file to define a data source](/visualstudio/test/walkthrough-using-a-configuration-file-to-define-a-data-source.md). +Use the following elements to set up data-driven tests. For more information, see [Create a data-driven unit test](/visualstudio/test/how-to-create-a-data-driven-unit-test) and [Use a configuration file to define a data source](/visualstudio/test/walkthrough-using-a-configuration-file-to-define-a-data-source). - - @@ -88,7 +88,7 @@ public class TestClass { // Omitted for brevity. } - + [TestMethod] [DataRow(new string[] { "line1", "line2" })] public void TestMethod2(string[] lines) @@ -368,7 +368,7 @@ And here you can see its [constructors]( Date: Thu, 15 Aug 2024 15:05:10 +0100 Subject: [PATCH 02/12] Bigboybamo patch 4 (#42178) * Update access-modifiers.md Added description for file access type modifier * Update ref.md Pass Value by reference example * Update ref.md 2. Return value to caller by reference * Update ref.md 3. Declaration of a local variable * Update ref.md 4. Part of Assignment operator * Update ref.md 5. As struct declaration * Update ref.md 6. As Ref fields * Update ref.md 7. Generic Type parameter --- .../csharp/language-reference/keywords/ref.md | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/docs/csharp/language-reference/keywords/ref.md b/docs/csharp/language-reference/keywords/ref.md index be288cf2b1d07..ac0dbd4cedb80 100644 --- a/docs/csharp/language-reference/keywords/ref.md +++ b/docs/csharp/language-reference/keywords/ref.md @@ -13,9 +13,38 @@ helpviewer_keywords: You use the `ref` keyword in the following contexts: - In a method signature and in a method call, to pass an argument to a method [by reference](./method-parameters.md#ref-parameter-modifier). + +:::code language="csharp" source="./snippets/PassParameters.cs" id="PassByValueOrReference"::: + - In a method signature, to return a value to the caller by reference. For more information, see [`ref return`](../statements/jump-statements.md#ref-returns). + +:::code language="csharp" source="../statements/snippets/jump-statements/ReturnStatement.cs" id="RefReturn"::: + - In a declaration of a local variable, to declare a [reference variable](../statements/declarations.md#reference-variables). + +```csharp +ref int aliasOfvariable = ref variable; +``` + - As the part of a [conditional ref expression](../operators/conditional-operator.md#conditional-ref-expression) or a [ref assignment operator](../operators/assignment-operator.md#ref-assignment). + +:::code language="csharp" source="../operators/snippets/shared/AssignmentOperator.cs" id="SnippetRefAssignment"::: + - In a `struct` declaration, to declare a `ref struct`. For more information, see the [`ref` structure types](../builtin-types/ref-struct.md) article. + +:::code language="csharp" source="../builtin-types/snippets/shared/StructType.cs" id="SnippetRefStruct"::: + - In a `ref struct` definition, to declare a `ref` field. For more information, see the [`ref` fields](../builtin-types/ref-struct.md#ref-fields) section of the [`ref` structure types](../builtin-types/ref-struct.md) article. + +:::code language="csharp" source="../builtin-types/snippets/shared/StructType.cs" id="SnippetRefField"::: + - In a generic type declaration to specify that a type parameter [`allows ref struct`](../../programming-guide/generics/constraints-on-type-parameters.md#allows-ref-struct) types. + +```csharp +class SomeClass + where T : allows ref struct + where S : T +{ + // etc +} +``` From 0c5375396d0cbb2e8f4fd0c7e0ac7f96d08b6b28 Mon Sep 17 00:00:00 2001 From: Azure SDK Bot <53356347+azure-sdk@users.noreply.github.com> Date: Thu, 15 Aug 2024 07:05:33 -0700 Subject: [PATCH 03/12] Update package index with latest published versions (#42174) --- docs/azure/includes/dotnet-all.md | 6 +++--- docs/azure/includes/dotnet-new.md | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/azure/includes/dotnet-all.md b/docs/azure/includes/dotnet-all.md index 12e7b73f6efbd..1afe541b0907d 100644 --- a/docs/azure/includes/dotnet-all.md +++ b/docs/azure/includes/dotnet-all.md @@ -39,7 +39,7 @@ | Event Grid | NuGet [4.24.1](https://www.nuget.org/packages/Azure.Messaging.EventGrid/4.24.1) | [docs](/dotnet/api/overview/azure/Messaging.EventGrid-readme) | GitHub [4.24.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Messaging.EventGrid_4.24.1/sdk/eventgrid/Azure.Messaging.EventGrid/) | | Event Grid Namespaces | NuGet [1.0.0](https://www.nuget.org/packages/Azure.Messaging.EventGrid.Namespaces/1.0.0) | [docs](/dotnet/api/overview/azure/Messaging.EventGrid.Namespaces-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Messaging.EventGrid.Namespaces_1.0.0/sdk/eventgrid/Azure.Messaging.EventGrid.Namespaces/) | | Event Hubs | NuGet [5.11.5](https://www.nuget.org/packages/Azure.Messaging.EventHubs/5.11.5)
NuGet [5.12.0-beta.1](https://www.nuget.org/packages/Azure.Messaging.EventHubs/5.12.0-beta.1) | [docs](/dotnet/api/overview/azure/Messaging.EventHubs-readme) | GitHub [5.11.5](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Messaging.EventHubs_5.11.5/sdk/eventhub/Azure.Messaging.EventHubs/)
GitHub [5.12.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Messaging.EventHubs_5.12.0-beta.1/sdk/eventhub/Azure.Messaging.EventHubs/) | -| Event Hubs - Event Processor | NuGet [5.11.4](https://www.nuget.org/packages/Azure.Messaging.EventHubs.Processor/5.11.4)
NuGet [5.12.0-beta.1](https://www.nuget.org/packages/Azure.Messaging.EventHubs.Processor/5.12.0-beta.1) | [docs](/dotnet/api/overview/azure/Messaging.EventHubs.Processor-readme) | GitHub [5.11.4](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Messaging.EventHubs.Processor_5.11.4/sdk/eventhub/Azure.Messaging.EventHubs.Processor/)
GitHub [5.12.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Messaging.EventHubs.Processor_5.12.0-beta.1/sdk/eventhub/Azure.Messaging.EventHubs.Processor/) | +| Event Hubs - Event Processor | NuGet [5.11.5](https://www.nuget.org/packages/Azure.Messaging.EventHubs.Processor/5.11.5)
NuGet [5.12.0-beta.1](https://www.nuget.org/packages/Azure.Messaging.EventHubs.Processor/5.12.0-beta.1) | [docs](/dotnet/api/overview/azure/Messaging.EventHubs.Processor-readme) | GitHub [5.11.5](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Messaging.EventHubs.Processor_5.11.5/sdk/eventhub/Azure.Messaging.EventHubs.Processor/)
GitHub [5.12.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Messaging.EventHubs.Processor_5.12.0-beta.1/sdk/eventhub/Azure.Messaging.EventHubs.Processor/) | | Face | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.AI.Vision.Face/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/AI.Vision.Face-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.Vision.Face_1.0.0-beta.1/sdk/face/Azure.AI.Vision.Face/) | | FarmBeats | NuGet [1.0.0-beta.2](https://www.nuget.org/packages/Azure.Verticals.AgriFood.Farming/1.0.0-beta.2) | [docs](/dotnet/api/overview/azure/Verticals.AgriFood.Farming-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Verticals.AgriFood.Farming_1.0.0-beta.2/sdk/agrifood/Azure.Verticals.AgriFood.Farming/) | | Form Recognizer | NuGet [4.1.0](https://www.nuget.org/packages/Azure.AI.FormRecognizer/4.1.0) | [docs](/dotnet/api/overview/azure/AI.FormRecognizer-readme) | GitHub [4.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.FormRecognizer_4.1.0/sdk/formrecognizer/Azure.AI.FormRecognizer/) | @@ -112,7 +112,7 @@ | Synapse - Managed Private Endpoints | NuGet [1.0.0-beta.5](https://www.nuget.org/packages/Azure.Analytics.Synapse.ManagedPrivateEndpoints/1.0.0-beta.5) | [docs](/dotnet/api/overview/azure/Analytics.Synapse.ManagedPrivateEndpoints-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.5](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Analytics.Synapse.ManagedPrivateEndpoints_1.0.0-beta.5/sdk/synapse/Azure.Analytics.Synapse.ManagedPrivateEndpoints/) | | Synapse - Monitoring | NuGet [1.0.0-beta.3](https://www.nuget.org/packages/Azure.Analytics.Synapse.Monitoring/1.0.0-beta.3) | [docs](/dotnet/api/overview/azure/Analytics.Synapse.Monitoring-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Analytics.Synapse.Monitoring_1.0.0-beta.3/sdk/synapse/Azure.Analytics.Synapse.Monitoring/) | | Synapse - Spark | NuGet [1.0.0-preview.8](https://www.nuget.org/packages/Azure.Analytics.Synapse.Spark/1.0.0-preview.8) | [docs](/dotnet/api/overview/azure/Analytics.Synapse.Spark-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-preview.8](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Analytics.Synapse.Spark_1.0.0-preview.8/sdk/synapse/Azure.Analytics.Synapse.Spark/) | -| System.ClientModel | NuGet [1.0.0](https://www.nuget.org/packages/System.ClientModel/1.0.0)
NuGet [1.1.0-beta.6](https://www.nuget.org/packages/System.ClientModel/1.1.0-beta.6) | [docs](/dotnet/api/overview/azure/System.ClientModel-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/System.ClientModel_1.0.0/sdk/core/System.ClientModel/)
GitHub [1.1.0-beta.6](https://github.com/Azure/azure-sdk-for-net/tree/System.ClientModel_1.1.0-beta.6/sdk/core/System.ClientModel/) | +| System.ClientModel | NuGet [1.0.0](https://www.nuget.org/packages/System.ClientModel/1.0.0)
NuGet [1.1.0-beta.7](https://www.nuget.org/packages/System.ClientModel/1.1.0-beta.7) | [docs](/dotnet/api/overview/azure/System.ClientModel-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/System.ClientModel_1.0.0/sdk/core/System.ClientModel/)
GitHub [1.1.0-beta.7](https://github.com/Azure/azure-sdk-for-net/tree/System.ClientModel_1.1.0-beta.7/sdk/core/System.ClientModel/) | | Tables | NuGet [12.9.0](https://www.nuget.org/packages/Azure.Data.Tables/12.9.0) | [docs](/dotnet/api/overview/azure/Data.Tables-readme) | GitHub [12.9.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Data.Tables_12.9.0/sdk/tables/Azure.Data.Tables/) | | Text Analytics | NuGet [5.3.0](https://www.nuget.org/packages/Azure.AI.TextAnalytics/5.3.0) | [docs](/dotnet/api/overview/azure/AI.TextAnalytics-readme) | GitHub [5.3.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.TextAnalytics_5.3.0/sdk/textanalytics/Azure.AI.TextAnalytics/) | | Text Translation | NuGet [1.0.0](https://www.nuget.org/packages/Azure.AI.Translation.Text/1.0.0) | [docs](/dotnet/api/overview/azure/AI.Translation.Text-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.Translation.Text_1.0.0/sdk/translation/Azure.AI.Translation.Text/) | @@ -162,7 +162,7 @@ | Resource Management - Automanage | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.Automanage/1.1.0) | [docs](/dotnet/api/overview/azure/ResourceManager.Automanage-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Automanage_1.1.0/sdk/automanage/Azure.ResourceManager.Automanage/) | | Resource Management - Automation | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.Automation/1.1.0) | [docs](/dotnet/api/overview/azure/ResourceManager.Automation-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Automation_1.1.0/sdk/automation/Azure.ResourceManager.Automation/) | | Resource Management - Azure AI Search | NuGet [1.2.3](https://www.nuget.org/packages/Azure.ResourceManager.Search/1.2.3)
NuGet [1.3.0-beta.3](https://www.nuget.org/packages/Azure.ResourceManager.Search/1.3.0-beta.3) | [docs](/dotnet/api/overview/azure/ResourceManager.Search-readme) | GitHub [1.2.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Search_1.2.3/sdk/search/Azure.ResourceManager.Search/)
GitHub [1.3.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Search_1.3.0-beta.3/sdk/search/Azure.ResourceManager.Search/) | -| Resource Management - Azure Stack HCI | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.Hci/1.1.0)
NuGet [1.2.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.Hci/1.2.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.Hci-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Hci_1.1.0/sdk/azurestackhci/Azure.ResourceManager.Hci/)
GitHub [1.2.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Hci_1.2.0-beta.1/sdk/azurestackhci/Azure.ResourceManager.Hci/) | +| Resource Management - Azure Stack HCI | NuGet [1.2.0](https://www.nuget.org/packages/Azure.ResourceManager.Hci/1.2.0) | [docs](/dotnet/api/overview/azure/ResourceManager.Hci-readme) | GitHub [1.2.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Hci_1.2.0/sdk/azurestackhci/Azure.ResourceManager.Hci/) | | Resource Management - Azure VMware Solution | NuGet [1.3.0](https://www.nuget.org/packages/Azure.ResourceManager.Avs/1.3.0) | [docs](/dotnet/api/overview/azure/ResourceManager.Avs-readme) | GitHub [1.3.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Avs_1.3.0/sdk/avs/Azure.ResourceManager.Avs/) | | Resource Management - Batch | NuGet [1.4.0](https://www.nuget.org/packages/Azure.ResourceManager.Batch/1.4.0) | [docs](/dotnet/api/overview/azure/ResourceManager.Batch-readme) | GitHub [1.4.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Batch_1.4.0/sdk/batch/Azure.ResourceManager.Batch/) | | Resource Management - Billing | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.Billing/1.1.0) | [docs](/dotnet/api/overview/azure/ResourceManager.Billing-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Billing_1.1.0/sdk/billing/Azure.ResourceManager.Billing/) | diff --git a/docs/azure/includes/dotnet-new.md b/docs/azure/includes/dotnet-new.md index 1ddd29b125202..6943a7a3635c8 100644 --- a/docs/azure/includes/dotnet-new.md +++ b/docs/azure/includes/dotnet-new.md @@ -40,7 +40,7 @@ | Event Grid | NuGet [4.24.1](https://www.nuget.org/packages/Azure.Messaging.EventGrid/4.24.1) | [docs](/dotnet/api/overview/azure/Messaging.EventGrid-readme) | GitHub [4.24.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Messaging.EventGrid_4.24.1/sdk/eventgrid/Azure.Messaging.EventGrid/) | | Event Grid Namespaces | NuGet [1.0.0](https://www.nuget.org/packages/Azure.Messaging.EventGrid.Namespaces/1.0.0) | [docs](/dotnet/api/overview/azure/Messaging.EventGrid.Namespaces-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Messaging.EventGrid.Namespaces_1.0.0/sdk/eventgrid/Azure.Messaging.EventGrid.Namespaces/) | | Event Hubs | NuGet [5.11.5](https://www.nuget.org/packages/Azure.Messaging.EventHubs/5.11.5)
NuGet [5.12.0-beta.1](https://www.nuget.org/packages/Azure.Messaging.EventHubs/5.12.0-beta.1) | [docs](/dotnet/api/overview/azure/Messaging.EventHubs-readme) | GitHub [5.11.5](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Messaging.EventHubs_5.11.5/sdk/eventhub/Azure.Messaging.EventHubs/)
GitHub [5.12.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Messaging.EventHubs_5.12.0-beta.1/sdk/eventhub/Azure.Messaging.EventHubs/) | -| Event Hubs - Event Processor | NuGet [5.11.4](https://www.nuget.org/packages/Azure.Messaging.EventHubs.Processor/5.11.4)
NuGet [5.12.0-beta.1](https://www.nuget.org/packages/Azure.Messaging.EventHubs.Processor/5.12.0-beta.1) | [docs](/dotnet/api/overview/azure/Messaging.EventHubs.Processor-readme) | GitHub [5.11.4](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Messaging.EventHubs.Processor_5.11.4/sdk/eventhub/Azure.Messaging.EventHubs.Processor/)
GitHub [5.12.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Messaging.EventHubs.Processor_5.12.0-beta.1/sdk/eventhub/Azure.Messaging.EventHubs.Processor/) | +| Event Hubs - Event Processor | NuGet [5.11.5](https://www.nuget.org/packages/Azure.Messaging.EventHubs.Processor/5.11.5)
NuGet [5.12.0-beta.1](https://www.nuget.org/packages/Azure.Messaging.EventHubs.Processor/5.12.0-beta.1) | [docs](/dotnet/api/overview/azure/Messaging.EventHubs.Processor-readme) | GitHub [5.11.5](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Messaging.EventHubs.Processor_5.11.5/sdk/eventhub/Azure.Messaging.EventHubs.Processor/)
GitHub [5.12.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Messaging.EventHubs.Processor_5.12.0-beta.1/sdk/eventhub/Azure.Messaging.EventHubs.Processor/) | | Face | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.AI.Vision.Face/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/AI.Vision.Face-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.Vision.Face_1.0.0-beta.1/sdk/face/Azure.AI.Vision.Face/) | | FarmBeats | NuGet [1.0.0-beta.2](https://www.nuget.org/packages/Azure.Verticals.AgriFood.Farming/1.0.0-beta.2) | [docs](/dotnet/api/overview/azure/Verticals.AgriFood.Farming-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Verticals.AgriFood.Farming_1.0.0-beta.2/sdk/agrifood/Azure.Verticals.AgriFood.Farming/) | | Form Recognizer | NuGet [4.1.0](https://www.nuget.org/packages/Azure.AI.FormRecognizer/4.1.0) | [docs](/dotnet/api/overview/azure/AI.FormRecognizer-readme) | GitHub [4.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.FormRecognizer_4.1.0/sdk/formrecognizer/Azure.AI.FormRecognizer/) | @@ -116,7 +116,7 @@ | Synapse - Managed Private Endpoints | NuGet [1.0.0-beta.5](https://www.nuget.org/packages/Azure.Analytics.Synapse.ManagedPrivateEndpoints/1.0.0-beta.5) | [docs](/dotnet/api/overview/azure/Analytics.Synapse.ManagedPrivateEndpoints-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.5](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Analytics.Synapse.ManagedPrivateEndpoints_1.0.0-beta.5/sdk/synapse/Azure.Analytics.Synapse.ManagedPrivateEndpoints/) | | Synapse - Monitoring | NuGet [1.0.0-beta.3](https://www.nuget.org/packages/Azure.Analytics.Synapse.Monitoring/1.0.0-beta.3) | [docs](/dotnet/api/overview/azure/Analytics.Synapse.Monitoring-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Analytics.Synapse.Monitoring_1.0.0-beta.3/sdk/synapse/Azure.Analytics.Synapse.Monitoring/) | | Synapse - Spark | NuGet [1.0.0-preview.8](https://www.nuget.org/packages/Azure.Analytics.Synapse.Spark/1.0.0-preview.8) | [docs](/dotnet/api/overview/azure/Analytics.Synapse.Spark-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-preview.8](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Analytics.Synapse.Spark_1.0.0-preview.8/sdk/synapse/Azure.Analytics.Synapse.Spark/) | -| System.ClientModel | NuGet [1.0.0](https://www.nuget.org/packages/System.ClientModel/1.0.0)
NuGet [1.1.0-beta.6](https://www.nuget.org/packages/System.ClientModel/1.1.0-beta.6) | [docs](/dotnet/api/overview/azure/System.ClientModel-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/System.ClientModel_1.0.0/sdk/core/System.ClientModel/)
GitHub [1.1.0-beta.6](https://github.com/Azure/azure-sdk-for-net/tree/System.ClientModel_1.1.0-beta.6/sdk/core/System.ClientModel/) | +| System.ClientModel | NuGet [1.0.0](https://www.nuget.org/packages/System.ClientModel/1.0.0)
NuGet [1.1.0-beta.7](https://www.nuget.org/packages/System.ClientModel/1.1.0-beta.7) | [docs](/dotnet/api/overview/azure/System.ClientModel-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/System.ClientModel_1.0.0/sdk/core/System.ClientModel/)
GitHub [1.1.0-beta.7](https://github.com/Azure/azure-sdk-for-net/tree/System.ClientModel_1.1.0-beta.7/sdk/core/System.ClientModel/) | | Tables | NuGet [12.9.0](https://www.nuget.org/packages/Azure.Data.Tables/12.9.0) | [docs](/dotnet/api/overview/azure/Data.Tables-readme) | GitHub [12.9.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Data.Tables_12.9.0/sdk/tables/Azure.Data.Tables/) | | Text Analytics | NuGet [5.3.0](https://www.nuget.org/packages/Azure.AI.TextAnalytics/5.3.0) | [docs](/dotnet/api/overview/azure/AI.TextAnalytics-readme) | GitHub [5.3.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.TextAnalytics_5.3.0/sdk/textanalytics/Azure.AI.TextAnalytics/) | | Text Translation | NuGet [1.0.0](https://www.nuget.org/packages/Azure.AI.Translation.Text/1.0.0) | [docs](/dotnet/api/overview/azure/AI.Translation.Text-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.Translation.Text_1.0.0/sdk/translation/Azure.AI.Translation.Text/) | @@ -167,7 +167,7 @@ | Resource Management - Automanage | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.Automanage/1.1.0) | [docs](/dotnet/api/overview/azure/ResourceManager.Automanage-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Automanage_1.1.0/sdk/automanage/Azure.ResourceManager.Automanage/) | | Resource Management - Automation | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.Automation/1.1.0) | [docs](/dotnet/api/overview/azure/ResourceManager.Automation-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Automation_1.1.0/sdk/automation/Azure.ResourceManager.Automation/) | | Resource Management - Azure AI Search | NuGet [1.2.3](https://www.nuget.org/packages/Azure.ResourceManager.Search/1.2.3)
NuGet [1.3.0-beta.3](https://www.nuget.org/packages/Azure.ResourceManager.Search/1.3.0-beta.3) | [docs](/dotnet/api/overview/azure/ResourceManager.Search-readme) | GitHub [1.2.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Search_1.2.3/sdk/search/Azure.ResourceManager.Search/)
GitHub [1.3.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Search_1.3.0-beta.3/sdk/search/Azure.ResourceManager.Search/) | -| Resource Management - Azure Stack HCI | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.Hci/1.1.0)
NuGet [1.2.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.Hci/1.2.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.Hci-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Hci_1.1.0/sdk/azurestackhci/Azure.ResourceManager.Hci/)
GitHub [1.2.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Hci_1.2.0-beta.1/sdk/azurestackhci/Azure.ResourceManager.Hci/) | +| Resource Management - Azure Stack HCI | NuGet [1.2.0](https://www.nuget.org/packages/Azure.ResourceManager.Hci/1.2.0) | [docs](/dotnet/api/overview/azure/ResourceManager.Hci-readme) | GitHub [1.2.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Hci_1.2.0/sdk/azurestackhci/Azure.ResourceManager.Hci/) | | Resource Management - Azure VMware Solution | NuGet [1.3.0](https://www.nuget.org/packages/Azure.ResourceManager.Avs/1.3.0) | [docs](/dotnet/api/overview/azure/ResourceManager.Avs-readme) | GitHub [1.3.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Avs_1.3.0/sdk/avs/Azure.ResourceManager.Avs/) | | Resource Management - Batch | NuGet [1.4.0](https://www.nuget.org/packages/Azure.ResourceManager.Batch/1.4.0) | [docs](/dotnet/api/overview/azure/ResourceManager.Batch-readme) | GitHub [1.4.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Batch_1.4.0/sdk/batch/Azure.ResourceManager.Batch/) | | Resource Management - Billing | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.Billing/1.1.0) | [docs](/dotnet/api/overview/azure/ResourceManager.Billing-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Billing_1.1.0/sdk/billing/Azure.ResourceManager.Billing/) | From 4ac8d41114591cdabc97ab0ddf86d674dda4e05e Mon Sep 17 00:00:00 2001 From: Azure SDK Bot <53356347+azure-sdk@users.noreply.github.com> Date: Thu, 15 Aug 2024 09:32:10 -0700 Subject: [PATCH 04/12] Update package index with latest published versions (#42188) --- docs/azure/includes/dotnet-all.md | 5 +++-- docs/azure/includes/dotnet-new.md | 5 +++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/docs/azure/includes/dotnet-all.md b/docs/azure/includes/dotnet-all.md index 1afe541b0907d..53bc61db0f28b 100644 --- a/docs/azure/includes/dotnet-all.md +++ b/docs/azure/includes/dotnet-all.md @@ -34,7 +34,7 @@ | Dev Center | NuGet [1.0.0](https://www.nuget.org/packages/Azure.Developer.DevCenter/1.0.0) | [docs](/dotnet/api/overview/azure/Developer.DevCenter-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Developer.DevCenter_1.0.0/sdk/devcenter/Azure.Developer.DevCenter/) | | Device Update | NuGet [1.0.0](https://www.nuget.org/packages/Azure.IoT.DeviceUpdate/1.0.0) | [docs](/dotnet/api/overview/azure/IoT.DeviceUpdate-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.IoT.DeviceUpdate_1.0.0/sdk/deviceupdate/Azure.IoT.DeviceUpdate/) | | Digital Twins | NuGet [1.4.0](https://www.nuget.org/packages/Azure.DigitalTwins.Core/1.4.0) | [docs](/dotnet/api/overview/azure/DigitalTwins.Core-readme) | GitHub [1.4.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.DigitalTwins.Core_1.4.0/sdk/digitaltwins/Azure.DigitalTwins.Core/) | -| Document Intelligence | NuGet [1.0.0-beta.2](https://www.nuget.org/packages/Azure.AI.DocumentIntelligence/1.0.0-beta.2) | [docs](/dotnet/api/overview/azure/AI.DocumentIntelligence-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.DocumentIntelligence_1.0.0-beta.2/sdk/documentintelligence/Azure.AI.DocumentIntelligence/) | +| Document Intelligence | NuGet [1.0.0-beta.3](https://www.nuget.org/packages/Azure.AI.DocumentIntelligence/1.0.0-beta.3) | [docs](/dotnet/api/overview/azure/AI.DocumentIntelligence-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.DocumentIntelligence_1.0.0-beta.3/sdk/documentintelligence/Azure.AI.DocumentIntelligence/) | | Document Translation | NuGet [1.0.0](https://www.nuget.org/packages/Azure.AI.Translation.Document/1.0.0)
NuGet [2.0.0-beta.2](https://www.nuget.org/packages/Azure.AI.Translation.Document/2.0.0-beta.2) | [docs](/dotnet/api/overview/azure/AI.Translation.Document-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.Translation.Document_1.0.0/sdk/translation/Azure.AI.Translation.Document/)
GitHub [2.0.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.Translation.Document_2.0.0-beta.2/sdk/translation/Azure.AI.Translation.Document/) | | Event Grid | NuGet [4.24.1](https://www.nuget.org/packages/Azure.Messaging.EventGrid/4.24.1) | [docs](/dotnet/api/overview/azure/Messaging.EventGrid-readme) | GitHub [4.24.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Messaging.EventGrid_4.24.1/sdk/eventgrid/Azure.Messaging.EventGrid/) | | Event Grid Namespaces | NuGet [1.0.0](https://www.nuget.org/packages/Azure.Messaging.EventGrid.Namespaces/1.0.0) | [docs](/dotnet/api/overview/azure/Messaging.EventGrid.Namespaces-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Messaging.EventGrid.Namespaces_1.0.0/sdk/eventgrid/Azure.Messaging.EventGrid.Namespaces/) | @@ -219,7 +219,7 @@ | Resource Management - Event Grid | NuGet [1.0.1](https://www.nuget.org/packages/Azure.ResourceManager.EventGrid/1.0.1)
NuGet [1.1.0-beta.5](https://www.nuget.org/packages/Azure.ResourceManager.EventGrid/1.1.0-beta.5) | [docs](/dotnet/api/overview/azure/ResourceManager.EventGrid-readme) | GitHub [1.0.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.EventGrid_1.0.1/sdk/eventgrid/Azure.ResourceManager.EventGrid/)
GitHub [1.1.0-beta.5](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.EventGrid_1.1.0-beta.5/sdk/eventgrid/Azure.ResourceManager.EventGrid/) | | Resource Management - Event Hubs | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.EventHubs/1.1.0) | [docs](/dotnet/api/overview/azure/ResourceManager.EventHubs-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.EventHubs_1.1.0/sdk/eventhub/Azure.ResourceManager.EventHubs/) | | Resource Management - Extended Location | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.ExtendedLocations/1.1.0) | [docs](/dotnet/api/overview/azure/ResourceManager.ExtendedLocations-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ExtendedLocations_1.1.0/sdk/extendedlocation/Azure.ResourceManager.ExtendedLocations/) | -| Resource Management - Fabric | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.Fabric/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.Fabric-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Fabric_1.0.0-beta.1/sdk/fabric/Azure.ResourceManager.Fabric/) | +| Resource Management - Fabric | NuGet [1.0.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.Fabric/1.0.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.Fabric-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Fabric_1.0.0-beta.2/sdk/fabric/Azure.ResourceManager.Fabric/) | | Resource Management - Fluid Relay | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.FluidRelay/1.1.0) | [docs](/dotnet/api/overview/azure/ResourceManager.FluidRelay-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.FluidRelay_1.1.0/sdk/fluidrelay/Azure.ResourceManager.FluidRelay/) | | Resource Management - Front Door | NuGet [1.3.0](https://www.nuget.org/packages/Azure.ResourceManager.FrontDoor/1.3.0) | [docs](/dotnet/api/overview/azure/ResourceManager.FrontDoor-readme) | GitHub [1.3.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.FrontDoor_1.3.0/sdk/frontdoor/Azure.ResourceManager.FrontDoor/) | | Resource Management - Graph Services | NuGet [1.1.1](https://www.nuget.org/packages/Azure.ResourceManager.GraphServices/1.1.1) | [docs](/dotnet/api/overview/azure/ResourceManager.GraphServices-readme) | GitHub [1.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.GraphServices_1.1.1/sdk/graphservices/Azure.ResourceManager.GraphServices/) | @@ -229,6 +229,7 @@ | Resource Management - HDInsight Containers | NuGet [1.0.0-beta.4](https://www.nuget.org/packages/Azure.ResourceManager.HDInsight.Containers/1.0.0-beta.4) | [docs](/dotnet/api/overview/azure/ResourceManager.HDInsight.Containers-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.4](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.HDInsight.Containers_1.0.0-beta.4/sdk/hdinsightcontainers/Azure.ResourceManager.HDInsight.Containers/) | | Resource Management - Health Bot | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.HealthBot/1.1.0) | [docs](/dotnet/api/overview/azure/ResourceManager.HealthBot-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.HealthBot_1.1.0/sdk/healthbot/Azure.ResourceManager.HealthBot/) | | Resource Management - Healthcare APIs | NuGet [1.3.0](https://www.nuget.org/packages/Azure.ResourceManager.HealthcareApis/1.3.0) | [docs](/dotnet/api/overview/azure/ResourceManager.HealthcareApis-readme) | GitHub [1.3.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.HealthcareApis_1.3.0/sdk/healthcareapis/Azure.ResourceManager.HealthcareApis/) | +| Resource Management - Healthdataaiservices | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.HealthDataAIServices/1.0.0-beta.1) | | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.HealthDataAIServices_1.0.0-beta.1/sdk/healthdataaiservices/Azure.ResourceManager.HealthDataAIServices/) | | Resource Management - Hybrid Compute | NuGet [1.0.0-beta.10](https://www.nuget.org/packages/Azure.ResourceManager.HybridCompute/1.0.0-beta.10) | [docs](/dotnet/api/overview/azure/ResourceManager.HybridCompute-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.10](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.HybridCompute_1.0.0-beta.10/sdk/hybridcompute/Azure.ResourceManager.HybridCompute/) | | Resource Management - Hybrid Connectivity | NuGet [1.0.0-beta.4](https://www.nuget.org/packages/Azure.ResourceManager.HybridConnectivity/1.0.0-beta.4) | [docs](/dotnet/api/overview/azure/ResourceManager.HybridConnectivity-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.4](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.HybridConnectivity_1.0.0-beta.4/sdk/hybridconnectivity/Azure.ResourceManager.HybridConnectivity/) | | Resource Management - Hybrid Container Service | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.HybridContainerService/1.0.0) | [docs](/dotnet/api/overview/azure/ResourceManager.HybridContainerService-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.HybridContainerService_1.0.0/sdk/hybridaks/Azure.ResourceManager.HybridContainerService/) | diff --git a/docs/azure/includes/dotnet-new.md b/docs/azure/includes/dotnet-new.md index 6943a7a3635c8..3f341b1e1ae9b 100644 --- a/docs/azure/includes/dotnet-new.md +++ b/docs/azure/includes/dotnet-new.md @@ -35,7 +35,7 @@ | Dev Center | NuGet [1.0.0](https://www.nuget.org/packages/Azure.Developer.DevCenter/1.0.0) | [docs](/dotnet/api/overview/azure/Developer.DevCenter-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Developer.DevCenter_1.0.0/sdk/devcenter/Azure.Developer.DevCenter/) | | Device Update | NuGet [1.0.0](https://www.nuget.org/packages/Azure.IoT.DeviceUpdate/1.0.0) | [docs](/dotnet/api/overview/azure/IoT.DeviceUpdate-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.IoT.DeviceUpdate_1.0.0/sdk/deviceupdate/Azure.IoT.DeviceUpdate/) | | Digital Twins | NuGet [1.4.0](https://www.nuget.org/packages/Azure.DigitalTwins.Core/1.4.0) | [docs](/dotnet/api/overview/azure/DigitalTwins.Core-readme) | GitHub [1.4.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.DigitalTwins.Core_1.4.0/sdk/digitaltwins/Azure.DigitalTwins.Core/) | -| Document Intelligence | NuGet [1.0.0-beta.2](https://www.nuget.org/packages/Azure.AI.DocumentIntelligence/1.0.0-beta.2) | [docs](/dotnet/api/overview/azure/AI.DocumentIntelligence-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.DocumentIntelligence_1.0.0-beta.2/sdk/documentintelligence/Azure.AI.DocumentIntelligence/) | +| Document Intelligence | NuGet [1.0.0-beta.3](https://www.nuget.org/packages/Azure.AI.DocumentIntelligence/1.0.0-beta.3) | [docs](/dotnet/api/overview/azure/AI.DocumentIntelligence-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.DocumentIntelligence_1.0.0-beta.3/sdk/documentintelligence/Azure.AI.DocumentIntelligence/) | | Document Translation | NuGet [1.0.0](https://www.nuget.org/packages/Azure.AI.Translation.Document/1.0.0)
NuGet [2.0.0-beta.2](https://www.nuget.org/packages/Azure.AI.Translation.Document/2.0.0-beta.2) | [docs](/dotnet/api/overview/azure/AI.Translation.Document-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.Translation.Document_1.0.0/sdk/translation/Azure.AI.Translation.Document/)
GitHub [2.0.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.Translation.Document_2.0.0-beta.2/sdk/translation/Azure.AI.Translation.Document/) | | Event Grid | NuGet [4.24.1](https://www.nuget.org/packages/Azure.Messaging.EventGrid/4.24.1) | [docs](/dotnet/api/overview/azure/Messaging.EventGrid-readme) | GitHub [4.24.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Messaging.EventGrid_4.24.1/sdk/eventgrid/Azure.Messaging.EventGrid/) | | Event Grid Namespaces | NuGet [1.0.0](https://www.nuget.org/packages/Azure.Messaging.EventGrid.Namespaces/1.0.0) | [docs](/dotnet/api/overview/azure/Messaging.EventGrid.Namespaces-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Messaging.EventGrid.Namespaces_1.0.0/sdk/eventgrid/Azure.Messaging.EventGrid.Namespaces/) | @@ -224,7 +224,7 @@ | Resource Management - Event Grid | NuGet [1.0.1](https://www.nuget.org/packages/Azure.ResourceManager.EventGrid/1.0.1)
NuGet [1.1.0-beta.5](https://www.nuget.org/packages/Azure.ResourceManager.EventGrid/1.1.0-beta.5) | [docs](/dotnet/api/overview/azure/ResourceManager.EventGrid-readme) | GitHub [1.0.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.EventGrid_1.0.1/sdk/eventgrid/Azure.ResourceManager.EventGrid/)
GitHub [1.1.0-beta.5](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.EventGrid_1.1.0-beta.5/sdk/eventgrid/Azure.ResourceManager.EventGrid/) | | Resource Management - Event Hubs | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.EventHubs/1.1.0) | [docs](/dotnet/api/overview/azure/ResourceManager.EventHubs-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.EventHubs_1.1.0/sdk/eventhub/Azure.ResourceManager.EventHubs/) | | Resource Management - Extended Location | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.ExtendedLocations/1.1.0) | [docs](/dotnet/api/overview/azure/ResourceManager.ExtendedLocations-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ExtendedLocations_1.1.0/sdk/extendedlocation/Azure.ResourceManager.ExtendedLocations/) | -| Resource Management - Fabric | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.Fabric/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.Fabric-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Fabric_1.0.0-beta.1/sdk/fabric/Azure.ResourceManager.Fabric/) | +| Resource Management - Fabric | NuGet [1.0.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.Fabric/1.0.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.Fabric-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Fabric_1.0.0-beta.2/sdk/fabric/Azure.ResourceManager.Fabric/) | | Resource Management - Fluid Relay | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.FluidRelay/1.1.0) | [docs](/dotnet/api/overview/azure/ResourceManager.FluidRelay-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.FluidRelay_1.1.0/sdk/fluidrelay/Azure.ResourceManager.FluidRelay/) | | Resource Management - Front Door | NuGet [1.3.0](https://www.nuget.org/packages/Azure.ResourceManager.FrontDoor/1.3.0) | [docs](/dotnet/api/overview/azure/ResourceManager.FrontDoor-readme) | GitHub [1.3.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.FrontDoor_1.3.0/sdk/frontdoor/Azure.ResourceManager.FrontDoor/) | | Resource Management - Graph Services | NuGet [1.1.1](https://www.nuget.org/packages/Azure.ResourceManager.GraphServices/1.1.1) | [docs](/dotnet/api/overview/azure/ResourceManager.GraphServices-readme) | GitHub [1.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.GraphServices_1.1.1/sdk/graphservices/Azure.ResourceManager.GraphServices/) | @@ -234,6 +234,7 @@ | Resource Management - HDInsight Containers | NuGet [1.0.0-beta.4](https://www.nuget.org/packages/Azure.ResourceManager.HDInsight.Containers/1.0.0-beta.4) | [docs](/dotnet/api/overview/azure/ResourceManager.HDInsight.Containers-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.4](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.HDInsight.Containers_1.0.0-beta.4/sdk/hdinsightcontainers/Azure.ResourceManager.HDInsight.Containers/) | | Resource Management - Health Bot | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.HealthBot/1.1.0) | [docs](/dotnet/api/overview/azure/ResourceManager.HealthBot-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.HealthBot_1.1.0/sdk/healthbot/Azure.ResourceManager.HealthBot/) | | Resource Management - Healthcare APIs | NuGet [1.3.0](https://www.nuget.org/packages/Azure.ResourceManager.HealthcareApis/1.3.0) | [docs](/dotnet/api/overview/azure/ResourceManager.HealthcareApis-readme) | GitHub [1.3.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.HealthcareApis_1.3.0/sdk/healthcareapis/Azure.ResourceManager.HealthcareApis/) | +| Resource Management - Healthdataaiservices | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.HealthDataAIServices/1.0.0-beta.1) | | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.HealthDataAIServices_1.0.0-beta.1/sdk/healthdataaiservices/Azure.ResourceManager.HealthDataAIServices/) | | Resource Management - Hybrid Compute | NuGet [1.0.0-beta.10](https://www.nuget.org/packages/Azure.ResourceManager.HybridCompute/1.0.0-beta.10) | [docs](/dotnet/api/overview/azure/ResourceManager.HybridCompute-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.10](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.HybridCompute_1.0.0-beta.10/sdk/hybridcompute/Azure.ResourceManager.HybridCompute/) | | Resource Management - Hybrid Connectivity | NuGet [1.0.0-beta.4](https://www.nuget.org/packages/Azure.ResourceManager.HybridConnectivity/1.0.0-beta.4) | [docs](/dotnet/api/overview/azure/ResourceManager.HybridConnectivity-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.4](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.HybridConnectivity_1.0.0-beta.4/sdk/hybridconnectivity/Azure.ResourceManager.HybridConnectivity/) | | Resource Management - Hybrid Container Service | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.HybridContainerService/1.0.0) | [docs](/dotnet/api/overview/azure/ResourceManager.HybridContainerService-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.HybridContainerService_1.0.0/sdk/hybridaks/Azure.ResourceManager.HybridContainerService/) | From 81d36a17a9af9e33299f50e9ac184aaf79ddd44a Mon Sep 17 00:00:00 2001 From: David Pine Date: Thu, 15 Aug 2024 11:32:52 -0500 Subject: [PATCH 05/12] Fix logic bug in if statement. Fixes #42172 (#42173) --- docs/orleans/quickstarts/build-your-first-orleans-app.md | 2 +- .../snippets/url-shortener/orleansurlshortener/Program.cs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/orleans/quickstarts/build-your-first-orleans-app.md b/docs/orleans/quickstarts/build-your-first-orleans-app.md index 1bcf6e5c2ed04..87d1ccd1ffaac 100644 --- a/docs/orleans/quickstarts/build-your-first-orleans-app.md +++ b/docs/orleans/quickstarts/build-your-first-orleans-app.md @@ -1,7 +1,7 @@ --- title: 'Quickstart: Build your first Orleans app with ASP.NET Core' description: Learn how to use Orleans to build a scalable, distributed ASP.NET Core application -ms.date: 07/03/2024 +ms.date: 08/14/2024 ms.topic: quickstart ms.devlang: csharp --- diff --git a/docs/orleans/quickstarts/snippets/url-shortener/orleansurlshortener/Program.cs b/docs/orleans/quickstarts/snippets/url-shortener/orleansurlshortener/Program.cs index e0cabe33f9a64..2a4bf519566e7 100644 --- a/docs/orleans/quickstarts/snippets/url-shortener/orleansurlshortener/Program.cs +++ b/docs/orleans/quickstarts/snippets/url-shortener/orleansurlshortener/Program.cs @@ -21,7 +21,7 @@ static async (IGrainFactory grains, HttpRequest request, string url) => var host = $"{request.Scheme}://{request.Host.Value}"; // Validate the URL query string. - if (string.IsNullOrWhiteSpace(url) && + if (string.IsNullOrWhiteSpace(url) || Uri.IsWellFormedUriString(url, UriKind.Absolute) is false) { return Results.BadRequest($""" From 9981dff2f35c320c01e478304e247706d775c387 Mon Sep 17 00:00:00 2001 From: Bill Wagner Date: Thu, 15 Aug 2024 12:33:13 -0400 Subject: [PATCH 06/12] Update configure-language-version.md (#42186) Fixes anonymous feedback. One sentence and a heading were transposed. --- docs/csharp/language-reference/configure-language-version.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/csharp/language-reference/configure-language-version.md b/docs/csharp/language-reference/configure-language-version.md index 106f1ce157f78..ae0750c442d40 100644 --- a/docs/csharp/language-reference/configure-language-version.md +++ b/docs/csharp/language-reference/configure-language-version.md @@ -42,10 +42,10 @@ To configure multiple projects, you can create a *Directory.Build.props* file, t ``` -## C# language version reference - Builds in all subdirectories of the directory containing that file now use the preview C# version. For more information, see [Customize your build](/visualstudio/msbuild/customize-your-build). +## C# language version reference + The following table shows all current C# language versions. Older compilers might not understand every value. If you install the latest .NET SDK, you have access to everything listed. [!INCLUDE [langversion-table](includes/langversion-table.md)] From 7e7d0dee37f4e40e24b7ebe817217a13e59e17b0 Mon Sep 17 00:00:00 2001 From: "Andy (Steve) De George" <67293991+adegeo@users.noreply.github.com> Date: Thu, 15 Aug 2024 10:20:44 -0700 Subject: [PATCH 07/12] Update cli-templates-create-template-package.md (#42189) --- docs/core/tutorials/cli-templates-create-template-package.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/core/tutorials/cli-templates-create-template-package.md b/docs/core/tutorials/cli-templates-create-template-package.md index 108df87619e02..840d737be469b 100644 --- a/docs/core/tutorials/cli-templates-create-template-package.md +++ b/docs/core/tutorials/cli-templates-create-template-package.md @@ -232,7 +232,7 @@ working The _content_ folder has two folders: _extensions_ and _consoleasync_. -In your terminal, from the _working_ folder, run the `dotnet pack` command. This command builds the project and creates a NuGet package in the _working\bin\Debug_ folder, as indicated by the following output: +In your terminal, from the _working_ folder, run the `dotnet pack` command. This command builds the project and creates a NuGet package in the _working\bin\Release_ folder, as indicated by the following output: ```output MSBuild version 17.8.0-preview-23367-03+0ff2a83e9 for .NET From b9952ae96902599bb68f430f98b4c3039021632e Mon Sep 17 00:00:00 2001 From: Azure SDK Bot <53356347+azure-sdk@users.noreply.github.com> Date: Thu, 15 Aug 2024 10:43:19 -0700 Subject: [PATCH 08/12] Update package index with latest published versions (#42190) --- docs/azure/includes/dotnet-all.md | 2 +- docs/azure/includes/dotnet-new.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/azure/includes/dotnet-all.md b/docs/azure/includes/dotnet-all.md index 53bc61db0f28b..b31f05630780b 100644 --- a/docs/azure/includes/dotnet-all.md +++ b/docs/azure/includes/dotnet-all.md @@ -151,7 +151,7 @@ | Resource Management - Analysis | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.Analysis/1.1.0) | [docs](/dotnet/api/overview/azure/ResourceManager.Analysis-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Analysis_1.1.0/sdk/analysisservices/Azure.ResourceManager.Analysis/) | | Resource Management - API Center | NuGet [1.0.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.ApiCenter/1.0.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.ApiCenter-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ApiCenter_1.0.0-beta.2/sdk/apicenter/Azure.ResourceManager.ApiCenter/) | | Resource Management - API Management | NuGet [1.2.0](https://www.nuget.org/packages/Azure.ResourceManager.ApiManagement/1.2.0) | [docs](/dotnet/api/overview/azure/ResourceManager.ApiManagement-readme) | GitHub [1.2.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ApiManagement_1.2.0/sdk/apimanagement/Azure.ResourceManager.ApiManagement/) | -| Resource Management - App Compliance Automation | NuGet [1.0.0-beta.4](https://www.nuget.org/packages/Azure.ResourceManager.AppComplianceAutomation/1.0.0-beta.4) | [docs](/dotnet/api/overview/azure/ResourceManager.AppComplianceAutomation-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.4](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.AppComplianceAutomation_1.0.0-beta.4/sdk/appcomplianceautomation/Azure.ResourceManager.AppComplianceAutomation/) | +| Resource Management - App Compliance Automation | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.AppComplianceAutomation/1.0.0) | [docs](/dotnet/api/overview/azure/ResourceManager.AppComplianceAutomation-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.AppComplianceAutomation_1.0.0/sdk/appcomplianceautomation/Azure.ResourceManager.AppComplianceAutomation/) | | Resource Management - App Configuration | NuGet [1.3.2](https://www.nuget.org/packages/Azure.ResourceManager.AppConfiguration/1.3.2) | [docs](/dotnet/api/overview/azure/ResourceManager.AppConfiguration-readme) | GitHub [1.3.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.AppConfiguration_1.3.2/sdk/appconfiguration/Azure.ResourceManager.AppConfiguration/) | | Resource Management - App Platform | NuGet [1.1.1](https://www.nuget.org/packages/Azure.ResourceManager.AppPlatform/1.1.1) | [docs](/dotnet/api/overview/azure/ResourceManager.AppPlatform-readme) | GitHub [1.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.AppPlatform_1.1.1/sdk/appplatform/Azure.ResourceManager.AppPlatform/) | | Resource Management - App Service | NuGet [1.2.0](https://www.nuget.org/packages/Azure.ResourceManager.AppService/1.2.0) | [docs](/dotnet/api/overview/azure/ResourceManager.AppService-readme) | GitHub [1.2.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.AppService_1.2.0/sdk/websites/Azure.ResourceManager.AppService/) | diff --git a/docs/azure/includes/dotnet-new.md b/docs/azure/includes/dotnet-new.md index 3f341b1e1ae9b..0c5138dde5c48 100644 --- a/docs/azure/includes/dotnet-new.md +++ b/docs/azure/includes/dotnet-new.md @@ -155,7 +155,7 @@ | Resource Management - Analysis | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.Analysis/1.1.0) | [docs](/dotnet/api/overview/azure/ResourceManager.Analysis-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Analysis_1.1.0/sdk/analysisservices/Azure.ResourceManager.Analysis/) | | Resource Management - API Center | NuGet [1.0.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.ApiCenter/1.0.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.ApiCenter-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ApiCenter_1.0.0-beta.2/sdk/apicenter/Azure.ResourceManager.ApiCenter/) | | Resource Management - API Management | NuGet [1.2.0](https://www.nuget.org/packages/Azure.ResourceManager.ApiManagement/1.2.0) | [docs](/dotnet/api/overview/azure/ResourceManager.ApiManagement-readme) | GitHub [1.2.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ApiManagement_1.2.0/sdk/apimanagement/Azure.ResourceManager.ApiManagement/) | -| Resource Management - App Compliance Automation | NuGet [1.0.0-beta.4](https://www.nuget.org/packages/Azure.ResourceManager.AppComplianceAutomation/1.0.0-beta.4) | [docs](/dotnet/api/overview/azure/ResourceManager.AppComplianceAutomation-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.4](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.AppComplianceAutomation_1.0.0-beta.4/sdk/appcomplianceautomation/Azure.ResourceManager.AppComplianceAutomation/) | +| Resource Management - App Compliance Automation | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.AppComplianceAutomation/1.0.0) | [docs](/dotnet/api/overview/azure/ResourceManager.AppComplianceAutomation-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.AppComplianceAutomation_1.0.0/sdk/appcomplianceautomation/Azure.ResourceManager.AppComplianceAutomation/) | | Resource Management - App Configuration | NuGet [1.3.2](https://www.nuget.org/packages/Azure.ResourceManager.AppConfiguration/1.3.2) | [docs](/dotnet/api/overview/azure/ResourceManager.AppConfiguration-readme) | GitHub [1.3.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.AppConfiguration_1.3.2/sdk/appconfiguration/Azure.ResourceManager.AppConfiguration/) | | Resource Management - App Platform | NuGet [1.1.1](https://www.nuget.org/packages/Azure.ResourceManager.AppPlatform/1.1.1) | [docs](/dotnet/api/overview/azure/ResourceManager.AppPlatform-readme) | GitHub [1.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.AppPlatform_1.1.1/sdk/appplatform/Azure.ResourceManager.AppPlatform/) | | Resource Management - App Service | NuGet [1.2.0](https://www.nuget.org/packages/Azure.ResourceManager.AppService/1.2.0) | [docs](/dotnet/api/overview/azure/ResourceManager.AppService-readme) | GitHub [1.2.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.AppService_1.2.0/sdk/websites/Azure.ResourceManager.AppService/) | From cffe5b4bfebc7856f9affa968fd4b060c0fcb9f5 Mon Sep 17 00:00:00 2001 From: Bill Wagner Date: Thu, 15 Aug 2024 16:12:36 -0400 Subject: [PATCH 09/12] Update cs1997.md (#42187) Fix for anonymous feedback (grammar) --- docs/csharp/language-reference/compiler-messages/cs1997.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/csharp/language-reference/compiler-messages/cs1997.md b/docs/csharp/language-reference/compiler-messages/cs1997.md index 0e95eb3f9b845..d5adabf0a174c 100644 --- a/docs/csharp/language-reference/compiler-messages/cs1997.md +++ b/docs/csharp/language-reference/compiler-messages/cs1997.md @@ -9,7 +9,7 @@ helpviewer_keywords: --- # Compiler Error CS1997 -Since is an async method that returns `Task`, a return keyword must not be followed by an object expression. Did you intend to return `Task`? +Since `method` is an async method that returns `Task`, a return keyword must not be followed by an object expression. Did you intend to return `Task`? ## Example From 5523905dedb1b4907ce96fc34011ad7920832bab Mon Sep 17 00:00:00 2001 From: Noah Falk Date: Thu, 15 Aug 2024 16:48:35 -0700 Subject: [PATCH 10/12] Runtime metrics (#42180) * Runtime metrics Add docs describing the new runtime metrics that were added in .NET 9.0. --------- Co-authored-by: Genevieve Warren <24882762+gewarren@users.noreply.github.com> --- .../diagnostics/built-in-metrics-runtime.md | 242 ++++++++++++++++++ docs/core/diagnostics/built-in-metrics.md | 1 + docs/navigate/tools-diagnostics/toc.yml | 2 + 3 files changed, 245 insertions(+) create mode 100644 docs/core/diagnostics/built-in-metrics-runtime.md diff --git a/docs/core/diagnostics/built-in-metrics-runtime.md b/docs/core/diagnostics/built-in-metrics-runtime.md new file mode 100644 index 0000000000000..447a7ea6c6a88 --- /dev/null +++ b/docs/core/diagnostics/built-in-metrics-runtime.md @@ -0,0 +1,242 @@ +--- +title: .NET runtime metrics +description: Review the metrics available for .NET runtime libraries. +ms.topic: reference +ms.date: 11/02/2023 +--- + +# .NET Runtime metrics + +This article describes the built-in metrics for .NET runtime libraries that are produced using the + API. For a listing of metrics based on the older [EventCounters](event-counters.md) API, see [Available counters](available-counters.md). + +## `System.Runtime` + +The `System.Runtime` Meter reports measurements from the GC, JIT, AssemblyLoader, Threadpool, and exception handling portions of the .NET runtime as well as some CPU and memory metrics from the OS. These metrics are available automatically for all .NET apps. + +##### Metric: `dotnet.process.cpu.time` + +| Name | Instrument Type | Unit (UCUM) | Description | +| ---- | --------------- | ----------- | ----------- | +| `dotnet.process.cpu.time` | Counter | `s` | CPU time used by the process. | + +| Attribute | Type | Description | Examples | Presence | +|---|---|---|---|---| +| `cpu.mode` | string | The mode of the CPU. | `user`; `system` | Always | + +This metric reports the same values as accessing the processor time properties on for the current process. The `system` mode corresponds to and `user` mode corresponds to + +Available starting in: .NET 9.0. + +##### Metric: `dotnet.process.memory.working_set` + +| Name | Instrument Type | Unit (UCUM) | Description | +| ---- | --------------- | ----------- | ----------- | +| `dotnet.process.memory.working_set` | UpDownCounter | `By` | The number of bytes of physical memory mapped to the process context. | + +This metric reports the same values as calling property. + +Available starting in: .NET 9.0. + +##### Metric: `dotnet.gc.collections` + +| Name | Instrument Type | Unit (UCUM) | Description | +| ---- | --------------- | ----------- | ----------- | +| `dotnet.gc.collections` | Counter | `{collection}` | The number of garbage collections that have occurred since the process has started. | + +| Attribute | Type | Description | Examples | Presence | +|---|---|---|---|---| +| `dotnet.gc.heap.generation` | string | Name of the maximum managed heap generation being collected. | `gen0`; `gen1`; `gen2` | Always | + +The .NET GC is a generational garbage collector. Each time the garbage collector runs, it uses heuristics to select a maximum generation and then collects objects in all generations up to the selected maximum. For example, a `gen1` collection collects all objects in generations 0 and 1. A `gen2` collection collects all objects in generations 0, 1, and 2. For more information about the .NET GC and generational garbage collection, see the [.NET garbage collection guide](../../standard/garbage-collection/fundamentals.md#generations). + +Available starting in: .NET 9.0. + +##### Metric: `dotnet.gc.heap.total_allocated` + +| Name | Instrument Type | Unit (UCUM) | Description | +| ---- | --------------- | ----------- | ----------- | +| `dotnet.gc.heap.total_allocated` | Counter | `By` | The *approximate* number of bytes allocated on the managed GC heap since the process started. The returned value does not include any native allocations. | + +This metric reports the same values as calling . For more information about the .NET GC, see the [.NET garbage collection guide](../../standard/garbage-collection/fundamentals.md). + +Available starting in: .NET 9.0. + +##### Metric: `dotnet.gc.last_collection.memory.committed_size` + +| Name | Instrument Type | Unit (UCUM) | Description | +| ---- | --------------- | ----------- | ----------- | +| `dotnet.gc.last_collection.memory.committed_size` | UpDownCounter | `By` | The amount of committed virtual memory in use by the .NET GC, as observed during the latest garbage collection. | + +This metric reports the same values as calling . Committed virtual memory may be larger than the heap size because it includes both memory for storing existing objects (the heap size) and some extra memory that is ready to handle newly allocated objects in the future. For more information about the .NET GC, see the [.NET garbage collection guide](../../standard/garbage-collection/fundamentals.md). + +Available starting in: .NET 9.0. + +##### Metric: `dotnet.gc.last_collection.heap.size` + +| Name | Instrument Type | Unit (UCUM) | Description | +| ---- | --------------- | ----------- | ----------- | +| `dotnet.gc.last_collection.heap.size` | UpDownCounter | `By` | The managed GC heap size (including fragmentation), as observed during the latest garbage collection. | + +| Attribute | Type | Description | Examples | Presence | +|---|---|---|---|---| +| `dotnet.gc.heap.generation` | string | Name of the garbage collector managed heap generation. | `gen0`; `gen1`; `gen2`;`loh`;`poh` | Always | + +The .NET GC divides the heap into generations. In addition to the standard numbered generations, the GC also puts some objects into two special generations: + +- Large object heap (LOH) stores .NET objects that are very large compared to typical objects. +- Pinned object heap (POH) stores objects allocated using the API when the `pinned` parameter is true. + +Both of these special generations are collected during `gen2` GC collections. For more information about the .NET GC, see the [.NET Garbage collection guide](../../standard/garbage-collection/fundamentals.md). + +Available starting in: .NET 9.0. + +##### Metric: `dotnet.gc.last_collection.heap.fragmentation.size` + +| Name | Instrument Type | Unit (UCUM) | Description | +| -------- | --------------- | ----------- | -------------- | +| `dotnet.gc.last_collection.heap.fragmentation.size` | UpDownCounter | `By` | The heap fragmentation, as observed during the latest garbage collection. | + +This metric reports the same values as calling . + +When .NET objects are allocated, initially they tend to be laid out contiguously in memory. However, if some of those objects are later collected by the GC, this creates gaps of unused memory between the live objects that remain. These gaps represent the portion of the GC heap that's not currently being used to store objects, often called "fragmentation." The GC can reuse the fragmentation bytes in the future for new object allocations if the object size is small enough to fit in one of the gaps. The GC can also perform a special compacting garbage collection that moves remaining live objects next to each other as long as the objects haven't been pinned in place. + +For more information about how the .NET GC works, analyzing GC performance, and what role fragmentation plays, see [.NET memory performance analysis](https://github.com/Maoni0/mem-doc/blob/master/doc/.NETMemoryPerformanceAnalysis.md). + +Available starting in: .NET 9.0. + +##### Metric: `dotnet.gc.pause.time` + +| Name | Instrument Type | Unit (UCUM) | Description | +| -------- | --------------- | ----------- | -------------- | +| `dotnet.gc.pause.time` | Counter | `s` | The total amount of time paused in GC since the process started. | + +This metric reports the same values as calling . + +Each time the .NET GC does a collection it needs to briefly pause all threads running managed code to determine which objects are still referenced. This metric reports the sum of all these pause times since the process began. You can use this metric to determine what fraction of time threads spend paused for GC versus the time they're able to run managed code. + +Available starting in: .NET 9.0. + +##### Metric: `dotnet.jit.compiled_il.size` + +| Name | Instrument Type | Unit (UCUM) | Description | +| -------- | --------------- | ----------- | -------------- | +| `dotnet.jit.compiled_il.size` | Counter | `By` | Count of bytes of intermediate language that have been compiled since the process started. | + +This metric reports the same values as calling . + +When you build a .NET app, managed code is initially compiled from a high-level language like C#, VB, or F# into [Intermediate language](../../standard/managed-code.md#intermediate-language--execution) (IL). Then when the program is run, the .NET just-in-time (JIT) compiler converts the IL into machine code. + +Since JIT compilation occurs the first time a method runs, most JIT compilation tends to occur during application startup. Reducing the amount of IL that is JIT compiled can improve application startup time. + +Available starting in: .NET 9.0. + +##### Metric: `dotnet.jit.compiled_methods` + +| Name | Instrument Type | Unit (UCUM) | Description | +| -------- | --------------- | ----------- | -------------- | +| `dotnet.jit.compiled_methods` | Counter | `{method}` | The number of times the JIT compiler (re)compiled methods since the process started. | + +This metric reports the same values as calling . + +When you build a .NET app, managed code is initially compiled from a high-level language like C#, VB, or F# into [Intermediate language](../../standard/managed-code.md#intermediate-language--execution) (IL). Then when the program is run, the .NET just-in-time (JIT) compiler converts the IL into machine code. + +Since JIT compilation occurs the first time a method runs, most JIT compilation tends to occur during application startup. Reducing the number of methods that need to be JIT compiled can improve application startup time. + +Available starting in: .NET 9.0. + +##### Metric: `dotnet.jit.compilation.time` + +| Name | Instrument Type | Unit (UCUM) | Description | +| -------- | --------------- | ----------- | -------------- | +| `dotnet.jit.compilation.time` | Counter | `s` | The amount of time the JIT compiler has spent compiling methods since the process started. | + +This metric reports the same values as calling . + +When you build a .NET app, managed code is initially compiled from a high-level language like C#, VB, or F# into [Intermediate language](../../standard/managed-code.md#intermediate-language--execution) (IL). Then when the program is run, the .NET just-in-time (JIT) compiler converts the IL into machine code. + +Since JIT compilation occurs the first time a method runs, most JIT compilation tends to occur during application startup. Reducing the time spent JIT compiling can improve application startup time. + +Available starting in: .NET 9.0. + +##### Metric: `dotnet.thread_pool.thread.count` + +| Name | Instrument Type | Unit (UCUM) | Description | +| -------- | --------------- | ----------- | -------------- | +| `dotnet.thread_pool.thread.count` | UpDownCounter | `{thread}` | The number of thread pool threads that currently exist. | + +This metric reports the same values as calling . + +.NET uses a [thread pool](../../standard/threading/the-managed-thread-pool.md) to schedule work items onto other threads. This metric provides the number of worker threads currently managed by that thread pool. + +Available starting in: .NET 9.0. + +##### Metric: `dotnet.thread_pool.work_item.count` + +| Name | Instrument Type | Unit (UCUM) | Description | +| -------- | --------------- | ----------- | -------------- | +| `dotnet.thread_pool.work_item.count` | Counter | `{work_item}` | The number of work items that the thread pool has completed since the process started. | + +This metric reports the same values as calling . + +.NET uses a [thread pool](../../standard/threading/the-managed-thread-pool.md) to schedule work items onto other threads. This metric provides the number of work items that have been executed by the thread pool threads. + +Available starting in: .NET 9.0. + +##### Metric: `dotnet.thread_pool.queue.length` + +| Name | Instrument Type | Unit (UCUM) | Description | +| -------- | --------------- | ----------- | -------------- | +| `dotnet.thread_pool.queue.length` | UpDownCounter | `{work_item}` | The number of work items that are currently queued to be processed by the thread pool. | + +This metric reports the same values as calling . + +.NET uses a [thread pool](../../standard/threading/the-managed-thread-pool.md) to schedule work items onto other threads. This metric provides the number of work items that are currently queued to be executed by one of the thread pool threads. + +Available starting in: .NET 9.0. + +##### Metric: `dotnet.monitor.lock_contentions` + +| Name | Instrument Type | Unit (UCUM) | Description | +| -------- | --------------- | ----------- | -------------- | +| `dotnet.monitor.lock_contentions` | Counter | `{contention}` | The number of times there was contention when trying to acquire a monitor lock since the process started. | + +This metric reports the same values as calling . + +.NET supports using any managed object as a lock, either with APIs such as or with the [lock statement](../../csharp/language-reference/statements/lock.md). If one thread already holds a lock while a second thread tries to acquire it, this is called _lock contention_. + +Available starting in: .NET 9.0. + +##### Metric: `dotnet.timer.count` + +| Name | Instrument Type | Unit (UCUM) | Description | +| -------- | --------------- | ----------- | -------------- | +| `dotnet.timer.count` | UpDownCounter | `{timer}` | The number of timer instances that are currently active. | + +This metric reports the same values as calling . + +Available starting in: .NET 9.0. + +##### Metric: `dotnet.assembly.count` + +| Name | Instrument Type | Unit (UCUM) | Description | +| -------- | --------------- | ----------- | -------------- | +| `dotnet.assembly.count` | UpDownCounter | `{assembly}` | The number of .NET assemblies that are currently loaded. | + +This metric reports the same values as calling and then checking the length of the returned array. + +Available starting in: .NET 9.0. + +##### Metric: `dotnet.exceptions` + +| Name | Instrument Type | Unit (UCUM) | Description | +| -------- | --------------- | ----------- | -------------- | +| `dotnet.exceptions` | Counter | `{exception}` | The number of exceptions that have been thrown in managed code. | + +| Attribute | Type | Description | Examples | Presence | +|---|---|---|---|---|---| +| `error.type` | string | The exception type that was thrown. | `System.OperationCanceledException`; `Contoso.MyException` | `Required` | + +This metric reports the same values as counting calls to the event. + +Available starting in: .NET 9.0. diff --git a/docs/core/diagnostics/built-in-metrics.md b/docs/core/diagnostics/built-in-metrics.md index 4f70f626f73a3..7b00a007dfe06 100644 --- a/docs/core/diagnostics/built-in-metrics.md +++ b/docs/core/diagnostics/built-in-metrics.md @@ -11,6 +11,7 @@ This is a reference for [metrics](metrics.md) built-in for .NET, produced using API. For metrics produced by [alternative metric APIs](compare-metric-apis.md) see the [EventCounters reference](available-counters.md) and [Windows Performance Counter reference](../../framework/debug-trace-profile/performance-counters.md). +- [.NET runtime metrics](built-in-metrics-runtime.md) - [.NET extensions metrics](built-in-metrics-diagnostics.md) - [ASP.NET Core Metrics](built-in-metrics-aspnetcore.md) - [System.Net Metrics](built-in-metrics-system-net.md) diff --git a/docs/navigate/tools-diagnostics/toc.yml b/docs/navigate/tools-diagnostics/toc.yml index 925a0412bffd4..43593e1547be6 100644 --- a/docs/navigate/tools-diagnostics/toc.yml +++ b/docs/navigate/tools-diagnostics/toc.yml @@ -382,6 +382,8 @@ items: items: - name: Overview href: ../../core/diagnostics/built-in-metrics.md + - name: .NET runtime metrics + href: ../../core/diagnostics/built-in-metrics-runtime.md - name: .NET extensions metrics href: ../../core/diagnostics/built-in-metrics-diagnostics.md - name: ASP.NET Core metrics From 3c57dfab5310f12d2c26a690343af2fcbc8f8a40 Mon Sep 17 00:00:00 2001 From: Genevieve Warren <24882762+gewarren@users.noreply.github.com> Date: Thu, 15 Aug 2024 16:57:37 -0700 Subject: [PATCH 11/12] Few more updates to What's new (#42199) --- docs/core/whats-new/dotnet-9/libraries.md | 4 ++ docs/core/whats-new/dotnet-9/overview.md | 26 ++------- docs/core/whats-new/dotnet-9/sdk.md | 65 +++++++++++++++++++++-- 3 files changed, 71 insertions(+), 24 deletions(-) diff --git a/docs/core/whats-new/dotnet-9/libraries.md b/docs/core/whats-new/dotnet-9/libraries.md index bfca46a2f937e..744a8ea2eb9cc 100644 --- a/docs/core/whats-new/dotnet-9/libraries.md +++ b/docs/core/whats-new/dotnet-9/libraries.md @@ -20,6 +20,10 @@ ReadOnlySpan bytes = ...; string encoded = Base64Url.EncodeToString(bytes); ``` +## BinaryFormatter + +.NET 9 removes from the .NET runtime. The APIs are still present, but their implementations always throw an exception, regardless of project type. For more information about the removal and your options if you're affected, see [BinaryFormatter migration guide](../../../standard/serialization/binaryformatter-migration-guide/index.md). + ## Collections The collection types in .NET gain the following updates for .NET 9: diff --git a/docs/core/whats-new/dotnet-9/overview.md b/docs/core/whats-new/dotnet-9/overview.md index 9ace9e9ac33b0..f9cc6e096aadc 100644 --- a/docs/core/whats-new/dotnet-9/overview.md +++ b/docs/core/whats-new/dotnet-9/overview.md @@ -1,8 +1,8 @@ --- title: What's new in .NET 9 -description: Learn about the new .NET features introduced in .NET 9. +description: Learn about the new .NET features introduced in .NET 9 for the runtime, libraries, and SDK. Also find links to what's new in other areas, such as ASP.NET Core. titleSuffix: "" -ms.date: 07/10/2024 +ms.date: 08/15/2024 ms.topic: whats-new --- # What's new in .NET 9 @@ -17,19 +17,9 @@ New for .NET 9, the engineering team posts .NET 9 preview updates on [GitHub Dis The .NET 9 runtime includes a new attribute model for feature switches with trimming support. The new attributes make it possible to define [feature switches](https://github.com/dotnet/designs/blob/main/accepted/2020/feature-switch.md) that libraries can use to toggle areas of functionality. -The runtime also includes numerous performance improvements in the following areas: +Garbage collection includes a *dynamic adaptation to application size* feature that's used by default instead of Server GC. -- Loop optimizations -- Inlining improvements -- PGO improvements: Type checks and casts -- Arm64 vectorization in .NET libraries -- Arm64 code generation -- Faster exceptions -- Code layout -- Reduced address exposure -- AVX10v1 support -- Hardware intrinsic code generation -- Constant folding for floating point and SIMD operations +The runtime also includes numerous performance improvements, including loop optimizations, inlining, and Arm64 vectorization and code generation. For more information, see [What's new in the .NET 9 runtime](runtime.md). @@ -51,13 +41,7 @@ For more information, see [What's new in the .NET 9 libraries](libraries.md). ## .NET SDK -The .NET 9 SDK includes improvements to unit testing, including better integration with MSBuild that allows you to run tests in parallel. - -For tools, a new option for [`dotnet tool install`](../../tools/dotnet-tool-install.md) lets users (instead of tool authors) decide whether a tool is allowed to run on a newer .NET runtime version than the version the tool targets. And NuGet security audits run on both direct and transitive package references, by default. - -The terminal logger is now enabled by default and also has improved usability. For example, the total count of failures and warnings is now summarized at the end of a build. - -Finally, new MSBuild script analyzers are available. +The .NET 9 SDK introduces *workload sets*, where all of your workloads stay at a single, specific version until explicitly updated. Unit testing has better MSBuild integration that allows you to run tests in parallel. For tools, a new option for [`dotnet tool install`](../../tools/dotnet-tool-install.md) lets users (instead of tool authors) decide whether a tool is allowed to run on a newer .NET runtime version than the version the tool targets. NuGet security audits run on both direct and transitive package references, by default. The terminal logger is now enabled by default and also has improved usability. For example, the total count of failures and warnings is now summarized at the end of a build. New MSBuild script analyzers are available. The SDK can detect and adjust for version mismatches between the .NET SDK and MSBuild. For more information, see [What's new in the SDK for .NET 9](sdk.md). diff --git a/docs/core/whats-new/dotnet-9/sdk.md b/docs/core/whats-new/dotnet-9/sdk.md index e91d649be9c64..2cee56a1ad4fb 100644 --- a/docs/core/whats-new/dotnet-9/sdk.md +++ b/docs/core/whats-new/dotnet-9/sdk.md @@ -1,13 +1,13 @@ --- title: What's new in the SDK for .NET 9 -description: Learn about the new .NET SDK features introduced in .NET 9. +description: Learn about the new .NET SDK features introduced in .NET 9, including for unit testing, terminal logger, tool roll-forward, and build script analyzers. titleSuffix: "" -ms.date: 07/10/2024 +ms.date: 08/15/2024 ms.topic: whats-new --- # What's new in the SDK for .NET 9 -This article describes new features in the .NET SDK for .NET 9. It's been updated for .NET 9 Preview 6. +This article describes new features in the .NET SDK for .NET 9. It's been updated for .NET 9 Preview 7. ## Unit testing @@ -126,3 +126,62 @@ The following two BuildCheck rules are run: When a problem is detected, a diagnostic is produced in the build output for the project that contains the issue. For more information, see the [design documentation](https://github.com/dotnet/msbuild/blob/main/documentation/specs/BuildCheck/BuildCheck.md). + +## Analyzer mismatch + +Many users install the .NET SDK and Visual Studio at different cadences. While this flexibility is desirable, it can lead to problems for tooling that needs to interop between the two environments. One example of this kind of tooling is Roslyn Analyzers. Analyzer authors have to code for specific versions of Roslyn, but which versions are available and which is used by a given build is sometimes unclear. + +This kind of version mismatch between the .NET SDK and MSBuild is referred to as a *torn SDK*. When you're in this state, you might see errors like this: + +> CSC : warning CS9057: The analyzer assembly '..\dotnet\sdk\8.0.200\Sdks\Microsoft.NET.Sdk.Razor\source-generators\Microsoft.CodeAnalysis.Razor.Compiler.SourceGenerators.dll' references version '4.9.0.0' of the compiler, which is newer than the currently running version '4.8.0.0'. + +.NET 9 can detect and automatically adjust for this problem scenario. The SDK's MSBuild logic embeds the version of MSBuild it shipped with, and that information can be used to detect when the SDK is running in an environment with a different version. When that happens, the SDK inserts an implicit download of a support package called Microsoft.Net.Sdk.Compilers.Toolset that ensures a consistent analyzer experience. + +## Workload sets + +*Workload sets* is an SDK feature intended to give users more control over the workloads they install and the cadence of change of those workloads. In previous versions, workloads would periodically be updated as new versions of individual workloads were released onto any configured NuGet feeds. Now, *all* of your workloads will stay at a specific, single version until you make an explicit update gesture. + +You can see what mode your SDK installation is in by running `dotnet workload --info`: + +```dotnetcli +> dotnet workload --info +Workload version: 9.0.100-manifests.400dd185 +Configured to use loose manifests when installing new manifests. + [aspire] + Installation Source: VS 17.10.35027.167, VS 17.11.35111.106 + Manifest Version: 8.0.2/8.0.100 + Manifest Path: C:\Program Files\dotnet\sdk-manifests\8.0.100\microsoft.net.sdk.aspire\8.0.2\WorkloadManifest.json + Install Type: Msi +``` + +In this example, the SDK installation is in 'manifest' mode, where updates are installed as they're available. To opt into the new mode, add a `--version` option to a `dotnet workload install` or `dotnet workload update` command. You can also explicitly control your mode of operation using the new `dotnet workload config` command: + +```dotnetcli +> dotnet workload config --update-mode workload-set +Successfully updated workload install mode to use workload-set. +``` + +If you need to change back for any reason, you can run the same command with `manifests` instead of `workload-set`. You can also use `dotnet workload config --update-mode` to check the current mode of operation. + + + +## Containers + +- [Publishing support for insecure registries](#publishing-support-for-insecure-registries) +- [Environment variable naming](#environment-variable-naming) + +### Publishing support for insecure registries + +The SDK's built-in container publishing support can publish images to container registries. Until .NET 9, those registries were required to be secured—for the .NET SDK to work, they needed HTTPS support and valid certificates. Container engines can usually be configured to work with insecure registries as well, that is, registries that don't have TLS configured, or have TLS configured with a certificate that's invalid. This is a valid use case, but our tooling didn't support this mode of communication. + +Starting in .NET 9, the SDK can communicate with insecure registries. + +Requirements (depending on your environment): + +- Configure the Docker CLI to mark a registry as insecure. +- Configure Podman to mark a registry as insecure. +- Use the `DOTNET_CONTAINER_INSECURE_REGISTRIES` environment variable to pass a semicolon-delimited list of registry domains to treat as insecure. + +### Environment variable naming + +Environment variables that the container publish tooling uses to control some of the finer aspects of registry communication and security now start with the prefix `DOTNET` instead of `SDK`. The `SDK` prefix will continue to be supported in the near term. From c2c0f5e6e04720cd39c818f39b8f222a8a6e791f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Amaury=20Lev=C3=A9?= Date: Fri, 16 Aug 2024 09:36:10 +0200 Subject: [PATCH 12/12] Document the platform configuration (#42185) Co-authored-by: Genevieve Warren <24882762+gewarren@users.noreply.github.com> --- .../testing/unit-testing-platform-config.md | 40 +++++++++++++++++++ docs/navigate/devops-testing/toc.yml | 2 + 2 files changed, 42 insertions(+) create mode 100644 docs/core/testing/unit-testing-platform-config.md diff --git a/docs/core/testing/unit-testing-platform-config.md b/docs/core/testing/unit-testing-platform-config.md new file mode 100644 index 0000000000000..4d6c48217a1d0 --- /dev/null +++ b/docs/core/testing/unit-testing-platform-config.md @@ -0,0 +1,40 @@ +--- +title: Microsoft.Testing.Platform config options +description: Learn how to configure Microsoft.Testing.Platform using configuration settings. +author: Evangelink +ms.author: amauryleve +ms.date: 08/15/2024 +--- + +# Microsoft.Testing.Platform configuration settings + +Microsoft.Testing.Platform supports the use of configuration files and environment variables to configure the behavior of the test platform. This article describes the configuration settings that you can use to configure the test platform. + +## testconfig.json + +The test platform uses a configuration file named *[appname].testconfig.json* to configure the behavior of the test platform. The *testconfig.json* file is a JSON file that contains configuration settings for the test platform. + +The *testconfig.json* file has the following structure: + +```json +{ + "platformOptions": { + "config-property-name1": "config-value1", + "config-property-name2": "config-value2" + } +} +``` + +The platform will automatically detect and load the *[appname].testconfig.json* file located in the output directory of the test project (close to the executable). + +When using [Microsoft.Testing.Platform.MSBuild](https://www.nuget.org/packages/Microsoft.Testing.Platform.MSBuild), you can simply create a *testconfig.json* file that will be automatically renamed to *[appname].testconfig.json* and moved to the output directory of the test project. + +> [!NOTE] +> The *[appname].testconfig.json* file will get overwritten on subsequent builds. + +## Environment variables + +Environment variables can be used to supply some runtime configuration information. + +> [!NOTE] +> Environment variables take precedence over configuration settings in the *testconfig.json* file. diff --git a/docs/navigate/devops-testing/toc.yml b/docs/navigate/devops-testing/toc.yml index ef0678de320bf..0b942cc2cb61e 100644 --- a/docs/navigate/devops-testing/toc.yml +++ b/docs/navigate/devops-testing/toc.yml @@ -179,6 +179,8 @@ items: href: ../../core/testing/unit-testing-platform-faq.md - name: Comparison with VSTest href: ../../core/testing/unit-testing-platform-vs-vstest.md + - name: Configure the test platform + href: ../../core/testing/unit-testing-platform-config.md - name: Extensions items: - name: Overview