diff --git a/docs/ai/quickstarts/includes/ai-templates-azure-openai.md b/docs/ai/quickstarts/includes/ai-templates-azure-openai.md index f2ca54e35675f..9cd8363c07933 100644 --- a/docs/ai/quickstarts/includes/ai-templates-azure-openai.md +++ b/docs/ai/quickstarts/includes/ai-templates-azure-openai.md @@ -53,7 +53,7 @@ After you install the AI app templates, you can use them to create starter apps 1. Create a new app with the `dotnet new` command and the following parameters: ```dotnetcli - dotnet new aichatweb --framework "net9.0" --AiServiceProvider "azureopenai" --VectorStore "local" + dotnet new aichatweb --Framework net9.0 --provider azureopenai --vector-store local ``` The .NET CLI creates a new .NET 9.0 app with the configurations you specified. diff --git a/docs/ai/quickstarts/includes/ai-templates-github-models.md b/docs/ai/quickstarts/includes/ai-templates-github-models.md index 72a7d11ddd924..a2a207a89f4e8 100644 --- a/docs/ai/quickstarts/includes/ai-templates-github-models.md +++ b/docs/ai/quickstarts/includes/ai-templates-github-models.md @@ -52,7 +52,7 @@ After you install the AI app templates, you can use them to create starter apps 1. Create a new app with the `dotnet new` command and the following parameters: ```dotnetcli - dotnet new aichatweb --framework net9.0 --AiServiceProvider githubmodels --VectorStore local + dotnet new aichatweb --Framework net9.0 --provider githubmodels --vector-store local ``` The .NET CLI creates a new .NET 9.0 app with the configurations you specified. diff --git a/docs/ai/quickstarts/includes/ai-templates-ollama.md b/docs/ai/quickstarts/includes/ai-templates-ollama.md index a067e999c8bdc..a6fae197e0241 100644 --- a/docs/ai/quickstarts/includes/ai-templates-ollama.md +++ b/docs/ai/quickstarts/includes/ai-templates-ollama.md @@ -53,7 +53,7 @@ After you install the AI app templates, you can use them to create starter apps 1. Create a new app with the `dotnet new` command and the following parameters: ```dotnetcli - dotnet new aichatweb --framework "net9.0" --AiServiceProvider "ollama" --VectorStore "local" + dotnet new aichatweb --Framework net9.0 --provider ollama --vector-store local ``` The .NET CLI creates a new .NET 9.0 app with the configurations you specified. diff --git a/docs/ai/quickstarts/includes/ai-templates-openai.md b/docs/ai/quickstarts/includes/ai-templates-openai.md index 5e0baac0473c4..6268b77444ec4 100644 --- a/docs/ai/quickstarts/includes/ai-templates-openai.md +++ b/docs/ai/quickstarts/includes/ai-templates-openai.md @@ -53,7 +53,7 @@ After you install the AI app templates, you can use them to create starter apps 1. Create a new app with the `dotnet new` command and the following parameters: ```dotnetcli - dotnet new aichatweb --framework "net9.0" --AiServiceProvider "openai" --VectorStore "local" + dotnet new aichatweb --Framework net9.0 --provider openai --vector-store local ``` The .NET CLI creates a new .NET 9.0 app with the configurations you specified. diff --git a/docs/architecture/cloud-native/azure-security.md b/docs/architecture/cloud-native/azure-security.md index 94f25bed2a471..1a696d250aefb 100644 --- a/docs/architecture/cloud-native/azure-security.md +++ b/docs/architecture/cloud-native/azure-security.md @@ -45,7 +45,7 @@ As applications become more complicated the number of attack vectors increases a Penetration testing or "pen testing" involves bringing in external actors to attempt to attack the system. These attackers may be an external consulting company or other developers with good security knowledge from another part of the business. They're given carte blanche to attempt to subvert the system. Frequently, they'll find extensive security holes that need to be patched. Sometimes the attack vector will be something totally unexpected like exploiting a phishing attack against the CEO. -Azure itself is constantly undergoing attacks from a [team of hackers inside Microsoft](https://azure.microsoft.com/resources/videos/red-vs-blue-internal-security-penetration-testing-of-microsoft-azure/). Over the years, they've been the first to find dozens of potentially catastrophic attack vectors, closing them before they can be exploited externally. The more tempting a target, the more likely that eternal actors will attempt to exploit it and there are a few targets in the world more tempting than Azure. +Azure itself is constantly undergoing attacks from a team of hackers inside Microsoft. Over the years, they've been the first to find dozens of potentially catastrophic attack vectors, closing them before they can be exploited externally. The more tempting a target, the more likely that external actors will attempt to exploit it, and there are few targets in the world more tempting than Azure. ## Monitoring @@ -264,7 +264,7 @@ While Cosmos DB doesn't provide for supplying customer encryption keys, there ha ## Keeping secure -Azure has all the tools necessary to release a highly secure product. However, a chain is only as strong as its weakest link. If the applications deployed on top of Azure aren't developed with a proper security mindset and good security audits, then they become the weak link in the chain. There are many great static analysis tools, encryption libraries, and security practices that can be used to ensure that the software installed on Azure is as secure as Azure itself. Examples include [static analysis tools](https://www.mend.io/sca/), [encryption libraries](https://www.libressl.org/), and [security practices](https://azure.microsoft.com/resources/videos/red-vs-blue-internal-security-penetration-testing-of-microsoft-azure/). +Azure has all the tools necessary to release a highly secure product. However, a chain is only as strong as its weakest link. If the applications deployed on top of Azure aren't developed with a proper security mindset and good security audits, then they become the weak link in the chain. There are many great static analysis tools, encryption libraries, and security practices that can be used to ensure that the software installed on Azure is as secure as Azure itself. Examples include [static analysis tools](https://www.mend.io/sca/) and [encryption libraries](https://www.libressl.org/). >[!div class="step-by-step"] >[Previous](security.md) diff --git a/docs/architecture/microservices/architect-microservice-container-applications/containerize-monolithic-applications.md b/docs/architecture/microservices/architect-microservice-container-applications/containerize-monolithic-applications.md index 55c7e522886ec..92040d0892f4a 100644 --- a/docs/architecture/microservices/architect-microservice-container-applications/containerize-monolithic-applications.md +++ b/docs/architecture/microservices/architect-microservice-container-applications/containerize-monolithic-applications.md @@ -31,7 +31,7 @@ From an infrastructure perspective, each server can run many applications within **Figure 4-2**. Monolithic approach: Host running multiple apps, each app running as a container -Monolithic applications in Microsoft Azure can be deployed using dedicated VMs for each instance. Additionally, using [Azure virtual machine scale sets](https://azure.microsoft.com/documentation/services/virtual-machine-scale-sets/), you can easily scale the VMs. [Azure App Service](https://azure.microsoft.com/services/app-service/) can also run monolithic applications and easily scale instances without requiring you to manage the VMs. Since 2016, Azure App Services can run single instances of Docker containers as well, simplifying deployment. +Monolithic applications in Microsoft Azure can be deployed using dedicated VMs for each instance. Additionally, using [Azure virtual machine scale sets](/azure/virtual-machine-scale-sets/overview), you can easily scale the VMs. [Azure App Service](https://azure.microsoft.com/services/app-service/) can also run monolithic applications and easily scale instances without requiring you to manage the VMs. Since 2016, Azure App Services can run single instances of Docker containers as well, simplifying deployment. As a QA environment or a limited production environment, you can deploy multiple Docker host VMs and balance them using the Azure balancer, as shown in Figure 4-3. This lets you manage scaling with a coarse-grain approach, because the whole application lives within a single container. 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 d10612cdd4a85..379cd7e13c0cc 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 @@ -21,7 +21,7 @@ From the Docker host, as [Docker Volumes](https://docs.docker.com/engine/admin/v From remote storage: -- [Azure Storage](https://azure.microsoft.com/documentation/services/storage/), which provides geo-distributable storage, providing a good long-term persistence solution for containers. +- [Azure Storage](/azure/storage/common/storage-introduction), which provides geo-distributable storage, providing a good long-term persistence solution for containers. - Remote relational databases like [Azure SQL Database](https://azure.microsoft.com/services/sql-database/) or NoSQL databases like [Azure Cosmos DB](/azure/cosmos-db/introduction), or cache services like [Redis](https://redis.io/). diff --git a/docs/azure/includes/dotnet-all.md b/docs/azure/includes/dotnet-all.md index f7c02a8230b09..659ee4c8e7725 100644 --- a/docs/azure/includes/dotnet-all.md +++ b/docs/azure/includes/dotnet-all.md @@ -165,7 +165,7 @@ | Provisioning - Service Bus | NuGet [1.0.0](https://www.nuget.org/packages/Azure.Provisioning.ServiceBus/1.0.0) | [docs](/dotnet/api/overview/azure/Provisioning.ServiceBus-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.ServiceBus_1.0.0/sdk/provisioning/Azure.Provisioning.ServiceBus/) | | Provisioning - SignalR | NuGet [1.0.0](https://www.nuget.org/packages/Azure.Provisioning.SignalR/1.0.0) | [docs](/dotnet/api/overview/azure/Provisioning.SignalR-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.SignalR_1.0.0/sdk/provisioning/Azure.Provisioning.SignalR/) | | Provisioning - SQL | NuGet [1.0.0](https://www.nuget.org/packages/Azure.Provisioning.Sql/1.0.0) | [docs](/dotnet/api/overview/azure/Provisioning.Sql-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.Sql_1.0.0/sdk/provisioning/Azure.Provisioning.Sql/) | -| Provisioning - Storage | NuGet [1.0.0](https://www.nuget.org/packages/Azure.Provisioning.Storage/1.0.0) | [docs](/dotnet/api/overview/azure/Provisioning.Storage-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.Storage_1.0.0/sdk/provisioning/Azure.Provisioning.Storage/) | +| Provisioning - Storage | NuGet [1.0.1](https://www.nuget.org/packages/Azure.Provisioning.Storage/1.0.1) | [docs](/dotnet/api/overview/azure/Provisioning.Storage-readme) | GitHub [1.0.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.Storage_1.0.1/sdk/provisioning/Azure.Provisioning.Storage/) | | Provisioning - WebPubSub | NuGet [1.0.0](https://www.nuget.org/packages/Azure.Provisioning.WebPubSub/1.0.0) | [docs](/dotnet/api/overview/azure/Provisioning.WebPubSub-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.WebPubSub_1.0.0/sdk/provisioning/Azure.Provisioning.WebPubSub/) | | Resource Management - Advisor | NuGet [1.0.0-beta.5](https://www.nuget.org/packages/Azure.ResourceManager.Advisor/1.0.0-beta.5) | [docs](/dotnet/api/overview/azure/ResourceManager.Advisor-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.5](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Advisor_1.0.0-beta.5/sdk/advisor/Azure.ResourceManager.Advisor/) | | Resource Management - Agricultureplatform | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.AgriculturePlatform/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.AgriculturePlatform-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.AgriculturePlatform_1.0.0-beta.1/sdk/agricultureplatform/Azure.ResourceManager.AgriculturePlatform/) | @@ -195,7 +195,7 @@ | Resource Management - Bot Service | NuGet [1.1.1](https://www.nuget.org/packages/Azure.ResourceManager.BotService/1.1.1) | [docs](/dotnet/api/overview/azure/ResourceManager.BotService-readme) | GitHub [1.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.BotService_1.1.1/sdk/botservice/Azure.ResourceManager.BotService/) | | Resource Management - Carbonoptimization | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.CarbonOptimization/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.CarbonOptimization-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.CarbonOptimization_1.0.0-beta.1/sdk/carbon/Azure.ResourceManager.CarbonOptimization/) | | Resource Management - Change Analysis | NuGet [1.1.1](https://www.nuget.org/packages/Azure.ResourceManager.ChangeAnalysis/1.1.1) | [docs](/dotnet/api/overview/azure/ResourceManager.ChangeAnalysis-readme) | GitHub [1.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ChangeAnalysis_1.1.1/sdk/changeanalysis/Azure.ResourceManager.ChangeAnalysis/) | -| Resource Management - Chaos | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.Chaos/1.0.0)
NuGet [1.1.0-beta.3](https://www.nuget.org/packages/Azure.ResourceManager.Chaos/1.1.0-beta.3) | [docs](/dotnet/api/overview/azure/ResourceManager.Chaos-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Chaos_1.0.0/sdk/chaos/Azure.ResourceManager.Chaos/)
GitHub [1.1.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Chaos_1.1.0-beta.3/sdk/chaos/Azure.ResourceManager.Chaos/) | +| Resource Management - Chaos | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.Chaos/1.1.0) | [docs](/dotnet/api/overview/azure/ResourceManager.Chaos-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Chaos_1.1.0/sdk/chaos/Azure.ResourceManager.Chaos/) | | Resource Management - Cognitive Services | NuGet [1.4.0](https://www.nuget.org/packages/Azure.ResourceManager.CognitiveServices/1.4.0) | [docs](/dotnet/api/overview/azure/ResourceManager.CognitiveServices-readme) | GitHub [1.4.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.CognitiveServices_1.4.0/sdk/cognitiveservices/Azure.ResourceManager.CognitiveServices/) | | Resource Management - Communication | NuGet [1.2.1](https://www.nuget.org/packages/Azure.ResourceManager.Communication/1.2.1) | [docs](/dotnet/api/overview/azure/ResourceManager.Communication-readme) | GitHub [1.2.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Communication_1.2.1/sdk/communication/Azure.ResourceManager.Communication/) | | Resource Management - Compute | NuGet [1.9.0](https://www.nuget.org/packages/Azure.ResourceManager.Compute/1.9.0) | [docs](/dotnet/api/overview/azure/ResourceManager.Compute-readme) | GitHub [1.9.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Compute_1.9.0/sdk/compute/Azure.ResourceManager.Compute/) | @@ -205,7 +205,7 @@ | Resource Management - Confluent | NuGet [1.2.1](https://www.nuget.org/packages/Azure.ResourceManager.Confluent/1.2.1) | [docs](/dotnet/api/overview/azure/ResourceManager.Confluent-readme) | GitHub [1.2.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Confluent_1.2.1/sdk/confluent/Azure.ResourceManager.Confluent/) | | Resource Management - Connected VMware vSphere | NuGet [1.1.1](https://www.nuget.org/packages/Azure.ResourceManager.ConnectedVMwarevSphere/1.1.1) | [docs](/dotnet/api/overview/azure/ResourceManager.ConnectedVMwarevSphere-readme) | GitHub [1.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ConnectedVMwarevSphere_1.1.1/sdk/connectedvmwarevsphere/Azure.ResourceManager.ConnectedVMwarevSphere/) | | Resource Management - Consumption | NuGet [1.0.1](https://www.nuget.org/packages/Azure.ResourceManager.Consumption/1.0.1)
NuGet [1.1.0-beta.3](https://www.nuget.org/packages/Azure.ResourceManager.Consumption/1.1.0-beta.3) | [docs](/dotnet/api/overview/azure/ResourceManager.Consumption-readme) | GitHub [1.0.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Consumption_1.0.1/sdk/consumption/Azure.ResourceManager.Consumption/)
GitHub [1.1.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Consumption_1.1.0-beta.3/sdk/consumption/Azure.ResourceManager.Consumption/) | -| Resource Management - Container Apps | NuGet [1.3.0](https://www.nuget.org/packages/Azure.ResourceManager.AppContainers/1.3.0)
NuGet [1.4.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.AppContainers/1.4.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.AppContainers-readme) | GitHub [1.3.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.AppContainers_1.3.0/sdk/containerapps/Azure.ResourceManager.AppContainers/)
GitHub [1.4.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.AppContainers_1.4.0-beta.1/sdk/containerapps/Azure.ResourceManager.AppContainers/) | +| Resource Management - Container Apps | NuGet [1.4.0](https://www.nuget.org/packages/Azure.ResourceManager.AppContainers/1.4.0) | [docs](/dotnet/api/overview/azure/ResourceManager.AppContainers-readme) | GitHub [1.4.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.AppContainers_1.4.0/sdk/containerapps/Azure.ResourceManager.AppContainers/) | | Resource Management - Container Instances | NuGet [1.2.1](https://www.nuget.org/packages/Azure.ResourceManager.ContainerInstance/1.2.1)
NuGet [1.3.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.ContainerInstance/1.3.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.ContainerInstance-readme) | GitHub [1.2.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ContainerInstance_1.2.1/sdk/containerinstance/Azure.ResourceManager.ContainerInstance/)
GitHub [1.3.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ContainerInstance_1.3.0-beta.1/sdk/containerinstance/Azure.ResourceManager.ContainerInstance/) | | Resource Management - Container Orchestrator Runtime | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.ContainerOrchestratorRuntime/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.ContainerOrchestratorRuntime-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.ContainerOrchestratorRuntime_1.0.0-beta.1/sdk/containerorchestratorruntime/Azure.ResourceManager.ContainerOrchestratorRuntime/) | | Resource Management - Container Registry | NuGet [1.3.0](https://www.nuget.org/packages/Azure.ResourceManager.ContainerRegistry/1.3.0) | [docs](/dotnet/api/overview/azure/ResourceManager.ContainerRegistry-readme) | GitHub [1.3.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ContainerRegistry_1.3.0/sdk/containerregistry/Azure.ResourceManager.ContainerRegistry/) | @@ -301,7 +301,7 @@ | Resource Management - Mongo Cluster | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.MongoCluster/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.MongoCluster-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.MongoCluster_1.0.0-beta.1/sdk/mongocluster/Azure.ResourceManager.MongoCluster/) | | Resource Management - Monitor | NuGet [1.3.1](https://www.nuget.org/packages/Azure.ResourceManager.Monitor/1.3.1)
NuGet [1.4.0-beta.3](https://www.nuget.org/packages/Azure.ResourceManager.Monitor/1.4.0-beta.3) | [docs](/dotnet/api/overview/azure/ResourceManager.Monitor-readme) | GitHub [1.3.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Monitor_1.3.1/sdk/monitor/Azure.ResourceManager.Monitor/)
GitHub [1.4.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Monitor_1.4.0-beta.3/sdk/monitor/Azure.ResourceManager.Monitor/) | | Resource Management - MySQL | NuGet [1.1.1](https://www.nuget.org/packages/Azure.ResourceManager.MySql/1.1.1) | [docs](/dotnet/api/overview/azure/ResourceManager.MySql-readme) | GitHub [1.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.MySql_1.1.1/sdk/mysql/Azure.ResourceManager.MySql/) | -| Resource Management - Neon Postgres | NuGet [1.0.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.NeonPostgres/1.0.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.NeonPostgres-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.NeonPostgres_1.0.0-beta.2/sdk/neonpostgres/Azure.ResourceManager.NeonPostgres/) | +| Resource Management - Neon Postgres | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.NeonPostgres/1.0.0) | [docs](/dotnet/api/overview/azure/ResourceManager.NeonPostgres-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.NeonPostgres_1.0.0/sdk/neonpostgres/Azure.ResourceManager.NeonPostgres/) | | Resource Management - NetApp Files | NuGet [1.10.0](https://www.nuget.org/packages/Azure.ResourceManager.NetApp/1.10.0) | [docs](/dotnet/api/overview/azure/ResourceManager.NetApp-readme) | GitHub [1.10.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.NetApp_1.10.0/sdk/netapp/Azure.ResourceManager.NetApp/) | | Resource Management - Network | NuGet [1.10.0](https://www.nuget.org/packages/Azure.ResourceManager.Network/1.10.0)
NuGet [1.11.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.Network/1.11.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.Network-readme) | GitHub [1.10.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Network_1.10.0/sdk/network/Azure.ResourceManager.Network/)
GitHub [1.11.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Network_1.11.0-beta.1/sdk/network/Azure.ResourceManager.Network/) | | Resource Management - Network Cloud | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.NetworkCloud/1.1.0)
NuGet [1.2.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.NetworkCloud/1.2.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.NetworkCloud-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.NetworkCloud_1.1.0/sdk/networkcloud/Azure.ResourceManager.NetworkCloud/)
GitHub [1.2.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.NetworkCloud_1.2.0-beta.1/sdk/networkcloud/Azure.ResourceManager.NetworkCloud/) | @@ -321,6 +321,7 @@ | Resource Management - Power BI Dedicated | NuGet [1.0.0-beta.5](https://www.nuget.org/packages/Azure.ResourceManager.PowerBIDedicated/1.0.0-beta.5) | [docs](/dotnet/api/overview/azure/ResourceManager.PowerBIDedicated-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.5](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.PowerBIDedicated_1.0.0-beta.5/sdk/powerbidedicated/Azure.ResourceManager.PowerBIDedicated/) | | Resource Management - Private DNS | NuGet [1.2.1](https://www.nuget.org/packages/Azure.ResourceManager.PrivateDns/1.2.1) | [docs](/dotnet/api/overview/azure/ResourceManager.PrivateDns-readme) | GitHub [1.2.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.PrivateDns_1.2.1/sdk/privatedns/Azure.ResourceManager.PrivateDns/) | | Resource Management - Provider Hub | NuGet [1.1.1](https://www.nuget.org/packages/Azure.ResourceManager.ProviderHub/1.1.1) | [docs](/dotnet/api/overview/azure/ResourceManager.ProviderHub-readme) | GitHub [1.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ProviderHub_1.1.1/sdk/providerhub/Azure.ResourceManager.ProviderHub/) | +| Resource Management - Purestorageblock | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.PureStorageBlock/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.PureStorageBlock-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.PureStorageBlock_1.0.0-beta.1/sdk/purestorageblock/Azure.ResourceManager.PureStorageBlock/) | | Resource Management - Purview | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.Purview/1.1.0)
NuGet [1.2.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.Purview/1.2.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.Purview-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Purview_1.1.0/sdk/purview/Azure.ResourceManager.Purview/)
GitHub [1.2.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Purview_1.2.0-beta.2/sdk/purview/Azure.ResourceManager.Purview/) | | Resource Management - Quantum | NuGet [1.0.0-beta.6](https://www.nuget.org/packages/Azure.ResourceManager.Quantum/1.0.0-beta.6) | [docs](/dotnet/api/overview/azure/ResourceManager.Quantum-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.6](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Quantum_1.0.0-beta.6/sdk/quantum/Azure.ResourceManager.Quantum/) | | Resource Management - Qumulo | NuGet [1.1.1](https://www.nuget.org/packages/Azure.ResourceManager.Qumulo/1.1.1) | [docs](/dotnet/api/overview/azure/ResourceManager.Qumulo-readme) | GitHub [1.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Qumulo_1.1.1/sdk/qumulo/Azure.ResourceManager.Qumulo/) | @@ -341,6 +342,7 @@ | Resource Management - Resource Mover | NuGet [1.1.1](https://www.nuget.org/packages/Azure.ResourceManager.ResourceMover/1.1.1)
NuGet [1.1.2-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.ResourceMover/1.1.2-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.ResourceMover-readme) | GitHub [1.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ResourceMover_1.1.1/sdk/resourcemover/Azure.ResourceManager.ResourceMover/)
GitHub [1.1.2-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ResourceMover_1.1.2-beta.2/sdk/resourcemover/Azure.ResourceManager.ResourceMover/) | | Resource Management - Resources | NuGet [1.9.1](https://www.nuget.org/packages/Azure.ResourceManager.Resources/1.9.1) | [docs](/dotnet/api/overview/azure/ResourceManager.Resources-readme) | GitHub [1.9.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Resources_1.9.1/sdk/resources/Azure.ResourceManager.Resources/) | | Resource Management - ScVmm | NuGet [1.0.0-beta.6](https://www.nuget.org/packages/Azure.ResourceManager.ScVmm/1.0.0-beta.6) | [docs](/dotnet/api/overview/azure/ResourceManager.ScVmm-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.6](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ScVmm_1.0.0-beta.6/sdk/arc-scvmm/Azure.ResourceManager.ScVmm/) | +| Resource Management - Secretsstoreextension | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.SecretsStoreExtension/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.SecretsStoreExtension-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.SecretsStoreExtension_1.0.0-beta.1/sdk/secretsstoreextension/Azure.ResourceManager.SecretsStoreExtension/) | | Resource Management - Security | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.SecurityCenter/1.1.0)
NuGet [1.2.0-beta.6](https://www.nuget.org/packages/Azure.ResourceManager.SecurityCenter/1.2.0-beta.6) | [docs](/dotnet/api/overview/azure/ResourceManager.SecurityCenter-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.SecurityCenter_1.1.0/sdk/securitycenter/Azure.ResourceManager.SecurityCenter/)
GitHub [1.2.0-beta.6](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.SecurityCenter_1.2.0-beta.6/sdk/securitycenter/Azure.ResourceManager.SecurityCenter/) | | Resource Management - Security DevOps | NuGet [1.0.0-beta.5](https://www.nuget.org/packages/Azure.ResourceManager.SecurityDevOps/1.0.0-beta.5) | [docs](/dotnet/api/overview/azure/ResourceManager.SecurityDevOps-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.5](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.SecurityDevOps_1.0.0-beta.5/sdk/securitydevops/Azure.ResourceManager.SecurityDevOps/) | | Resource Management - Security Insights | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.SecurityInsights/1.1.0)
NuGet [1.2.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.SecurityInsights/1.2.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.SecurityInsights-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.SecurityInsights_1.1.0/sdk/securityinsights/Azure.ResourceManager.SecurityInsights/)
GitHub [1.2.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.SecurityInsights_1.2.0-beta.2/sdk/securityinsights/Azure.ResourceManager.SecurityInsights/) | @@ -552,9 +554,9 @@ | Microsoft.Azure.Functions.Worker.Extensions.ApplicationInsights | NuGet [1.0.0-preview4](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.Extensions.ApplicationInsights/1.0.0-preview4) | | | | Microsoft.Azure.Functions.Worker.Extensions.CosmosDB | NuGet [4.12.0](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.Extensions.CosmosDB/4.12.0) | | | | Microsoft.Azure.Functions.Worker.Extensions.EventGrid | NuGet [3.5.0](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.Extensions.EventGrid/3.5.0) | | | -| Microsoft.Azure.Functions.Worker.Extensions.EventHubs | NuGet [6.3.6](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.Extensions.EventHubs/6.3.6) | | | +| Microsoft.Azure.Functions.Worker.Extensions.EventHubs | NuGet [6.4.0](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.Extensions.EventHubs/6.4.0) | | | | Microsoft.Azure.Functions.Worker.Extensions.Http | NuGet [3.3.0](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.Extensions.Http/3.3.0) | | | -| Microsoft.Azure.Functions.Worker.Extensions.Kafka | NuGet [4.1.0](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.Extensions.Kafka/4.1.0) | | | +| Microsoft.Azure.Functions.Worker.Extensions.Kafka | NuGet [4.1.1](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.Extensions.Kafka/4.1.1) | | | | Microsoft.Azure.Functions.Worker.Extensions.Kusto | NuGet [1.0.11-Preview](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.Extensions.Kusto/1.0.11-Preview) | | | | Microsoft.Azure.Functions.Worker.Extensions.OpenApi | NuGet [1.4.0](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.Extensions.OpenApi/1.4.0)
NuGet [2.0.0-preview2](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.Extensions.OpenApi/2.0.0-preview2) | | | | Microsoft.Azure.Functions.Worker.Extensions.RabbitMQ | NuGet [2.0.4](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.Extensions.RabbitMQ/2.0.4) | | | diff --git a/docs/azure/includes/dotnet-new.md b/docs/azure/includes/dotnet-new.md index 214a0d36710e9..d31f2b152c95d 100644 --- a/docs/azure/includes/dotnet-new.md +++ b/docs/azure/includes/dotnet-new.md @@ -170,7 +170,7 @@ | Provisioning - Service Bus | NuGet [1.0.0](https://www.nuget.org/packages/Azure.Provisioning.ServiceBus/1.0.0) | [docs](/dotnet/api/overview/azure/Provisioning.ServiceBus-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.ServiceBus_1.0.0/sdk/provisioning/Azure.Provisioning.ServiceBus/) | | Provisioning - SignalR | NuGet [1.0.0](https://www.nuget.org/packages/Azure.Provisioning.SignalR/1.0.0) | [docs](/dotnet/api/overview/azure/Provisioning.SignalR-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.SignalR_1.0.0/sdk/provisioning/Azure.Provisioning.SignalR/) | | Provisioning - SQL | NuGet [1.0.0](https://www.nuget.org/packages/Azure.Provisioning.Sql/1.0.0) | [docs](/dotnet/api/overview/azure/Provisioning.Sql-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.Sql_1.0.0/sdk/provisioning/Azure.Provisioning.Sql/) | -| Provisioning - Storage | NuGet [1.0.0](https://www.nuget.org/packages/Azure.Provisioning.Storage/1.0.0) | [docs](/dotnet/api/overview/azure/Provisioning.Storage-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.Storage_1.0.0/sdk/provisioning/Azure.Provisioning.Storage/) | +| Provisioning - Storage | NuGet [1.0.1](https://www.nuget.org/packages/Azure.Provisioning.Storage/1.0.1) | [docs](/dotnet/api/overview/azure/Provisioning.Storage-readme) | GitHub [1.0.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.Storage_1.0.1/sdk/provisioning/Azure.Provisioning.Storage/) | | Provisioning - WebPubSub | NuGet [1.0.0](https://www.nuget.org/packages/Azure.Provisioning.WebPubSub/1.0.0) | [docs](/dotnet/api/overview/azure/Provisioning.WebPubSub-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.WebPubSub_1.0.0/sdk/provisioning/Azure.Provisioning.WebPubSub/) | | Resource Management - Advisor | NuGet [1.0.0-beta.5](https://www.nuget.org/packages/Azure.ResourceManager.Advisor/1.0.0-beta.5) | [docs](/dotnet/api/overview/azure/ResourceManager.Advisor-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.5](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Advisor_1.0.0-beta.5/sdk/advisor/Azure.ResourceManager.Advisor/) | | Resource Management - Agricultureplatform | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.AgriculturePlatform/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.AgriculturePlatform-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.AgriculturePlatform_1.0.0-beta.1/sdk/agricultureplatform/Azure.ResourceManager.AgriculturePlatform/) | @@ -201,7 +201,7 @@ | Resource Management - Bot Service | NuGet [1.1.1](https://www.nuget.org/packages/Azure.ResourceManager.BotService/1.1.1) | [docs](/dotnet/api/overview/azure/ResourceManager.BotService-readme) | GitHub [1.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.BotService_1.1.1/sdk/botservice/Azure.ResourceManager.BotService/) | | Resource Management - Carbonoptimization | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.CarbonOptimization/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.CarbonOptimization-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.CarbonOptimization_1.0.0-beta.1/sdk/carbon/Azure.ResourceManager.CarbonOptimization/) | | Resource Management - Change Analysis | NuGet [1.1.1](https://www.nuget.org/packages/Azure.ResourceManager.ChangeAnalysis/1.1.1) | [docs](/dotnet/api/overview/azure/ResourceManager.ChangeAnalysis-readme) | GitHub [1.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ChangeAnalysis_1.1.1/sdk/changeanalysis/Azure.ResourceManager.ChangeAnalysis/) | -| Resource Management - Chaos | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.Chaos/1.0.0)
NuGet [1.1.0-beta.3](https://www.nuget.org/packages/Azure.ResourceManager.Chaos/1.1.0-beta.3) | [docs](/dotnet/api/overview/azure/ResourceManager.Chaos-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Chaos_1.0.0/sdk/chaos/Azure.ResourceManager.Chaos/)
GitHub [1.1.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Chaos_1.1.0-beta.3/sdk/chaos/Azure.ResourceManager.Chaos/) | +| Resource Management - Chaos | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.Chaos/1.1.0) | [docs](/dotnet/api/overview/azure/ResourceManager.Chaos-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Chaos_1.1.0/sdk/chaos/Azure.ResourceManager.Chaos/) | | Resource Management - Cognitive Services | NuGet [1.4.0](https://www.nuget.org/packages/Azure.ResourceManager.CognitiveServices/1.4.0) | [docs](/dotnet/api/overview/azure/ResourceManager.CognitiveServices-readme) | GitHub [1.4.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.CognitiveServices_1.4.0/sdk/cognitiveservices/Azure.ResourceManager.CognitiveServices/) | | Resource Management - Communication | NuGet [1.2.1](https://www.nuget.org/packages/Azure.ResourceManager.Communication/1.2.1) | [docs](/dotnet/api/overview/azure/ResourceManager.Communication-readme) | GitHub [1.2.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Communication_1.2.1/sdk/communication/Azure.ResourceManager.Communication/) | | Resource Management - Compute | NuGet [1.9.0](https://www.nuget.org/packages/Azure.ResourceManager.Compute/1.9.0) | [docs](/dotnet/api/overview/azure/ResourceManager.Compute-readme) | GitHub [1.9.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Compute_1.9.0/sdk/compute/Azure.ResourceManager.Compute/) | @@ -211,7 +211,7 @@ | Resource Management - Confluent | NuGet [1.2.1](https://www.nuget.org/packages/Azure.ResourceManager.Confluent/1.2.1) | [docs](/dotnet/api/overview/azure/ResourceManager.Confluent-readme) | GitHub [1.2.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Confluent_1.2.1/sdk/confluent/Azure.ResourceManager.Confluent/) | | Resource Management - Connected VMware vSphere | NuGet [1.1.1](https://www.nuget.org/packages/Azure.ResourceManager.ConnectedVMwarevSphere/1.1.1) | [docs](/dotnet/api/overview/azure/ResourceManager.ConnectedVMwarevSphere-readme) | GitHub [1.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ConnectedVMwarevSphere_1.1.1/sdk/connectedvmwarevsphere/Azure.ResourceManager.ConnectedVMwarevSphere/) | | Resource Management - Consumption | NuGet [1.0.1](https://www.nuget.org/packages/Azure.ResourceManager.Consumption/1.0.1)
NuGet [1.1.0-beta.3](https://www.nuget.org/packages/Azure.ResourceManager.Consumption/1.1.0-beta.3) | [docs](/dotnet/api/overview/azure/ResourceManager.Consumption-readme) | GitHub [1.0.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Consumption_1.0.1/sdk/consumption/Azure.ResourceManager.Consumption/)
GitHub [1.1.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Consumption_1.1.0-beta.3/sdk/consumption/Azure.ResourceManager.Consumption/) | -| Resource Management - Container Apps | NuGet [1.3.0](https://www.nuget.org/packages/Azure.ResourceManager.AppContainers/1.3.0)
NuGet [1.4.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.AppContainers/1.4.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.AppContainers-readme) | GitHub [1.3.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.AppContainers_1.3.0/sdk/containerapps/Azure.ResourceManager.AppContainers/)
GitHub [1.4.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.AppContainers_1.4.0-beta.1/sdk/containerapps/Azure.ResourceManager.AppContainers/) | +| Resource Management - Container Apps | NuGet [1.4.0](https://www.nuget.org/packages/Azure.ResourceManager.AppContainers/1.4.0) | [docs](/dotnet/api/overview/azure/ResourceManager.AppContainers-readme) | GitHub [1.4.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.AppContainers_1.4.0/sdk/containerapps/Azure.ResourceManager.AppContainers/) | | Resource Management - Container Instances | NuGet [1.2.1](https://www.nuget.org/packages/Azure.ResourceManager.ContainerInstance/1.2.1)
NuGet [1.3.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.ContainerInstance/1.3.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.ContainerInstance-readme) | GitHub [1.2.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ContainerInstance_1.2.1/sdk/containerinstance/Azure.ResourceManager.ContainerInstance/)
GitHub [1.3.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ContainerInstance_1.3.0-beta.1/sdk/containerinstance/Azure.ResourceManager.ContainerInstance/) | | Resource Management - Container Orchestrator Runtime | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.ContainerOrchestratorRuntime/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.ContainerOrchestratorRuntime-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.ContainerOrchestratorRuntime_1.0.0-beta.1/sdk/containerorchestratorruntime/Azure.ResourceManager.ContainerOrchestratorRuntime/) | | Resource Management - Container Registry | NuGet [1.3.0](https://www.nuget.org/packages/Azure.ResourceManager.ContainerRegistry/1.3.0) | [docs](/dotnet/api/overview/azure/ResourceManager.ContainerRegistry-readme) | GitHub [1.3.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ContainerRegistry_1.3.0/sdk/containerregistry/Azure.ResourceManager.ContainerRegistry/) | @@ -308,7 +308,7 @@ | Resource Management - Mongo Cluster | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.MongoCluster/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.MongoCluster-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.MongoCluster_1.0.0-beta.1/sdk/mongocluster/Azure.ResourceManager.MongoCluster/) | | Resource Management - Monitor | NuGet [1.3.1](https://www.nuget.org/packages/Azure.ResourceManager.Monitor/1.3.1)
NuGet [1.4.0-beta.3](https://www.nuget.org/packages/Azure.ResourceManager.Monitor/1.4.0-beta.3) | [docs](/dotnet/api/overview/azure/ResourceManager.Monitor-readme) | GitHub [1.3.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Monitor_1.3.1/sdk/monitor/Azure.ResourceManager.Monitor/)
GitHub [1.4.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Monitor_1.4.0-beta.3/sdk/monitor/Azure.ResourceManager.Monitor/) | | Resource Management - MySQL | NuGet [1.1.1](https://www.nuget.org/packages/Azure.ResourceManager.MySql/1.1.1) | [docs](/dotnet/api/overview/azure/ResourceManager.MySql-readme) | GitHub [1.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.MySql_1.1.1/sdk/mysql/Azure.ResourceManager.MySql/) | -| Resource Management - Neon Postgres | NuGet [1.0.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.NeonPostgres/1.0.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.NeonPostgres-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.NeonPostgres_1.0.0-beta.2/sdk/neonpostgres/Azure.ResourceManager.NeonPostgres/) | +| Resource Management - Neon Postgres | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.NeonPostgres/1.0.0) | [docs](/dotnet/api/overview/azure/ResourceManager.NeonPostgres-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.NeonPostgres_1.0.0/sdk/neonpostgres/Azure.ResourceManager.NeonPostgres/) | | Resource Management - NetApp Files | NuGet [1.10.0](https://www.nuget.org/packages/Azure.ResourceManager.NetApp/1.10.0) | [docs](/dotnet/api/overview/azure/ResourceManager.NetApp-readme) | GitHub [1.10.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.NetApp_1.10.0/sdk/netapp/Azure.ResourceManager.NetApp/) | | Resource Management - Network | NuGet [1.10.0](https://www.nuget.org/packages/Azure.ResourceManager.Network/1.10.0)
NuGet [1.11.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.Network/1.11.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.Network-readme) | GitHub [1.10.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Network_1.10.0/sdk/network/Azure.ResourceManager.Network/)
GitHub [1.11.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Network_1.11.0-beta.1/sdk/network/Azure.ResourceManager.Network/) | | Resource Management - Network Analytics | NuGet [1.0.1](https://www.nuget.org/packages/Azure.ResourceManager.NetworkAnalytics/1.0.1) | [docs](/dotnet/api/overview/azure/ResourceManager.NetworkAnalytics-readme) | GitHub [1.0.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.NetworkAnalytics_1.0.1/sdk/networkanalytics/Azure.ResourceManager.NetworkAnalytics/) | @@ -329,6 +329,7 @@ | Resource Management - Power BI Dedicated | NuGet [1.0.0-beta.5](https://www.nuget.org/packages/Azure.ResourceManager.PowerBIDedicated/1.0.0-beta.5) | [docs](/dotnet/api/overview/azure/ResourceManager.PowerBIDedicated-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.5](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.PowerBIDedicated_1.0.0-beta.5/sdk/powerbidedicated/Azure.ResourceManager.PowerBIDedicated/) | | Resource Management - Private DNS | NuGet [1.2.1](https://www.nuget.org/packages/Azure.ResourceManager.PrivateDns/1.2.1) | [docs](/dotnet/api/overview/azure/ResourceManager.PrivateDns-readme) | GitHub [1.2.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.PrivateDns_1.2.1/sdk/privatedns/Azure.ResourceManager.PrivateDns/) | | Resource Management - Provider Hub | NuGet [1.1.1](https://www.nuget.org/packages/Azure.ResourceManager.ProviderHub/1.1.1) | [docs](/dotnet/api/overview/azure/ResourceManager.ProviderHub-readme) | GitHub [1.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ProviderHub_1.1.1/sdk/providerhub/Azure.ResourceManager.ProviderHub/) | +| Resource Management - Purestorageblock | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.PureStorageBlock/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.PureStorageBlock-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.PureStorageBlock_1.0.0-beta.1/sdk/purestorageblock/Azure.ResourceManager.PureStorageBlock/) | | Resource Management - Purview | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.Purview/1.1.0)
NuGet [1.2.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.Purview/1.2.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.Purview-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Purview_1.1.0/sdk/purview/Azure.ResourceManager.Purview/)
GitHub [1.2.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Purview_1.2.0-beta.2/sdk/purview/Azure.ResourceManager.Purview/) | | Resource Management - Quantum | NuGet [1.0.0-beta.6](https://www.nuget.org/packages/Azure.ResourceManager.Quantum/1.0.0-beta.6) | [docs](/dotnet/api/overview/azure/ResourceManager.Quantum-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.6](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Quantum_1.0.0-beta.6/sdk/quantum/Azure.ResourceManager.Quantum/) | | Resource Management - Qumulo | NuGet [1.1.1](https://www.nuget.org/packages/Azure.ResourceManager.Qumulo/1.1.1) | [docs](/dotnet/api/overview/azure/ResourceManager.Qumulo-readme) | GitHub [1.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Qumulo_1.1.1/sdk/qumulo/Azure.ResourceManager.Qumulo/) | @@ -349,6 +350,7 @@ | Resource Management - Resource Mover | NuGet [1.1.1](https://www.nuget.org/packages/Azure.ResourceManager.ResourceMover/1.1.1)
NuGet [1.1.2-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.ResourceMover/1.1.2-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.ResourceMover-readme) | GitHub [1.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ResourceMover_1.1.1/sdk/resourcemover/Azure.ResourceManager.ResourceMover/)
GitHub [1.1.2-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ResourceMover_1.1.2-beta.2/sdk/resourcemover/Azure.ResourceManager.ResourceMover/) | | Resource Management - Resources | NuGet [1.9.1](https://www.nuget.org/packages/Azure.ResourceManager.Resources/1.9.1) | [docs](/dotnet/api/overview/azure/ResourceManager.Resources-readme) | GitHub [1.9.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Resources_1.9.1/sdk/resources/Azure.ResourceManager.Resources/) | | Resource Management - ScVmm | NuGet [1.0.0-beta.6](https://www.nuget.org/packages/Azure.ResourceManager.ScVmm/1.0.0-beta.6) | [docs](/dotnet/api/overview/azure/ResourceManager.ScVmm-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.6](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ScVmm_1.0.0-beta.6/sdk/arc-scvmm/Azure.ResourceManager.ScVmm/) | +| Resource Management - Secretsstoreextension | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.SecretsStoreExtension/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.SecretsStoreExtension-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.SecretsStoreExtension_1.0.0-beta.1/sdk/secretsstoreextension/Azure.ResourceManager.SecretsStoreExtension/) | | Resource Management - Security | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.SecurityCenter/1.1.0)
NuGet [1.2.0-beta.6](https://www.nuget.org/packages/Azure.ResourceManager.SecurityCenter/1.2.0-beta.6) | [docs](/dotnet/api/overview/azure/ResourceManager.SecurityCenter-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.SecurityCenter_1.1.0/sdk/securitycenter/Azure.ResourceManager.SecurityCenter/)
GitHub [1.2.0-beta.6](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.SecurityCenter_1.2.0-beta.6/sdk/securitycenter/Azure.ResourceManager.SecurityCenter/) | | Resource Management - Security DevOps | NuGet [1.0.0-beta.5](https://www.nuget.org/packages/Azure.ResourceManager.SecurityDevOps/1.0.0-beta.5) | [docs](/dotnet/api/overview/azure/ResourceManager.SecurityDevOps-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.5](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.SecurityDevOps_1.0.0-beta.5/sdk/securitydevops/Azure.ResourceManager.SecurityDevOps/) | | Resource Management - Security Insights | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.SecurityInsights/1.1.0)
NuGet [1.2.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.SecurityInsights/1.2.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.SecurityInsights-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.SecurityInsights_1.1.0/sdk/securityinsights/Azure.ResourceManager.SecurityInsights/)
GitHub [1.2.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.SecurityInsights_1.2.0-beta.2/sdk/securityinsights/Azure.ResourceManager.SecurityInsights/) | diff --git a/docs/core/compatibility/extensions/10.0/provideraliasattribute-moved-assembly.md b/docs/core/compatibility/extensions/10.0/provideraliasattribute-moved-assembly.md index 320dc17c2e89d..c33f4f2876698 100644 --- a/docs/core/compatibility/extensions/10.0/provideraliasattribute-moved-assembly.md +++ b/docs/core/compatibility/extensions/10.0/provideraliasattribute-moved-assembly.md @@ -2,6 +2,7 @@ title: "Breaking change: ProviderAliasAttribute moved to Microsoft.Extensions.Logging.Abstractions assembly" description: Learn about the breaking change in .NET 10 where the ProviderAliasAttribute class moved from the Microsoft.Extensions.Logging assembly to the Microsoft.Extensions.Logging.Abstractions assembly. ms.date: 05/19/2025 +ai-usage: ai-assisted --- # ProviderAliasAttribute moved to Microsoft.Extensions.Logging.Abstractions diff --git a/docs/core/deploying/native-aot/cross-compile.md b/docs/core/deploying/native-aot/cross-compile.md index 5d627af4a167d..07bf01b93596a 100644 --- a/docs/core/deploying/native-aot/cross-compile.md +++ b/docs/core/deploying/native-aot/cross-compile.md @@ -9,7 +9,7 @@ ms.custom: linux-related-content # Cross-compilation -Cross-compilation is a process of creating executable code for a platform other than the one on which the compiler is running. The platform difference might be a different OS or a different architecture. For instance, compiling for Windows from Linux, or for Arm64 from x64. On Linux, the difference can also be between the standard C library implementations - glibc (e.g. Ubuntu Linux) or musl (e.g. Alpine Linux). +Cross-compilation is a process of creating executable code for a platform other than the one on which the compiler is running. The platform difference might be a different OS or a different architecture. For instance, compiling for Windows from Linux, or for Arm64 from x64. On Linux, the difference can also be between the standard C library implementations - glibc (for example, Ubuntu Linux) or musl (for example, Alpine Linux). Native AOT uses platform tools (linkers) to link platform libraries (static and dynamic) together with AOT-compiled managed code into the final executable file. The availability of cross-linkers and static/dynamic libraries for the target system limits the OS/architecture pairs that can cross-compile. diff --git a/docs/core/diagnostics/dotnet-trace.md b/docs/core/diagnostics/dotnet-trace.md index 9ebcd9603c6ff..ef53be4dadadb 100644 --- a/docs/core/diagnostics/dotnet-trace.md +++ b/docs/core/diagnostics/dotnet-trace.md @@ -53,7 +53,7 @@ The `dotnet-trace` tool: - **`--version`** Displays the version of the dotnet-trace utility. - + - **`--duration`** How long to run the trace. `--duration 00:00:00:05` will run it for 5 seconds. @@ -100,7 +100,7 @@ dotnet-trace collect [--buffersize ] [--clreventlevel ] [-- Verbosity of CLR events to be emitted. The following table shows the available event levels. - + | String value | Numeric value | | --------------- | :-----------: | | `logalways` | `0` | @@ -179,18 +179,18 @@ dotnet-trace collect [--buffersize ] [--clreventlevel ] [-- - Linux and macOS - a path to a Unix domain socket such as `/foo/tool1.socket`. - Windows - a path to a named pipe such as `\\.\pipe\my_diag_port1`. - Android, iOS, and tvOS - an IP:port such as `127.0.0.1:9000`. - + By default, `dotnet-trace` listens at the specified address. You can request `dotnet-trace` to connect instead by appending `,connect` after the address. For example, `--diagnostic-port /foo/tool1.socket,connect` will connect to a .NET runtime process that is listening to the `/foo/tool1.socket` Unix domain socket. - + To learn how to use this option to collect a trace from app startup, see [Use diagnostic port to collect a trace from app startup](#use-diagnostic-port-to-collect-a-trace-from-app-startup). - + - **`--duration `** The time for the trace to run. Use the `dd:hh:mm:ss` format. For example `00:00:00:05` will run it for 5 seconds. - **`-o|--output `** - The output path for the collected trace data. If not specified it defaults to `__.nettrace`, e.g., `myapp_20210315_111514.nettrace``. + The output path for the collected trace data. If not specified it defaults to `__.nettrace`, for example, `myapp_20210315_111514.nettrace``. - **`-p|--process-id `** @@ -238,15 +238,15 @@ dotnet-trace collect [--buffersize ] [--clreventlevel ] [-- - **`--stopping-event-provider-name`** - A string, parsed as-is, that will stop the trace upon hitting an event with the matching provider name. For a more specific stopping event, additionally provide `--stopping-event-event-name` and/or `--stopping-event-payload-filter`. e.g. `--stopping-event-provider-name Microsoft-Windows-DotNETRuntime` to stop the trace upon hitting the first event emitted by the `Microsoft-Windows-DotNETRuntime` event provider. + A string, parsed as-is, that will stop the trace upon hitting an event with the matching provider name. For a more specific stopping event, additionally provide `--stopping-event-event-name` and/or `--stopping-event-payload-filter`. for example, `--stopping-event-provider-name Microsoft-Windows-DotNETRuntime` to stop the trace upon hitting the first event emitted by the `Microsoft-Windows-DotNETRuntime` event provider. - **`--stopping-event-event-name`** - A string, parsed as-is, that will stop the trace upon hitting an event with the matching event name. Requires `--stopping-event-provider-name` to be set. For a more specific stopping event, additionally provide `--stopping-event-payload-filter`. e.g. `--stopping-event-provider-name Microsoft-Windows-DotNETRuntime --stopping-event-event-name Method/JittingStarted` to stop the trace upon hitting the first `Method/JittingStarted` event emitted by the `Microsoft-Windows-DotNETRuntime` event provider. + A string, parsed as-is, that will stop the trace upon hitting an event with the matching event name. Requires `--stopping-event-provider-name` to be set. For a more specific stopping event, additionally provide `--stopping-event-payload-filter`. for example, `--stopping-event-provider-name Microsoft-Windows-DotNETRuntime --stopping-event-event-name Method/JittingStarted` to stop the trace upon hitting the first `Method/JittingStarted` event emitted by the `Microsoft-Windows-DotNETRuntime` event provider. - **`--stopping-event-payload-filter`** - A string, parsed as [payload_field_name]:[payload_field_value] pairs separated by commas, that will stop the trace upon hitting an event containing all specified payload pairs. Requires `--stopping-event-provider-name` and `--stopping-event-event-name` to be set. e.g. `--stopping-event-provider-name Microsoft-Windows-DotNETRuntime --stopping-event-event-name Method/JittingStarted --stopping-event-payload-filter MethodNameSpace:Program,MethodName:OnButtonClick` to stop the trace upon the first `Method/JittingStarted` event for the method `OnButtonClick` in the `Program` namespace emitted by the `Microsoft-Windows-DotNETRuntime` event provider. + A string, parsed as [payload_field_name]:[payload_field_value] pairs separated by commas, that will stop the trace upon hitting an event containing all specified payload pairs. Requires `--stopping-event-provider-name` and `--stopping-event-event-name` to be set. for example, `--stopping-event-provider-name Microsoft-Windows-DotNETRuntime --stopping-event-event-name Method/JittingStarted --stopping-event-payload-filter MethodNameSpace:Program,MethodName:OnButtonClick` to stop the trace upon the first `Method/JittingStarted` event for the method `OnButtonClick` in the `Program` namespace emitted by the `Microsoft-Windows-DotNETRuntime` event provider. > [!NOTE] @@ -307,7 +307,7 @@ Suppose you start a long-running app using the command ```dotnet run --configura ```dotnetcli > dotnet-trace ps - + 21932 dotnet C:\Program Files\dotnet\dotnet.exe run --configuration Release 36656 dotnet C:\Program Files\dotnet\dotnet.exe ``` diff --git a/docs/core/install/linux-ubuntu-decision.md b/docs/core/install/linux-ubuntu-decision.md index 2eea6f2271550..3a5b513c28b5a 100644 --- a/docs/core/install/linux-ubuntu-decision.md +++ b/docs/core/install/linux-ubuntu-decision.md @@ -93,7 +93,7 @@ If you want to source the .NET packages from an Ubuntu feed, you need to deprior ### I want to create a .NET app -Use the same package sources for the SDK as you use for the runtime. It is recommended that you install .NET through an Ubuntu feed. If, however you want to install .NET from another source (e.g. the [Microsoft package repository](#register-the-microsoft-package-repository) to access higher SDK feature bands), you should uninstall .NET, configure your package manager to ignore .NET packages from the Ubuntu feed and reinstall it from the other source. +Use the same package sources for the SDK as you use for the runtime. It is recommended that you install .NET through an Ubuntu feed. If, however you want to install .NET from another source (for example, the [Microsoft package repository](#register-the-microsoft-package-repository) to access higher SDK feature bands), you should uninstall .NET, configure your package manager to ignore .NET packages from the Ubuntu feed and reinstall it from the other source. Review the other suggestions in the [Decide how to install .NET](#decide-how-to-install-net) section. @@ -228,7 +228,7 @@ sudo apt update ``` > [!TIP] -> The previous script was written for Ubuntu and might not work if you're using a derived distribution, such as Linux Mint. It's likely that the `$ID` and `$VERSION_ID` variables won't be assigned the correct values, making the URI for the `wget` command invalid. The `$ID` corresponds to the distribution (e.g., `ubuntu`), while `$VERSION_ID` maps to the specific version of Ubuntu you want to get packages for, such as 22.04 or 23.10. +> The previous script was written for Ubuntu and might not work if you're using a derived distribution, such as Linux Mint. It's likely that the `$ID` and `$VERSION_ID` variables won't be assigned the correct values, making the URI for the `wget` command invalid. The `$ID` corresponds to the distribution (for example, `ubuntu`), while `$VERSION_ID` maps to the specific version of Ubuntu you want to get packages for, such as 22.04 or 23.10. > > For example, on Ubuntu 22.04 `$ID` would be `ubuntu` and `$VERSION_ID` would be `22.04`. The URL would look like: > `https://packages.microsoft.com/config/ubuntu/22.04/packages-microsoft-prod.deb`. diff --git a/docs/core/porting/github-copilot-app-modernization-faq.yml b/docs/core/porting/github-copilot-app-modernization-faq.yml index c3ad4a80de75f..789c58e9bda7d 100644 --- a/docs/core/porting/github-copilot-app-modernization-faq.yml +++ b/docs/core/porting/github-copilot-app-modernization-faq.yml @@ -17,21 +17,21 @@ sections: questions: - question: What can the tool do? answer: | - Currently, app modernization - upgrade for .NET helps you upgrade your .NET projects to newer versions of .NET. The tool is an extension for Visual Studio that performs the following steps in a GitHub Copilot chat session: + Currently, GitHub Copilot app modernization - upgrade for .NET helps you upgrade your .NET projects to newer versions of .NET. The tool is an extension for Visual Studio that performs the following steps in a GitHub Copilot chat session: - - Analyze your projects and proposes an upgrade plan. + - Analyzes your projects and proposes an upgrade plan. - According to the plan, runs a series of tasks to upgrade your projects. - Operates in a working branch under a local Git repository. - - Automatically fix issues during the code transformation. - - Report progress and allow access to code changes & logs. + - Automatically fixes issues during the code transformation. + - Reports progress and allow access to code changes & logs. - Learns from the interactive experience with you (within the context of the session) to improve subsequent transformations. - question: What can the tool upgrade? answer: | - App modernization - upgrade for .NET currently focuses on migrating your projects from one version of .NET to another. For example, upgrading from .NET Core 3.1 or .NET 6, to .NET 9. It also upgrades dependencies and fixes errors in the code post-migration. + GitHub Copilot app modernization - upgrade for .NET currently focuses on migrating your projects from one version of .NET to another. For example, upgrading from .NET Core 3.1 or .NET 6, to .NET 9. It also upgrades dependencies and fixes errors in the code post-migration. Besides upgrading the target framework, the tool can work with the following types of projects: - + - Azure Functions. - Console apps and class libraries. - Web technologies such as: @@ -44,10 +44,11 @@ sections: - question: What limitations are there? answer: | - - It doesn't support .NET Framework projects. (First upgrade the project to .NET with the [Upgrade Assistant tool](upgrade-assistant-overview.md)) + - It doesn't support .NET Framework projects. (First upgrade the project to .NET with the [Upgrade Assistant tool](upgrade-assistant-overview.md).) - Only Git repositories are supported. - There's no guarantee that the upgrade suggestions are considered best practices. - The LLM doesn't persist learning from the upgrade. Meaning, code fixes and corrections you provide during the upgrade process don't persist and can't be remembered for future upgrades. + - It only runs on Windows. - question: What data is collected? answer: | @@ -55,15 +56,15 @@ sections: - question: Can I disable telemetry? answer: | - Yes, you can disable telemetry through Visual Studio itself. In Visual Studio, select **Help** > **Privacy** > **Privacy Settings** > **"No, I would not like to participate."** + Yes, you can disable telemetry. In Visual Studio, select **Help** > **Privacy** > **Privacy Settings** > **"No, I would not like to participate."** - question: Can I train the model based on my code base? answer: | - No. Unlike traditional AI tools where you might enter freeform prompts, the tool operates in a more structured way. The AI is embedded within the build-and-fix process, meaning, the prompts it uses are predefined and tied to the upgrade plan. So it's not something you can train on your codebase, and it's not something you can manually steer with custom instructions, beyond the changes you can make to the plan markdown file. + No. Unlike traditional AI tools where you might enter freeform prompts, the tool operates in a more structured way. The AI is embedded within the build-and-fix process, meaning the prompts it uses are predefined and tied to the upgrade plan. So it's not something you can train on your codebase, and it's not something you can manually steer with custom instructions, beyond the changes you can make to the plan Markdown file. - However, the tool does have some adaptability within a session. If you manually adjust a fix, it learns from that interaction in the short term and applies similar corrections if it encounters the same issue again. Think of it as refining its approach within the scope of that upgrade. We never store a user's codebase and never use your code for training the model. Once an upgrade is complete, session data is deleted and not stored. + However, the tool does have some adaptability within a session. If you manually adjust a fix, it learns from that interaction in the short term and applies similar corrections if it encounters the same issue again. Think of it as refining its approach within the scope of that upgrade. We never store a user's codebase and never use your code for training the model. Once an upgrade is complete, session data is deleted and not stored. additionalContent: | ## Related content - To learn more, see [What is GitHub Copilot app modernization - upgrade for .NET?](github-copilot-app-modernization-overview.md). \ No newline at end of file + To learn more, see [What is GitHub Copilot app modernization - upgrade for .NET?](github-copilot-app-modernization-overview.md). diff --git a/docs/core/porting/github-copilot-app-modernization-install.md b/docs/core/porting/github-copilot-app-modernization-install.md index d36ff71a60ddd..d659343c260ae 100644 --- a/docs/core/porting/github-copilot-app-modernization-install.md +++ b/docs/core/porting/github-copilot-app-modernization-install.md @@ -17,11 +17,11 @@ This article guides you through installing GitHub Copilot app modernization - up ## Prerequisites -- Windows Operating System -- [Visual Studio 2022 version 17.14 or newer](https://visualstudio.microsoft.com/downloads/). -- [.NET desktop development workload](/visualstudio/install/modify-visual-studio?view=vs-2022&preserve-view=true#change-workloads-or-individual-components). +- Windows operating system +- [Visual Studio 2022 version 17.14 or newer](https://visualstudio.microsoft.com/downloads/) +- [.NET desktop development workload](/visualstudio/install/modify-visual-studio?view=vs-2022&preserve-view=true#change-workloads-or-individual-components) -## Visual Studio Extension +## Visual Studio extension The following steps install the Visual Studio extension. @@ -32,12 +32,12 @@ The following steps install the Visual Studio extension. If the **Open Recent \ Get Started** window opens, select the **Continue without code** link. -01. Select the **Extensions** > **Manage Extensions** menu to open the **Extension Manager** window. +01. Select the **Extensions** > **Manage Extensions** menu to open **Extension Manager**. 01. Select the **Browse** tab. -01. Type **GitHub Copilot App Modernization** into the search box. -01. Select the **GitHub Copilot App Modernization** item, and then select **Install**. +01. Enter `GitHub Copilot app modernization` into the search box. +01. Select **GitHub Copilot app modernization**, and then select **Install**. - :::image type="content" source="media/github-copilot-app-modernization-install/visual-studio-manage-extensions.png" alt-text="The manage extensions window in Visual Studio, showing the GitHub Copilot App Modernization."::: + :::image type="content" source="media/github-copilot-app-modernization-install/visual-studio-manage-extensions.png" alt-text="The manage extensions window in Visual Studio, showing GitHub Copilot app modernization."::: 01. Once the extension finishes downloading, close Visual Studio to automatically start the installation. @@ -47,11 +47,10 @@ The following steps install the Visual Studio extension. ## Validation -The following information helps you determine that GitHub Copilot App Modernization is installed. +There are two ways to determine if GitHub Copilot App Modernization is installed as a Visual Studio extension: -There are two ways to determine if GitHub Copilot App Modernization is installed as a Visual Studio extension. The quickest way is to right-click on any .NET or .NET Framework project in the **Solution Explorer** window and check for an **Upgrade** menu item. - -Another way is to select the **Extensions** > **Manage Extensions** menu to open the **Extension Manager** window. Then, select the **Installed** tab and find it in the list of installed extensions. +- The quickest way is to right-click on any .NET or .NET Framework project in **Solution Explorer** and check for an **Upgrade** menu item. +- Another way is to select the **Extensions** > **Manage Extensions** menu to open the **Extension Manager** window. Then, select the **Installed** tab and find it in the list of installed extensions. ## Related content diff --git a/docs/core/porting/github-copilot-app-modernization-overview.md b/docs/core/porting/github-copilot-app-modernization-overview.md index 48269609e0fb4..fb435de6a4e90 100644 --- a/docs/core/porting/github-copilot-app-modernization-overview.md +++ b/docs/core/porting/github-copilot-app-modernization-overview.md @@ -1,5 +1,5 @@ --- -title: GitHub Copilot app modernization - upgrade for .NET Overview +title: GitHub Copilot app modernization - upgrade for .NET overview description: "Learn more about GitHub Copilot app modernization - upgrade for .NET. This Visual Studio extension helps you upgrade your code and projects. Upgrades can include .NET versioning or migrating code from one technology to another." titleSuffix: "" author: adegeo @@ -13,7 +13,7 @@ ms.date: 05/16/2025 # What is GitHub Copilot app modernization - upgrade for .NET? -GitHub Copilot app modernization - upgrade for .NET is a powerful Visual Studio extension that works with you to upgrade projects to newer versions of .NET, upgrade your dependencies, and applies code fixes. +GitHub Copilot app modernization - upgrade for .NET is a powerful Visual Studio extension that works with you to upgrade projects to newer versions of .NET, upgrade your dependencies, and apply code fixes. GitHub Copilot app modernization is distributed as a Visual Studio extension, and is an interactive upgrade process. @@ -70,12 +70,12 @@ The first step to upgrading is generating a plan by interacting with GitHub Copi ## Generate a plan -Once the process starts, Copilot analyzes your projects and their dependencies, and then asks you a series of questions about the upgrade. After you answer these questions, an upgrade plan is written in the form of a markdown file. If you tell Copilot to proceed with the upgrade, this plan describes the steps of the upgrade process. +Once the process starts, Copilot analyzes your projects and their dependencies, and then asks you a series of questions about the upgrade. After you answer these questions, an upgrade plan is written in the form of a Markdown file. If you tell Copilot to proceed with the upgrade, this plan describes the steps of the upgrade process. -You can adjust the plan by editing the markdown file to change the upgrade steps or add more context. +You can adjust the plan by editing the Markdown file to change the upgrade steps or add more context. > [!CAUTION] -> The plan is generated based on the inter-dependencies of your projects. You can prevent the upgrade from succeeding if you modify the plan in such a way that the migration path can't complete. For example, if **Project A** depends on **Project B** and you remove **Project B** from the upgrade plan, upgrading **Project A** might fail. +> The plan is generated based on the inter-dependencies of your projects. The upgrade won't succeed if you modify the plan in such a way that the migration path can't complete. For example, if **Project A** depends on **Project B** and you remove **Project B** from the upgrade plan, upgrading **Project A** might fail. The following snippet demonstrates the structure of a plan: @@ -114,7 +114,7 @@ NuGet packages used across all selected projects or their dependencies that need ## Perform the upgrade -Once an upgrade plan is ready, tell the Copilot to start the upgrade. Once the upgrade process starts, Copilot lets you know what it's doing in the chat window and it opens the **Upgrade Progress Details** document, which lists the status of every step. If it runs into a problem, Copilot pauses and asks for your direction or help in fixing these problems. +Once an upgrade plan is ready, tell Copilot to start the upgrade. Once the upgrade process starts, Copilot lets you know what it's doing in the chat window and it opens the **Upgrade Progress Details** document, which lists the status of every step. If it runs into a problem, Copilot pauses and asks for your direction or help in fixing these problems. The tool differs in experience based on whether or not Copilot _agent mode_ is enabled. diff --git a/docs/core/porting/index.md b/docs/core/porting/index.md index f677586529c31..cd3e21a48e705 100644 --- a/docs/core/porting/index.md +++ b/docs/core/porting/index.md @@ -27,7 +27,7 @@ Consider the following dependencies before you migrate a Windows Forms or WPF ap For tutorials on migrating your desktop application to .NET, see one of the following articles: -- [Migrate .NET Framework WPF apps to .NET](/dotnet/desktop/wpf/migration/convert-project-from-net-framework) +- [How to upgrade a WPF desktop app to .NET](/dotnet/desktop/wpf/migration/) - [Migrate .NET Framework Windows Forms apps to .NET](/dotnet/desktop/winforms/migration/) ## Windows-specific APIs @@ -173,6 +173,6 @@ When porting your application to .NET, consider the following suggestions in ord - [Overview of the .NET Upgrade Assistant](upgrade-assistant-overview.md) - [ASP.NET to ASP.NET Core migration](/aspnet/core/migration/proper-to-2x) -- [Migrate .NET Framework WPF apps to .NET](/dotnet/desktop/wpf/migration/convert-project-from-net-framework) +- [How to upgrade a WPF desktop app to .NET](/dotnet/desktop/wpf/migration/) - [Migrate .NET Framework Windows Forms apps to .NET](/dotnet/desktop/winforms/migration/) - [.NET 5 vs. .NET Framework for server apps](../../standard/choosing-core-framework-server.md) diff --git a/docs/core/whats-new/dotnet-core-3-0.md b/docs/core/whats-new/dotnet-core-3-0.md index 309bd6e3e2a33..6127c9ab8167b 100644 --- a/docs/core/whats-new/dotnet-core-3-0.md +++ b/docs/core/whats-new/dotnet-core-3-0.md @@ -296,7 +296,7 @@ dotnet new winforms Visual Studio 2019 adds **New Project** templates for .NET Core 3.0 Windows Forms and WPF. -For more information about how to port an existing .NET Framework application, see [Port WPF projects](/dotnet/desktop/wpf/migration/convert-project-from-net-framework) and [Port Windows Forms projects](/dotnet/desktop/winforms/migration/). +For more information about how to port an existing .NET Framework application, see [How to upgrade a WPF desktop app to .NET](/dotnet/desktop/wpf/migration/) and [Port Windows Forms projects](/dotnet/desktop/winforms/migration/). #### WinForms high DPI diff --git a/docs/fundamentals/networking/telemetry/includes/aspire-telemetry-overview.md b/docs/fundamentals/networking/telemetry/includes/aspire-telemetry-overview.md index 85af5fd92a2e1..68f4246c01113 100644 --- a/docs/fundamentals/networking/telemetry/includes/aspire-telemetry-overview.md +++ b/docs/fundamentals/networking/telemetry/includes/aspire-telemetry-overview.md @@ -2,6 +2,6 @@ A simple way to collect traces and metrics in ASP.NET applications is to use [.N The default project templates for .NET Aspire contain a `ServiceDefaults` project. Each service in the .NET Aspire solution has a reference to the Service Defaults project. The services use it to set up and configure OTel. -The Service Defaults project template includes the OTel SDK, ASP.NET, HttpClient, and Runtime Instrumentation packages. These instrumentation components are configured in the [Extensions.cs](https://github.com/dotnet/aspire/blob/main/src/Aspire.ProjectTemplates/templates/aspire-servicedefaults/9.1/Extensions.cs) file. To support telemetry visualization in Aspire Dashboard, the Service Defaults project also includes the OTLP exporter by default. +The Service Defaults project template includes the OTel SDK, ASP.NET, HttpClient, and Runtime Instrumentation packages. These instrumentation components are configured in the [Extensions.cs](https://github.com/dotnet/aspire/blob/main/src/Aspire.ProjectTemplates/templates/aspire-servicedefaults/9.3/Extensions.cs) file. To support telemetry visualization in Aspire Dashboard, the Service Defaults project also includes the OTLP exporter by default. Aspire Dashboard is designed to bring telemetry observation to the local debug cycle, which enables developers to ensure that the applications are producing telemetry. The telemetry visualization also helps to diagnose those applications locally. Being able to observe the calls between services is as useful at debug time as in production. The .NET Aspire dashboard is launched automatically when you F5 the `AppHost` Project from Visual Studio or `dotnet run` the `AppHost` project from command line. diff --git a/docs/fundamentals/runtime-libraries/snippets/System/Span/Overview/csharp/Program2.cs b/docs/fundamentals/runtime-libraries/snippets/System/Span/Overview/csharp/Program2.cs index 75bfaeff52a93..f1aa05d9b584c 100644 --- a/docs/fundamentals/runtime-libraries/snippets/System/Span/Overview/csharp/Program2.cs +++ b/docs/fundamentals/runtime-libraries/snippets/System/Span/Overview/csharp/Program2.cs @@ -5,15 +5,16 @@ class Program2 static void Run() { string contentLength = "Content-Length: 132"; - var length = GetContentLength(contentLength.ToCharArray()); + int length = GetContentLength(contentLength.ToCharArray()); Console.WriteLine($"Content length: {length}"); } private static int GetContentLength(ReadOnlySpan span) { - var slice = span.Slice(16); + ReadOnlySpan slice = span.Slice(16); return int.Parse(slice); } } + // Output: // Content length: 132 diff --git a/docs/fundamentals/runtime-libraries/snippets/System/Span/Overview/csharp/Project.csproj b/docs/fundamentals/runtime-libraries/snippets/System/Span/Overview/csharp/Project.csproj index 44a42c18ccbab..1d2763556b47b 100644 --- a/docs/fundamentals/runtime-libraries/snippets/System/Span/Overview/csharp/Project.csproj +++ b/docs/fundamentals/runtime-libraries/snippets/System/Span/Overview/csharp/Project.csproj @@ -1,8 +1,8 @@ - Library - net8 + Exe + net9 true diff --git a/docs/fundamentals/runtime-libraries/snippets/System/Span/Overview/csharp/program.cs b/docs/fundamentals/runtime-libraries/snippets/System/Span/Overview/csharp/program.cs index 7f8c6be44df90..cd09f784a6788 100644 --- a/docs/fundamentals/runtime-libraries/snippets/System/Span/Overview/csharp/program.cs +++ b/docs/fundamentals/runtime-libraries/snippets/System/Span/Overview/csharp/program.cs @@ -20,18 +20,19 @@ private static void CreateSpanFromArray() { // // Create a span over an array. - var array = new byte[100]; - var arraySpan = new Span(array); + byte[] array = new byte[100]; + Span arraySpan = new(array); byte data = 0; for (int ctr = 0; ctr < arraySpan.Length; ctr++) arraySpan[ctr] = data++; int arraySum = 0; - foreach (var value in array) + foreach (byte value in array) arraySum += value; Console.WriteLine($"The sum is {arraySum}"); + // Output: The sum is 4950 // } @@ -40,7 +41,7 @@ private static void CreateSpanFromNativeMemory() { // // Create a span from native memory. - var native = Marshal.AllocHGlobal(100); + nint native = Marshal.AllocHGlobal(100); Span nativeSpan; unsafe { @@ -51,11 +52,12 @@ private static void CreateSpanFromNativeMemory() nativeSpan[ctr] = data++; int nativeSum = 0; - foreach (var value in nativeSpan) + foreach (byte value in nativeSpan) nativeSum += value; Console.WriteLine($"The sum is {nativeSum}"); Marshal.FreeHGlobal(native); + // Output: The sum is 4950 // } @@ -70,10 +72,11 @@ private static void CreateSpanFromStack() stackSpan[ctr] = data++; int stackSum = 0; - foreach (var value in stackSpan) + foreach (byte value in stackSpan) stackSum += value; Console.WriteLine($"The sum is {stackSum}"); + // Output: The sum is 4950 // } @@ -85,8 +88,8 @@ public class ProgramB public static void WorkWithSpans() { // Create a span over an array. - var array = new byte[100]; - var arraySpan = new Span(array); + byte[] array = new byte[100]; + Span arraySpan = new(array); InitializeSpan(arraySpan); Console.WriteLine($"The sum is {ComputeSum(arraySpan):N0}"); @@ -118,14 +121,15 @@ public static void InitializeSpan(Span span) span[ctr] = value++; } - public static int ComputeSum(Span span) + public static int ComputeSum(ReadOnlySpan span) { int sum = 0; - foreach (var value in span) + foreach (byte value in span) sum += value; return sum; } + // The example displays the following output: // The sum is 4,950 // The sum is 4,950 diff --git a/docs/fundamentals/runtime-libraries/system-span{t}.md b/docs/fundamentals/runtime-libraries/system-span{t}.md index b84e1004e4ac7..64ae36d1b056b 100644 --- a/docs/fundamentals/runtime-libraries/system-span{t}.md +++ b/docs/fundamentals/runtime-libraries/system-span{t}.md @@ -1,7 +1,7 @@ --- title: System.Span struct description: Learn about the System.Span\ struct. -ms.date: 12/31/2023 +ms.date: 05/21/2025 dev_langs: - CSharp - FSharp @@ -34,7 +34,7 @@ The following example uses the C# [stackalloc](/dotnet/csharp/language-reference :::code language="csharp" source="./snippets/System/Span/Overview/csharp/program.cs" id="Snippet3"::: :::code language="fsharp" source="./snippets/System/Span/Overview/fsharp/program.fs" id="Snippet3"::: -Because `Span` is an abstraction over an arbitrary block of memory, methods of the `Span` type and methods with `Span` parameters operate on any `Span` object regardless of the kind of memory it encapsulates. For example, each of the separate sections of code that initialize the span and calculate the sum of its elements can be changed into single initialization and calculation methods, as the following example illustrates: +Because `Span` is an abstraction over an arbitrary block of memory, methods of the `Span` type and methods with `Span` parameters operate on any `Span` object regardless of the kind of memory it encapsulates. For example, each of the separate sections of code that initialize the span and calculate the sum of its elements can be refactored into single initialization and calculation methods, as the following example illustrates: :::code language="csharp" source="./snippets/System/Span/Overview/csharp/program.cs" id="Snippet4"::: :::code language="fsharp" source="./snippets/System/Span/Overview/fsharp/program.fs" id="Snippet4"::: diff --git a/docs/machine-learning/reference/ml-net-cli-reference.md b/docs/machine-learning/reference/ml-net-cli-reference.md index 0fb4ae93dc61b..54bef26d8916c 100644 --- a/docs/machine-learning/reference/ml-net-cli-reference.md +++ b/docs/machine-learning/reference/ml-net-cli-reference.md @@ -56,7 +56,7 @@ The `mlnet` ML task commands (`classification`, `regression`, `recommendation`, ### Classification options -Running `mlnet classification` will train a classification model. Choose this command if you want an ML Model to categorize data into 2 or more classes (e.g. sentiment analysis). +Running `mlnet classification` will train a classification model. Choose this command if you want an ML Model to categorize data into 2 or more classes (for example, sentiment analysis). ```console mlnet classification @@ -90,7 +90,7 @@ mlnet classification ### Regression options -Running `mlnet regression` will train a regression model. Choose this command if you want an ML Model to predict a numeric value (e.g. price prediction). +Running `mlnet regression` will train a regression model. Choose this command if you want an ML Model to predict a numeric value (for example, price prediction). ```console mlnet regression @@ -125,7 +125,7 @@ mlnet regression ### Recommendation options -Running `mlnet recommendation` will train a recommendation model. Choose this command if you want an ML Model to recommend items to users based on ratings (e.g. product recommendation). +Running `mlnet recommendation` will train a recommendation model. Choose this command if you want an ML Model to recommend items to users based on ratings (for example, product recommendation). ```console mlnet recommendation @@ -291,7 +291,7 @@ This argument is used only for the *recommendation* task. With this argument, you can ignore existing columns in the dataset file so they are not loaded and used by the training processes. -Specify the columns names that you want to ignore. Use ', ' (comma with space) or ' ' (space) to separate multiple column names. You can use quotes for column names containing whitespace (e.g. "logged in"). +Specify the columns names that you want to ignore. Use ', ' (comma with space) or ' ' (space) to separate multiple column names. You can use quotes for column names containing whitespace (for example, "logged in"). Example: diff --git a/docs/orleans/deployment/multi-cluster-support/gossip-channels.md b/docs/orleans/deployment/multi-cluster-support/gossip-channels.md index e51ba97e57cd5..791d29bd1a4f4 100644 --- a/docs/orleans/deployment/multi-cluster-support/gossip-channels.md +++ b/docs/orleans/deployment/multi-cluster-support/gossip-channels.md @@ -34,7 +34,7 @@ Gossip is a mechanism for clusters to share configuration and status information - The current time-stamped [multi-cluster configuration](multi-cluster-configuration.md). - A dictionary that contains information about cluster gateways. The key is the silo address, and the value contains (1) a timestamp, (2) the cluster id, and (3) a status, which is either active or inactive. -**Fast & Slow Propagation**. When a gateway changes its status, or when an operator injects a new configuration, this gossip information is immediately sent to all silos, clusters, and gossip channels. This happens fast but is not reliable. Should the message be lost due to any reasons (e.g. races, broken sockets, silo failures), our periodic background gossip ensures that the information eventually spreads, albeit more slowly. All information is eventually propagated everywhere and is highly resilient to occasional message loss and failures. +**Fast & Slow Propagation**. When a gateway changes its status, or when an operator injects a new configuration, this gossip information is immediately sent to all silos, clusters, and gossip channels. This happens fast but is not reliable. Should the message be lost due to any reasons (for example, races, broken sockets, silo failures), our periodic background gossip ensures that the information eventually spreads, albeit more slowly. All information is eventually propagated everywhere and is highly resilient to occasional message loss and failures. All gossip data is timestamped, which ensures that newer information replaces older information regardless of the relative timing of messages. For example, newer multi-cluster configurations replace older ones, and newer information about a gateway replaces older information about that gateway. For more details on the representation of gossip data, see the `MultiClusterData` class. It has a `Merge` method that combines gossip data, resolving conflicts using timestamps. diff --git a/docs/orleans/deployment/multi-cluster-support/multi-cluster-configuration.md b/docs/orleans/deployment/multi-cluster-support/multi-cluster-configuration.md index 5b2b40201eca7..5e2aed526c040 100644 --- a/docs/orleans/deployment/multi-cluster-support/multi-cluster-configuration.md +++ b/docs/orleans/deployment/multi-cluster-support/multi-cluster-configuration.md @@ -76,7 +76,7 @@ If using the Azure table-based gossip channel, operators can inject a new config |-----------------|----------|---------------------------------------------------------| | PartitionKey | String | the ServiceId | | RowKey | String | "CONFIG" | -| Clusters | String | comma-separated list of cluster IDs, e.g. "us1,eu1,us2" | +| Clusters | String | comma-separated list of cluster IDs, for example, "us1,eu1,us2" | | Comment | String | optional comment | | GossipTimestamp | DateTime | UTC timestamp for the configuration | diff --git a/docs/orleans/grains/event-sourcing/log-consistency-providers.md b/docs/orleans/grains/event-sourcing/log-consistency-providers.md index 8de50c8b592fe..ba9e4c5da2e8d 100644 --- a/docs/orleans/grains/event-sourcing/log-consistency-providers.md +++ b/docs/orleans/grains/event-sourcing/log-consistency-providers.md @@ -51,6 +51,6 @@ The consistency provider expects these to behave a certain way. Programmers shou * must return false if the expected version does not match the actual version (this is analogous to an e-tag check). -* If `ApplyUpdatesToStorage` fails with an exception, the consistency provider retries. This means some events could be duplicated if such an exception is thrown, but the event was persisted. The developer is responsible to make sure this is safe: e.g. either avoid this case by not throwing an exception, or ensure duplicated events are harmless for the application logic, or add some extra mechanism to filter duplicates. +* If `ApplyUpdatesToStorage` fails with an exception, the consistency provider retries. This means some events could be duplicated if such an exception is thrown, but the event was persisted. The developer is responsible to make sure this is safe: for example, either avoid this case by not throwing an exception, or ensure duplicated events are harmless for the application logic, or add some extra mechanism to filter duplicates. This provider does not support `RetrieveConfirmedEvents`. Of course, since the developer controls the storage interface anyway, they don't need to call this in the first place, but can implement their event retrieval. diff --git a/docs/orleans/grains/grain-persistence/relational-storage.md b/docs/orleans/grains/grain-persistence/relational-storage.md index f00befb86027b..1d902511121c5 100644 --- a/docs/orleans/grains/grain-persistence/relational-storage.md +++ b/docs/orleans/grains/grain-persistence/relational-storage.md @@ -10,7 +10,7 @@ Relational storage backend code in Orleans is built on generic ADO.NET functiona To make Orleans code function with a given relational database backend, the following is required: -1. The appropriate ADO.NET library must be loaded into the process. This should be defined as usual, e.g. via the [DbProviderFactories](../../../framework/data/adonet/obtaining-a-dbproviderfactory.md) element in the application configuration. +1. The appropriate ADO.NET library must be loaded into the process. This should be defined as usual, for example, via the [DbProviderFactories](../../../framework/data/adonet/obtaining-a-dbproviderfactory.md) element in the application configuration. 2. Configure the ADO.NET invariant via the `Invariant` property in the options. 3. The database needs to exist and be compatible with the code. This is done by running a vendor-specific database creation script. For more information, see [ADO.NET Configuration](../../host/configuration-guide/adonet-configuration.md). @@ -119,13 +119,13 @@ In practice, this means adhering to ADO.NET implementation goals, and some added In addition to the usual storage provider capabilities, the ADO.NET provider has built-in capability to: -1. Change storage data from one format to another (e.g. from JSON to binary) when round-tripping state. +1. Change storage data from one format to another (for example, from JSON to binary) when round-tripping state. 2. Shape the type to be saved or read from the storage in arbitrary ways. This allows the version of the state to evolve. 3. Stream data out of the database. Both `1.` and `2.` can be applied based on arbitrary decision parameters, such as *grain ID*, *grain type*, *payload data*. -This is the case so that you can choose a serialization format, e.g. [Simple Binary Encoding (SBE)](https://github.com/real-logic/simple-binary-encoding) and implements and . The built-in serializers have been built using this method: +This is the case so that you can choose a serialization format, for example, [Simple Binary Encoding (SBE)](https://github.com/real-logic/simple-binary-encoding) and implements and . The built-in serializers have been built using this method: - - @@ -155,7 +155,7 @@ Vendors have implemented different extensions and features within their products ### 4. Make it possible to optimize hardware resources -When designing an application, it is often possible to anticipate which data needs to be inserted faster than other data, and which data could more likely be put into *cold storage*, which is cheaper (e.g. splitting data between SSD and HDD). Additional considerations include the physical location of the data (some data could be more expensive (e.g. SSD RAID viz HDD RAID), or more secured), or some other decision basis. Related to *point 3.*, some databases offer special partitioning schemes, such as SQL Server [Partitioned Tables and Indexes](/sql/relational-databases/partitions/partitioned-tables-and-indexes). +When designing an application, it is often possible to anticipate which data needs to be inserted faster than other data, and which data could more likely be put into *cold storage*, which is cheaper (for example, splitting data between SSD and HDD). Additional considerations include the physical location of the data (some data could be more expensive (for example, SSD RAID viz HDD RAID), or more secured), or some other decision basis. Related to *point 3.*, some databases offer special partitioning schemes, such as SQL Server [Partitioned Tables and Indexes](/sql/relational-databases/partitions/partitioned-tables-and-indexes). These principles apply throughout the application life-cycle. Considering that one of the principles of Orleans itself is high availability, it should be possible to adjust the storage system without interruption to the Orleans deployment, or it should be possible to adjust the queries according to data and other application parameters. An example of dynamic changes may be seen in Brian Harry's [blog post](https://devblogs.microsoft.com/bharry/a-bit-more-on-the-feb-3-and-4-incidents/): @@ -171,7 +171,7 @@ This is both fast and has less surface exposed to the ADO.NET library implementa ### 7. Make the design shardable -When it makes sense, for instance in a relational storage provider, make the design readily shardable. For instance, this means using no database-dependent data (e.g. `IDENTITY`). Information that distinguishes row data should build on only data from the actual parameters. +When it makes sense, for instance in a relational storage provider, make the design readily shardable. For instance, this means using no database-dependent data (for example, `IDENTITY`). Information that distinguishes row data should build on only data from the actual parameters. ### 8. Make the design easy to test @@ -227,5 +227,5 @@ The altered scripts can be tested by running the Orleans test suite, or straight ## Guidelines for adding new ADO.NET providers 1. Add a new database setup script according to the [Realization of the goals](#realization-of-the-goals) section above. -2. Add the vendor ADO invariant name to and ADO.NET provider-specific data to [DbConstantsStore](https://github.com/dotnet/orleans/blob/main/src/AdoNet/Shared/Storage/DbConstantsStore.cs). These are (potentially) used in some query operations. e.g. to select the correct statistics insert mode (i.e. the `UNION ALL` with or without `FROM DUAL`). +2. Add the vendor ADO invariant name to and ADO.NET provider-specific data to [DbConstantsStore](https://github.com/dotnet/orleans/blob/main/src/AdoNet/Shared/Storage/DbConstantsStore.cs). These are (potentially) used in some query operations. for example, to select the correct statistics insert mode (i.e. the `UNION ALL` with or without `FROM DUAL`). 3. Orleans has comprehensive tests for all system stores: membership, reminders and statistics. Adding tests for the new database script is done by copy-pasting existing test classes and changing the ADO invariant name. Also, derive from [RelationalStorageForTesting](https://github.com/dotnet/orleans/blob/main/test/Extensions/TesterAdoNet/RelationalUtilities/RelationalStorageForTesting.cs) in order to define test functionality for the ADO invariant. diff --git a/docs/orleans/grains/interceptors.md b/docs/orleans/grains/interceptors.md index 303de38143cb5..7f05f4f4a72e1 100644 --- a/docs/orleans/grains/interceptors.md +++ b/docs/orleans/grains/interceptors.md @@ -376,7 +376,7 @@ One may argue that this is pretty okay since the client would never handle the ` But what if the client wants at least to log the exception? The problem is that the original error message is lost. One way to work around this issue is to intercept server-side exceptions and replace them with plain exceptions of type `Exception` if the exception type is presumably unknown on the client-side. -However, there is one important thing we have to keep in mind: we only want to replace an exception **if the caller is the grain client**. We don't want to replace an exception if the caller is another grain (or the Orleans infrastructure which is making grain calls, too; e.g. on the `GrainBasedReminderTable` grain). +However, there is one important thing we have to keep in mind: we only want to replace an exception **if the caller is the grain client**. We don't want to replace an exception if the caller is another grain (or the Orleans infrastructure which is making grain calls, too; for example, on the `GrainBasedReminderTable` grain). On the server-side this can be done with a silo-level interceptor: diff --git a/docs/orleans/grains/observers.md b/docs/orleans/grains/observers.md index adf5953693df0..6458f5504eb8b 100644 --- a/docs/orleans/grains/observers.md +++ b/docs/orleans/grains/observers.md @@ -16,7 +16,7 @@ For this reason, the `ObserverManager` utility removes subscriptions after a To subscribe to a notification, the client must first create a local object that implements the observer interface. It then calls a method on the observer factory, `, to turn the object into a grain reference, which can then be passed to the subscription method on the notifying grain. -This model can also be used by other grains to receive asynchronous notifications. Grains can also implement interfaces. Unlike in the client subscription case, the subscribing grain simply implements the observer interface and passes in a reference to itself (e.g. `this.AsReference()`). There is no need for `CreateObjectReference()` because grains are already addressable. +This model can also be used by other grains to receive asynchronous notifications. Grains can also implement interfaces. Unlike in the client subscription case, the subscribing grain simply implements the observer interface and passes in a reference to itself (for example, `this.AsReference()`). There is no need for `CreateObjectReference()` because grains are already addressable. ## Code example diff --git a/docs/orleans/implementation/cluster-management.md b/docs/orleans/implementation/cluster-management.md index 026a081f7864e..fac8ed47bd503 100644 --- a/docs/orleans/implementation/cluster-management.md +++ b/docs/orleans/implementation/cluster-management.md @@ -65,7 +65,7 @@ In addition to the each silo participates in a f 3. When silo S updates the status of silo P: - S first reads the latest table state - In a single atomic operation, it updates both P's row and increments the version number - - If the atomic update fails (e.g., due to concurrent modifications), the operation is retried with exponential backoff + - If the atomic update fails (for example, due to concurrent modifications), the operation is retried with exponential backoff **Scalability considerations**: diff --git a/docs/orleans/resources/links.md b/docs/orleans/resources/links.md index b93c5f1b6dcea..8f07b059f8e7a 100644 --- a/docs/orleans/resources/links.md +++ b/docs/orleans/resources/links.md @@ -28,7 +28,6 @@ In this article, you'll discover a listing of various links from the Orleans tea - [Introduction to Orleans](https://channel9.msdn.com/Events/TechDays/Techdays-2014-the-Netherlands/Introduction-to-Orleans) - [Project Orleans: Different Than Erlang, Designed for a Broad Group of Developers](https://thenewstack.io/project-orleans-different-than-erlang-designed-for-a-broad-group-of-developers/) - [Hatay Tuna & Christian Martinez - Applied Actor Model with Orleans](https://github.com/hataytuna/Distributed/blob/master/Applied%20Actor%20Model%20with%20Orleans%20v1.1.pdf) -- [Actor Programming with Orleans: What's Different?](https://www.postsharp.net/blog/post/Actor-Programming-with-Orleans-Whats-Different) - [Project Orleans - Actor Model framework](https://www.slideshare.net/nmackenzie/project-orleans) - [A look at Microsoft Orleans through Erlang-tinted glasses](https://theburningmonk.com/2014/12/a-look-at-microsoft-orleans-through-erlang-tinted-glasses/) - [Intro to Virtual Actors By Microsoft Orleans](https://bogdan-dina03.medium.com/intro-to-virtual-actors-by-microsoft-orleans-6ae3264f138d) diff --git a/docs/standard/design-guidelines/arrays.md b/docs/standard/design-guidelines/arrays.md index a4de44b53d95d..a5464434686c2 100644 --- a/docs/standard/design-guidelines/arrays.md +++ b/docs/standard/design-guidelines/arrays.md @@ -18,7 +18,7 @@ helpviewer_keywords: ✔️ CONSIDER using jagged arrays instead of multidimensional arrays. - A jagged array is an array with elements that are also arrays. The arrays that make up the elements can be of different sizes, leading to less wasted space for some sets of data (e.g., sparse matrix) compared to multidimensional arrays. Furthermore, the CLR optimizes index operations on jagged arrays, so they might exhibit better runtime performance in some scenarios. + A jagged array is an array with elements that are also arrays. The arrays that make up the elements can be of different sizes, leading to less wasted space for some sets of data (for example, sparse matrix) compared to multidimensional arrays. Furthermore, the CLR optimizes index operations on jagged arrays, so they might exhibit better runtime performance in some scenarios. *Portions © 2005, 2009 Microsoft Corporation. All rights reserved.* diff --git a/docs/standard/design-guidelines/dependency-properties.md b/docs/standard/design-guidelines/dependency-properties.md index 64ba0e71297c1..65da116bcbc11 100644 --- a/docs/standard/design-guidelines/dependency-properties.md +++ b/docs/standard/design-guidelines/dependency-properties.md @@ -10,7 +10,7 @@ ms.assetid: 212cfb1e-cec4-4047-94a6-47209b387f6f A dependency property (DP) is a regular property that stores its value in a property store instead of storing it in a type variable (field), for example. - An attached dependency property is a kind of dependency property modeled as static Get and Set methods representing "properties" describing relationships between objects and their containers (e.g., the position of a `Button` object on a `Panel` container). + An attached dependency property is a kind of dependency property modeled as static Get and Set methods representing "properties" describing relationships between objects and their containers (for example, the position of a `Button` object on a `Panel` container). ✔️ DO provide the dependency properties, if you need the properties to support WPF features such as styling, triggers, data binding, animations, dynamic resources, and inheritance. diff --git a/docs/standard/design-guidelines/dispose-pattern.md b/docs/standard/design-guidelines/dispose-pattern.md index e35c03a57956e..04938bbefac53 100644 --- a/docs/standard/design-guidelines/dispose-pattern.md +++ b/docs/standard/design-guidelines/dispose-pattern.md @@ -26,7 +26,7 @@ All programs acquire one or more system resources, such as memory, system handle Although finalizers are effective in some cleanup scenarios, they have two significant drawbacks: -- The finalizer is called when the GC detects that an object is eligible for collection. This happens at some undetermined period of time after the resource is not needed anymore. The delay between when the developer could or would like to release the resource and the time when the resource is actually released by the finalizer might be unacceptable in programs that acquire many scarce resources (resources that can be easily exhausted) or in cases in which resources are costly to keep in use (e.g., large unmanaged memory buffers). +- The finalizer is called when the GC detects that an object is eligible for collection. This happens at some undetermined period of time after the resource is not needed anymore. The delay between when the developer could or would like to release the resource and the time when the resource is actually released by the finalizer might be unacceptable in programs that acquire many scarce resources (resources that can be easily exhausted) or in cases in which resources are costly to keep in use (for example, large unmanaged memory buffers). - When the CLR needs to call a finalizer, it must postpone collection of the object’s memory until the next round of garbage collection (the finalizers run between collections). This means that the object’s memory (and all objects it refers to) will not be released for a longer period of time. @@ -78,7 +78,7 @@ public class DisposableResourceHolder : IDisposable { } ``` - The Boolean parameter `disposing` indicates whether the method was invoked from the `IDisposable.Dispose` implementation or from the finalizer. The `Dispose(bool)` implementation should check the parameter before accessing other reference objects (e.g., the resource field in the preceding sample). Such objects should only be accessed when the method is called from the `IDisposable.Dispose` implementation (when the `disposing` parameter is equal to true). If the method is invoked from the finalizer (`disposing` is false), other objects should not be accessed. The reason is that objects are finalized in an unpredictable order and so they, or any of their dependencies, might already have been finalized. + The Boolean parameter `disposing` indicates whether the method was invoked from the `IDisposable.Dispose` implementation or from the finalizer. The `Dispose(bool)` implementation should check the parameter before accessing other reference objects (for example, the resource field in the preceding sample). Such objects should only be accessed when the method is called from the `IDisposable.Dispose` implementation (when the `disposing` parameter is equal to true). If the method is invoked from the finalizer (`disposing` is false), other objects should not be accessed. The reason is that objects are finalized in an unpredictable order and so they, or any of their dependencies, might already have been finalized. Also, this section applies to classes with a base that does not already implement the Dispose Pattern. If you are inheriting from a class that already implements the pattern, simply override the `Dispose(bool)` method to provide additional resource cleanup logic. diff --git a/docs/standard/design-guidelines/extension-methods.md b/docs/standard/design-guidelines/extension-methods.md index c37995e61e045..b77fb5d6b11be 100644 --- a/docs/standard/design-guidelines/extension-methods.md +++ b/docs/standard/design-guidelines/extension-methods.md @@ -36,7 +36,7 @@ Extension methods are a language feature that allows static methods to be called ❌ DO NOT define extension methods implementing a feature in namespaces normally associated with other features. Instead, define them in the namespace associated with the feature they belong to. - ❌ AVOID generic naming of namespaces dedicated to extension methods (e.g., "Extensions"). Use a descriptive name (e.g., "Routing") instead. + ❌ AVOID generic naming of namespaces dedicated to extension methods (for example, "Extensions"). Use a descriptive name (for example, "Routing") instead. *Portions © 2005, 2009 Microsoft Corporation. All rights reserved.* diff --git a/docs/standard/design-guidelines/guidelines-for-collections.md b/docs/standard/design-guidelines/guidelines-for-collections.md index cf5e83601d836..4367bfeadfcdd 100644 --- a/docs/standard/design-guidelines/guidelines-for-collections.md +++ b/docs/standard/design-guidelines/guidelines-for-collections.md @@ -44,11 +44,11 @@ Any type designed specifically to manipulate a group of objects having some comm ✔️ DO use `Collection` or a subclass of `Collection` for properties or return values representing read/write collections. - If `Collection` does not meet some requirement (e.g., the collection must not implement ), use a custom collection by implementing `IEnumerable`, `ICollection`, or . + If `Collection` does not meet some requirement (for example, the collection must not implement ), use a custom collection by implementing `IEnumerable`, `ICollection`, or . ✔️ DO use , a subclass of `ReadOnlyCollection`, or in rare cases `IEnumerable` for properties or return values representing read-only collections. - In general, prefer `ReadOnlyCollection`. If it does not meet some requirement (e.g., the collection must not implement `IList`), use a custom collection by implementing `IEnumerable`, `ICollection`, or `IList`. If you do implement a custom read-only collection, implement `ICollection.IsReadOnly` to return `true`. + In general, prefer `ReadOnlyCollection`. If it does not meet some requirement (for example, the collection must not implement `IList`), use a custom collection by implementing `IEnumerable`, `ICollection`, or `IList`. If you do implement a custom read-only collection, implement `ICollection.IsReadOnly` to return `true`. In cases where you are sure that the only scenario you will ever want to support is forward-only iteration, you can simply use `IEnumerable`. @@ -78,7 +78,7 @@ Any type designed specifically to manipulate a group of objects having some comm ✔️ DO use either a snapshot collection or a live `IEnumerable` (or its subtype) to represent collections that are volatile (i.e., that can change without explicitly modifying the collection). - In general, all collections representing a shared resource (e.g., files in a directory) are volatile. Such collections are very difficult or impossible to implement as live collections unless the implementation is simply a forward-only enumerator. + In general, all collections representing a shared resource (for example, files in a directory) are volatile. Such collections are very difficult or impossible to implement as live collections unless the implementation is simply a forward-only enumerator. ## Choosing Between Arrays and Collections @@ -92,7 +92,7 @@ Any type designed specifically to manipulate a group of objects having some comm ✔️ DO use byte arrays instead of collections of bytes. - ❌ DO NOT use arrays for properties if the property would have to return a new array (e.g., a copy of an internal array) every time the property getter is called. + ❌ DO NOT use arrays for properties if the property would have to return a new array (for example, a copy of an internal array) every time the property getter is called. ## Implementing Custom Collections @@ -110,7 +110,7 @@ Any type designed specifically to manipulate a group of objects having some comm ### Naming Custom Collections - Collections (types that implement `IEnumerable`) are created mainly for two reasons: (1) to create a new data structure with structure-specific operations and often different performance characteristics than existing data structures (e.g., , , ), and (2) to create a specialized collection for holding a specific set of items (e.g., ). Data structures are most often used in the internal implementation of applications and libraries. Specialized collections are mainly to be exposed in APIs (as property and parameter types). + Collections (types that implement `IEnumerable`) are created mainly for two reasons: (1) to create a new data structure with structure-specific operations and often different performance characteristics than existing data structures (for example, , , ), and (2) to create a specialized collection for holding a specific set of items (for example, ). Data structures are most often used in the internal implementation of applications and libraries. Specialized collections are mainly to be exposed in APIs (as property and parameter types). ✔️ DO use the "Dictionary" suffix in names of abstractions implementing `IDictionary` or `IDictionary`. diff --git a/docs/standard/design-guidelines/names-of-classes-structs-and-interfaces.md b/docs/standard/design-guidelines/names-of-classes-structs-and-interfaces.md index f5e88ce9fae7d..fb7af7d697b9e 100644 --- a/docs/standard/design-guidelines/names-of-classes-structs-and-interfaces.md +++ b/docs/standard/design-guidelines/names-of-classes-structs-and-interfaces.md @@ -28,7 +28,7 @@ The naming guidelines that follow apply to general type naming. Nouns and noun phrases should be used rarely and they might indicate that the type should be an abstract class, and not an interface. - ❌ DO NOT give class names a prefix (e.g., "C"). + ❌ DO NOT give class names a prefix (for example, "C"). ✔️ CONSIDER ending the name of derived classes with the name of the base class. @@ -94,7 +94,7 @@ public interface ISessionChannel where TSession : ISession { ❌ DO NOT use "Flag" or "Flags" suffixes in enum type names. - ❌ DO NOT use a prefix on enumeration value names (e.g., "ad" for ADO enums, "rtf" for rich text enums, etc.). + ❌ DO NOT use a prefix on enumeration value names (for example, "ad" for ADO enums, "rtf" for rich text enums, etc.). *Portions © 2005, 2009 Microsoft Corporation. All rights reserved.* diff --git a/docs/standard/design-guidelines/names-of-namespaces.md b/docs/standard/design-guidelines/names-of-namespaces.md index f89529e9bade8..7a2f91afa9604 100644 --- a/docs/standard/design-guidelines/names-of-namespaces.md +++ b/docs/standard/design-guidelines/names-of-namespaces.md @@ -29,7 +29,7 @@ As with other naming guidelines, the goal when naming namespaces is creating suf ❌ DO NOT use organizational hierarchies as the basis for names in namespace hierarchies, because group names within corporations tend to be short-lived. Organize the hierarchy of namespaces around groups of related technologies. - ✔️ DO use PascalCasing, and separate namespace components with periods (e.g., `Microsoft.Office.PowerPoint`). If your brand employs nontraditional casing, you should follow the casing defined by your brand, even if it deviates from normal namespace casing. + ✔️ DO use PascalCasing, and separate namespace components with periods (for example, `Microsoft.Office.PowerPoint`). If your brand employs nontraditional casing, you should follow the casing defined by your brand, even if it deviates from normal namespace casing. ✔️ CONSIDER using plural namespace names where appropriate. diff --git a/docs/standard/design-guidelines/property.md b/docs/standard/design-guidelines/property.md index 37ec27513533d..fee64c97be6fb 100644 --- a/docs/standard/design-guidelines/property.md +++ b/docs/standard/design-guidelines/property.md @@ -53,7 +53,7 @@ Although properties are technically very similar to methods, they are quite diff If the design requires other types of parameters, strongly reevaluate whether the API really represents an accessor to a logical collection. If it does not, use a method. Consider starting the method name with `Get` or `Set`. - ✔️ DO use the name `Item` for indexed properties unless there is an obviously better name (e.g., see the property on `System.String`). + ✔️ DO use the name `Item` for indexed properties unless there is an obviously better name (for example, see the property on `System.String`). In C#, indexers are by default named Item. The can be used to customize this name. diff --git a/docs/standard/design-guidelines/usage-guidelines.md b/docs/standard/design-guidelines/usage-guidelines.md index 3b5ee7139ec7c..58f9a4efe2fcd 100644 --- a/docs/standard/design-guidelines/usage-guidelines.md +++ b/docs/standard/design-guidelines/usage-guidelines.md @@ -2,14 +2,14 @@ description: "Learn more about: Usage guidelines" title: "Usage guidelines" ms.date: "10/22/2008" -helpviewer_keywords: +helpviewer_keywords: - "class library design guidelines [.NET Framework], usage guidelines" ms.assetid: 42215ffa-a099-4a26-b14e-fb2bdb6f95b7 --- # Usage guidelines -This section contains guidelines for using common types in publicly accessible APIs. It deals with direct usage of built-in Framework types (e.g., serialization attributes) and overloading common operators. - +This section contains guidelines for using common types in publicly accessible APIs. It deals with direct usage of built-in Framework types (for example, serialization attributes) and overloading common operators. + The interface is not covered in this section, but is discussed in the [Dispose Pattern](dispose-pattern.md) section. > [!NOTE] @@ -27,7 +27,7 @@ The interface is not cove *Portions © 2005, 2009 Microsoft Corporation. All rights reserved.* *Reprinted by permission of Pearson Education, Inc. from [Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries, 2nd Edition](https://www.informit.com/store/framework-design-guidelines-conventions-idioms-and-9780321545619) by Krzysztof Cwalina and Brad Abrams, published Oct 22, 2008 by Addison-Wesley Professional as part of the Microsoft Windows Development Series.* - + ## See also - [Framework Design Guidelines](index.md) diff --git a/docs/standard/security/vulnerabilities-cbc-mode.md b/docs/standard/security/vulnerabilities-cbc-mode.md index 4bb11910ed7ed..4281cf6267773 100644 --- a/docs/standard/security/vulnerabilities-cbc-mode.md +++ b/docs/standard/security/vulnerabilities-cbc-mode.md @@ -464,7 +464,7 @@ namespace Microsoft.Examples.Cryptography byte[] generatedTag = tagGenerator.GetHashAndReset(); // The time it took to get to this point has so far been a function only - // of the length of the data, or of non-encrypted values (e.g. it could + // of the length of the data, or of non-encrypted values (for example, it could // take longer to prepare the *key* for the HMACSHA384 MAC than the // HMACSHA256 MAC, but the algorithm choice wasn't a secret). //