diff --git a/docs/ai/quickstarts/snippets/chat-with-data/azure-openai/VectorDataAI.csproj b/docs/ai/quickstarts/snippets/chat-with-data/azure-openai/VectorDataAI.csproj
index 50ab31c312e2c..566118036162e 100644
--- a/docs/ai/quickstarts/snippets/chat-with-data/azure-openai/VectorDataAI.csproj
+++ b/docs/ai/quickstarts/snippets/chat-with-data/azure-openai/VectorDataAI.csproj
@@ -10,10 +10,10 @@
-
+
-
-
+
+
diff --git a/docs/ai/quickstarts/snippets/mcp-client/MinimalMCPClient.csproj b/docs/ai/quickstarts/snippets/mcp-client/MinimalMCPClient.csproj
index 8b08e31e11477..544573a165ff9 100644
--- a/docs/ai/quickstarts/snippets/mcp-client/MinimalMCPClient.csproj
+++ b/docs/ai/quickstarts/snippets/mcp-client/MinimalMCPClient.csproj
@@ -9,8 +9,8 @@
-
-
+
+
diff --git a/docs/ai/snippets/microsoft-extensions-ai/ConsoleAI.CreateEmbeddings/ConsoleAI.CreateEmbeddings.csproj b/docs/ai/snippets/microsoft-extensions-ai/ConsoleAI.CreateEmbeddings/ConsoleAI.CreateEmbeddings.csproj
index 8fe4ec8365d16..4b3d309aceccc 100644
--- a/docs/ai/snippets/microsoft-extensions-ai/ConsoleAI.CreateEmbeddings/ConsoleAI.CreateEmbeddings.csproj
+++ b/docs/ai/snippets/microsoft-extensions-ai/ConsoleAI.CreateEmbeddings/ConsoleAI.CreateEmbeddings.csproj
@@ -8,7 +8,7 @@
-
+
diff --git a/docs/ai/snippets/microsoft-extensions-ai/ConsoleAI.CustomEmbeddingsMiddle/ConsoleAI.CustomEmbeddingsMiddle.csproj b/docs/ai/snippets/microsoft-extensions-ai/ConsoleAI.CustomEmbeddingsMiddle/ConsoleAI.CustomEmbeddingsMiddle.csproj
index 6c8771bc09d51..6308d2eed104a 100644
--- a/docs/ai/snippets/microsoft-extensions-ai/ConsoleAI.CustomEmbeddingsMiddle/ConsoleAI.CustomEmbeddingsMiddle.csproj
+++ b/docs/ai/snippets/microsoft-extensions-ai/ConsoleAI.CustomEmbeddingsMiddle/ConsoleAI.CustomEmbeddingsMiddle.csproj
@@ -8,8 +8,8 @@
-
-
+
+
diff --git a/docs/ai/snippets/microsoft-extensions-ai/ConsoleAI.FunctionalityPipelines/ConsoleAI.FunctionalityPipelines.csproj b/docs/ai/snippets/microsoft-extensions-ai/ConsoleAI.FunctionalityPipelines/ConsoleAI.FunctionalityPipelines.csproj
index 9b8ad046d0abd..c90a99844cc3f 100644
--- a/docs/ai/snippets/microsoft-extensions-ai/ConsoleAI.FunctionalityPipelines/ConsoleAI.FunctionalityPipelines.csproj
+++ b/docs/ai/snippets/microsoft-extensions-ai/ConsoleAI.FunctionalityPipelines/ConsoleAI.FunctionalityPipelines.csproj
@@ -8,8 +8,8 @@
-
-
+
+
diff --git a/docs/azure/includes/dotnet-all.md b/docs/azure/includes/dotnet-all.md
index e1fbae8842903..ed444a5bdcdf0 100644
--- a/docs/azure/includes/dotnet-all.md
+++ b/docs/azure/includes/dotnet-all.md
@@ -210,7 +210,7 @@
| Resource Management - Connectedcache | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.ConnectedCache/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.ConnectedCache-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.ConnectedCache_1.0.0-beta.1/sdk/connectedcache/Azure.ResourceManager.ConnectedCache/) |
| 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.4.1](https://www.nuget.org/packages/Azure.ResourceManager.AppContainers/1.4.1) | [docs](/dotnet/api/overview/azure/ResourceManager.AppContainers-readme) | GitHub [1.4.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.AppContainers_1.4.1/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.3](https://www.nuget.org/packages/Azure.ResourceManager.ContainerInstance/1.3.0-beta.3) | [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.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ContainerInstance_1.3.0-beta.3/sdk/containerinstance/Azure.ResourceManager.ContainerInstance/) |
+| Resource Management - Container Instances | NuGet [1.2.1](https://www.nuget.org/packages/Azure.ResourceManager.ContainerInstance/1.2.1)
NuGet [1.3.0-beta.4](https://www.nuget.org/packages/Azure.ResourceManager.ContainerInstance/1.3.0-beta.4) | [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.4](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ContainerInstance_1.3.0-beta.4/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.1](https://www.nuget.org/packages/Azure.ResourceManager.ContainerRegistry/1.3.1) | [docs](/dotnet/api/overview/azure/ResourceManager.ContainerRegistry-readme) | GitHub [1.3.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ContainerRegistry_1.3.1/sdk/containerregistry/Azure.ResourceManager.ContainerRegistry/) |
| Resource Management - Container Service | NuGet [1.2.5](https://www.nuget.org/packages/Azure.ResourceManager.ContainerService/1.2.5) | [docs](/dotnet/api/overview/azure/ResourceManager.ContainerService-readme) | GitHub [1.2.5](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ContainerService_1.2.5/sdk/containerservice/Azure.ResourceManager.ContainerService/) |
@@ -274,7 +274,7 @@
| Resource Management - Hybrid Network | NuGet [1.0.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.HybridNetwork/1.0.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.HybridNetwork-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.HybridNetwork_1.0.0-beta.2/sdk/hybridnetwork/Azure.ResourceManager.HybridNetwork/) |
| Resource Management - Informatica Data Management | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.InformaticaDataManagement/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.InformaticaDataManagement-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.InformaticaDataManagement_1.0.0-beta.1/sdk/informaticadatamanagement/Azure.ResourceManager.InformaticaDataManagement/) |
| Resource Management - IoT Central | NuGet [1.0.1](https://www.nuget.org/packages/Azure.ResourceManager.IotCentral/1.0.1)
NuGet [1.1.0-beta.3](https://www.nuget.org/packages/Azure.ResourceManager.IotCentral/1.1.0-beta.3) | [docs](/dotnet/api/overview/azure/ResourceManager.IotCentral-readme) | GitHub [1.0.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.IotCentral_1.0.1/sdk/iotcentral/Azure.ResourceManager.IotCentral/)
GitHub [1.1.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.IotCentral_1.1.0-beta.3/sdk/iotcentral/Azure.ResourceManager.IotCentral/) |
-| Resource Management - IoT Firmware Defense | NuGet [1.0.1](https://www.nuget.org/packages/Azure.ResourceManager.IotFirmwareDefense/1.0.1)
NuGet [1.1.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.IotFirmwareDefense/1.1.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.IotFirmwareDefense-readme) | GitHub [1.0.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.IotFirmwareDefense_1.0.1/sdk/iot/Azure.ResourceManager.IotFirmwareDefense/)
GitHub [1.1.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.IotFirmwareDefense_1.1.0-beta.1/sdk/iot/Azure.ResourceManager.IotFirmwareDefense/) |
+| Resource Management - IoT Firmware Defense | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.IotFirmwareDefense/1.1.0) | [docs](/dotnet/api/overview/azure/ResourceManager.IotFirmwareDefense-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.IotFirmwareDefense_1.1.0/sdk/iot/Azure.ResourceManager.IotFirmwareDefense/) |
| Resource Management - IoT Hub | NuGet [1.1.1](https://www.nuget.org/packages/Azure.ResourceManager.IotHub/1.1.1)
NuGet [1.2.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.IotHub/1.2.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.IotHub-readme) | GitHub [1.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.IotHub_1.1.1/sdk/iothub/Azure.ResourceManager.IotHub/)
GitHub [1.2.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.IotHub_1.2.0-beta.1/sdk/iothub/Azure.ResourceManager.IotHub/) |
| Resource Management - IoT Operations | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.IotOperations/1.0.0) | [docs](/dotnet/api/overview/azure/ResourceManager.IotOperations-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.IotOperations_1.0.0/sdk/iotoperations/Azure.ResourceManager.IotOperations/) |
| Resource Management - Key Vault | NuGet [1.3.2](https://www.nuget.org/packages/Azure.ResourceManager.KeyVault/1.3.2) | [docs](/dotnet/api/overview/azure/ResourceManager.KeyVault-readme) | GitHub [1.3.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.KeyVault_1.3.2/sdk/keyvault/Azure.ResourceManager.KeyVault/) |
@@ -384,6 +384,7 @@
| Resource Management - Web PubSub | NuGet [1.2.0](https://www.nuget.org/packages/Azure.ResourceManager.WebPubSub/1.2.0) | [docs](/dotnet/api/overview/azure/ResourceManager.WebPubSub-readme) | GitHub [1.2.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.WebPubSub_1.2.0/sdk/webpubsub/Azure.ResourceManager.WebPubSub/) |
| Resource Management - Weightsandbiases | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.WeightsAndBiases/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.WeightsAndBiases-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.WeightsAndBiases_1.0.0-beta.1/sdk/weightsandbiases/Azure.ResourceManager.WeightsAndBiases/) |
| Resource Management - Workload Monitor | NuGet [1.0.0-beta.5](https://www.nuget.org/packages/Azure.ResourceManager.WorkloadMonitor/1.0.0-beta.5) | [docs](/dotnet/api/overview/azure/ResourceManager.WorkloadMonitor-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.WorkloadMonitor_1.0.0-beta.5/sdk/workloadmonitor/Azure.ResourceManager.WorkloadMonitor/) |
+| Resource Management - Workloadorchestration | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.WorkloadOrchestration/1.0.0) | | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.WorkloadOrchestration_1.0.0/sdk/workloadorchestration/Azure.ResourceManager.WorkloadOrchestration/) |
| Resource Management - Workloads | NuGet [1.1.1](https://www.nuget.org/packages/Azure.ResourceManager.Workloads/1.1.1)
NuGet [1.2.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.Workloads/1.2.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.Workloads-readme) | GitHub [1.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Workloads_1.1.1/sdk/workloads/Azure.ResourceManager.Workloads/)
GitHub [1.2.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Workloads_1.2.0-beta.1/sdk/workloads/Azure.ResourceManager.Workloads/) |
| Resource Management - Workloadssapvirtualinstance | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.WorkloadsSapVirtualInstance/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.WorkloadsSapVirtualInstance-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.WorkloadsSapVirtualInstance_1.0.0-beta.1/sdk/workloadssapvirtualinstance/Azure.ResourceManager.WorkloadsSapVirtualInstance/) |
| App Configuration Extension | NuGet [8.3.0](https://www.nuget.org/packages/Microsoft.Azure.AppConfiguration.Functions.Worker/8.3.0) | | |
@@ -413,14 +414,15 @@
| Speech Extension Telemetry | NuGet [1.46.0](https://www.nuget.org/packages/Microsoft.CognitiveServices.Speech.Extension.Telemetry/1.46.0) | | |
| System Net Client Model | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/System.Net.ClientModel/1.0.0-beta.1) | | |
| Unknown Display Name | NuGet [0.12.0](https://www.nuget.org/packages/Azure.Iot.Operations.Connector/0.12.0) | | |
-| Unknown Display Name | NuGet [0.6.0](https://www.nuget.org/packages/Azure.Mcp/0.6.0) | | |
-| Unknown Display Name | NuGet [0.6.0](https://www.nuget.org/packages/Azure.Mcp.linux-arm64/0.6.0) | | |
-| Unknown Display Name | NuGet [0.6.0](https://www.nuget.org/packages/Azure.Mcp.linux-x64/0.6.0) | | |
-| Unknown Display Name | NuGet [0.6.0](https://www.nuget.org/packages/Azure.Mcp.osx-arm64/0.6.0) | | |
-| Unknown Display Name | NuGet [0.6.0](https://www.nuget.org/packages/Azure.Mcp.osx-x64/0.6.0) | | |
-| Unknown Display Name | NuGet [0.6.0](https://www.nuget.org/packages/Azure.Mcp.win-arm64/0.6.0) | | |
-| Unknown Display Name | NuGet [0.6.0](https://www.nuget.org/packages/Azure.Mcp.win-x64/0.6.0) | | |
+| Unknown Display Name | NuGet [0.7.0](https://www.nuget.org/packages/Azure.Mcp/0.7.0) | | |
+| Unknown Display Name | NuGet [0.7.0](https://www.nuget.org/packages/Azure.Mcp.linux-arm64/0.7.0) | | |
+| Unknown Display Name | NuGet [0.7.0](https://www.nuget.org/packages/Azure.Mcp.linux-x64/0.7.0) | | |
+| Unknown Display Name | NuGet [0.7.0](https://www.nuget.org/packages/Azure.Mcp.osx-arm64/0.7.0) | | |
+| Unknown Display Name | NuGet [0.7.0](https://www.nuget.org/packages/Azure.Mcp.osx-x64/0.7.0) | | |
+| Unknown Display Name | NuGet [0.7.0](https://www.nuget.org/packages/Azure.Mcp.win-arm64/0.7.0) | | |
+| Unknown Display Name | NuGet [0.7.0](https://www.nuget.org/packages/Azure.Mcp.win-x64/0.7.0) | | |
| Unknown Display Name | NuGet [0.1.2-preview.2](https://www.nuget.org/packages/Microsoft.Azure.Cosmos.Aot/0.1.2-preview.2) | | |
+| Unknown Display Name | NuGet [0.2.802](https://www.nuget.org/packages/Microsoft.Azure.Mcp.AzTypes.Internal.Compact/0.2.802) | | |
| Unknown Display Name | NuGet [1.1.2-preview](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.AzureCosmosDb.Mongo/1.1.2-preview) | | |
| Unknown Display Name | NuGet [1.46.0](https://www.nuget.org/packages/Microsoft.CognitiveServices.Speech.Extension.MAS/1.46.0) | | |
| Unknown Display Name | NuGet [1.0.0](https://www.nuget.org/packages/Microsoft.Extensions.Caching.Postgres/1.0.0) | | |
diff --git a/docs/azure/includes/dotnet-new.md b/docs/azure/includes/dotnet-new.md
index 7cf95105cb925..eaa44c0e3c13d 100644
--- a/docs/azure/includes/dotnet-new.md
+++ b/docs/azure/includes/dotnet-new.md
@@ -220,7 +220,7 @@
| Resource Management - Connectedcache | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.ConnectedCache/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.ConnectedCache-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.ConnectedCache_1.0.0-beta.1/sdk/connectedcache/Azure.ResourceManager.ConnectedCache/) |
| 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.4.1](https://www.nuget.org/packages/Azure.ResourceManager.AppContainers/1.4.1) | [docs](/dotnet/api/overview/azure/ResourceManager.AppContainers-readme) | GitHub [1.4.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.AppContainers_1.4.1/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.3](https://www.nuget.org/packages/Azure.ResourceManager.ContainerInstance/1.3.0-beta.3) | [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.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ContainerInstance_1.3.0-beta.3/sdk/containerinstance/Azure.ResourceManager.ContainerInstance/) |
+| Resource Management - Container Instances | NuGet [1.2.1](https://www.nuget.org/packages/Azure.ResourceManager.ContainerInstance/1.2.1)
NuGet [1.3.0-beta.4](https://www.nuget.org/packages/Azure.ResourceManager.ContainerInstance/1.3.0-beta.4) | [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.4](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ContainerInstance_1.3.0-beta.4/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.1](https://www.nuget.org/packages/Azure.ResourceManager.ContainerRegistry/1.3.1) | [docs](/dotnet/api/overview/azure/ResourceManager.ContainerRegistry-readme) | GitHub [1.3.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ContainerRegistry_1.3.1/sdk/containerregistry/Azure.ResourceManager.ContainerRegistry/) |
| Resource Management - Container Service | NuGet [1.2.5](https://www.nuget.org/packages/Azure.ResourceManager.ContainerService/1.2.5) | [docs](/dotnet/api/overview/azure/ResourceManager.ContainerService-readme) | GitHub [1.2.5](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ContainerService_1.2.5/sdk/containerservice/Azure.ResourceManager.ContainerService/) |
@@ -285,7 +285,7 @@
| Resource Management - Hybrid Network | NuGet [1.0.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.HybridNetwork/1.0.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.HybridNetwork-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.HybridNetwork_1.0.0-beta.2/sdk/hybridnetwork/Azure.ResourceManager.HybridNetwork/) |
| Resource Management - Informatica Data Management | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.InformaticaDataManagement/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.InformaticaDataManagement-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.InformaticaDataManagement_1.0.0-beta.1/sdk/informaticadatamanagement/Azure.ResourceManager.InformaticaDataManagement/) |
| Resource Management - IoT Central | NuGet [1.0.1](https://www.nuget.org/packages/Azure.ResourceManager.IotCentral/1.0.1)
NuGet [1.1.0-beta.3](https://www.nuget.org/packages/Azure.ResourceManager.IotCentral/1.1.0-beta.3) | [docs](/dotnet/api/overview/azure/ResourceManager.IotCentral-readme) | GitHub [1.0.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.IotCentral_1.0.1/sdk/iotcentral/Azure.ResourceManager.IotCentral/)
GitHub [1.1.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.IotCentral_1.1.0-beta.3/sdk/iotcentral/Azure.ResourceManager.IotCentral/) |
-| Resource Management - IoT Firmware Defense | NuGet [1.0.1](https://www.nuget.org/packages/Azure.ResourceManager.IotFirmwareDefense/1.0.1)
NuGet [1.1.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.IotFirmwareDefense/1.1.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.IotFirmwareDefense-readme) | GitHub [1.0.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.IotFirmwareDefense_1.0.1/sdk/iot/Azure.ResourceManager.IotFirmwareDefense/)
GitHub [1.1.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.IotFirmwareDefense_1.1.0-beta.1/sdk/iot/Azure.ResourceManager.IotFirmwareDefense/) |
+| Resource Management - IoT Firmware Defense | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.IotFirmwareDefense/1.1.0) | [docs](/dotnet/api/overview/azure/ResourceManager.IotFirmwareDefense-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.IotFirmwareDefense_1.1.0/sdk/iot/Azure.ResourceManager.IotFirmwareDefense/) |
| Resource Management - IoT Hub | NuGet [1.1.1](https://www.nuget.org/packages/Azure.ResourceManager.IotHub/1.1.1)
NuGet [1.2.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.IotHub/1.2.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.IotHub-readme) | GitHub [1.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.IotHub_1.1.1/sdk/iothub/Azure.ResourceManager.IotHub/)
GitHub [1.2.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.IotHub_1.2.0-beta.1/sdk/iothub/Azure.ResourceManager.IotHub/) |
| Resource Management - IoT Operations | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.IotOperations/1.0.0) | [docs](/dotnet/api/overview/azure/ResourceManager.IotOperations-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.IotOperations_1.0.0/sdk/iotoperations/Azure.ResourceManager.IotOperations/) |
| Resource Management - Key Vault | NuGet [1.3.2](https://www.nuget.org/packages/Azure.ResourceManager.KeyVault/1.3.2) | [docs](/dotnet/api/overview/azure/ResourceManager.KeyVault-readme) | GitHub [1.3.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.KeyVault_1.3.2/sdk/keyvault/Azure.ResourceManager.KeyVault/) |
@@ -398,5 +398,6 @@
| Resource Management - Web PubSub | NuGet [1.2.0](https://www.nuget.org/packages/Azure.ResourceManager.WebPubSub/1.2.0) | [docs](/dotnet/api/overview/azure/ResourceManager.WebPubSub-readme) | GitHub [1.2.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.WebPubSub_1.2.0/sdk/webpubsub/Azure.ResourceManager.WebPubSub/) |
| Resource Management - Weightsandbiases | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.WeightsAndBiases/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.WeightsAndBiases-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.WeightsAndBiases_1.0.0-beta.1/sdk/weightsandbiases/Azure.ResourceManager.WeightsAndBiases/) |
| Resource Management - Workload Monitor | NuGet [1.0.0-beta.5](https://www.nuget.org/packages/Azure.ResourceManager.WorkloadMonitor/1.0.0-beta.5) | [docs](/dotnet/api/overview/azure/ResourceManager.WorkloadMonitor-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.WorkloadMonitor_1.0.0-beta.5/sdk/workloadmonitor/Azure.ResourceManager.WorkloadMonitor/) |
+| Resource Management - Workloadorchestration | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.WorkloadOrchestration/1.0.0) | | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.WorkloadOrchestration_1.0.0/sdk/workloadorchestration/Azure.ResourceManager.WorkloadOrchestration/) |
| Resource Management - Workloads | NuGet [1.1.1](https://www.nuget.org/packages/Azure.ResourceManager.Workloads/1.1.1)
NuGet [1.2.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.Workloads/1.2.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.Workloads-readme) | GitHub [1.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Workloads_1.1.1/sdk/workloads/Azure.ResourceManager.Workloads/)
GitHub [1.2.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Workloads_1.2.0-beta.1/sdk/workloads/Azure.ResourceManager.Workloads/) |
| Resource Management - Workloadssapvirtualinstance | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.WorkloadsSapVirtualInstance/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.WorkloadsSapVirtualInstance-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.WorkloadsSapVirtualInstance_1.0.0-beta.1/sdk/workloadssapvirtualinstance/Azure.ResourceManager.WorkloadsSapVirtualInstance/) |
diff --git a/docs/core/extensions/snippets/hosts/ShortLived.App/ShortLived.App.csproj b/docs/core/extensions/snippets/hosts/ShortLived.App/ShortLived.App.csproj
index 29440c966a303..071838e2137d8 100644
--- a/docs/core/extensions/snippets/hosts/ShortLived.App/ShortLived.App.csproj
+++ b/docs/core/extensions/snippets/hosts/ShortLived.App/ShortLived.App.csproj
@@ -8,6 +8,6 @@
-
+
diff --git a/docs/core/extensions/snippets/http/basic/basic.csproj b/docs/core/extensions/snippets/http/basic/basic.csproj
index 73a2327039337..e52f15ed928c0 100644
--- a/docs/core/extensions/snippets/http/basic/basic.csproj
+++ b/docs/core/extensions/snippets/http/basic/basic.csproj
@@ -9,8 +9,8 @@
-
-
+
+
diff --git a/docs/core/extensions/snippets/http/configurehandler/configurehandler.csproj b/docs/core/extensions/snippets/http/configurehandler/configurehandler.csproj
index 147fca9e18819..b4e009d430a0e 100644
--- a/docs/core/extensions/snippets/http/configurehandler/configurehandler.csproj
+++ b/docs/core/extensions/snippets/http/configurehandler/configurehandler.csproj
@@ -9,8 +9,8 @@
-
-
+
+
diff --git a/docs/core/extensions/snippets/http/generated/generated.csproj b/docs/core/extensions/snippets/http/generated/generated.csproj
index c70090470d025..17430f2af7b4f 100644
--- a/docs/core/extensions/snippets/http/generated/generated.csproj
+++ b/docs/core/extensions/snippets/http/generated/generated.csproj
@@ -9,8 +9,8 @@
-
-
+
+
diff --git a/docs/core/extensions/snippets/http/typed/typed.csproj b/docs/core/extensions/snippets/http/typed/typed.csproj
index ec27e8aa6e22c..7c25e65517e57 100644
--- a/docs/core/extensions/snippets/http/typed/typed.csproj
+++ b/docs/core/extensions/snippets/http/typed/typed.csproj
@@ -9,8 +9,8 @@
-
-
+
+
diff --git a/docs/core/extensions/snippets/ratelimit/http/http.csproj b/docs/core/extensions/snippets/ratelimit/http/http.csproj
index a02ee400e79a6..285396ddb1148 100644
--- a/docs/core/extensions/snippets/ratelimit/http/http.csproj
+++ b/docs/core/extensions/snippets/ratelimit/http/http.csproj
@@ -8,7 +8,7 @@
-
+
diff --git a/docs/core/install/includes/supported-versions.md b/docs/core/install/includes/supported-versions.md
index 9cdeff7bdf552..71565cc9f3189 100644
--- a/docs/core/install/includes/supported-versions.md
+++ b/docs/core/install/includes/supported-versions.md
@@ -1,15 +1,15 @@
---
author: adegeo
ms.author: adegeo
-ms.date: 11/11/2024
+ms.date: 08/26/2025
ms.topic: include
---
-Microsoft publishes .NET under two different support policies, Long Term Support (LTS) and Standard Term Support (STS). The quality of all releases is the same. The only difference is the length of support. LTS releases get free support and patches for three years. STS releases get free support and patches for 18 months. For more information, see [.NET Support Policy](https://dotnet.microsoft.com/platform/support/policy/dotnet-core).
+Microsoft publishes .NET under two different support policies, Long Term Support (LTS) and Standard Term Support (STS). The quality of all releases is the same. The only difference is the length of support. LTS releases get free support and patches for three years. STS releases get free support and patches for two years. For more information, see [.NET Support Policy](https://dotnet.microsoft.com/platform/support/policy/dotnet-core).
The versions of .NET that are currently supported by Microsoft are:
-- 9.0 (STS)—Support ends **May, 2026**.
+- 9.0 (STS)—Support ends **November 10, 2026**.
- 8.0 (LTS)—Support ends **November 10, 2026**.
Other entities that build and release .NET might introduce different support policies. Be sure to check with them to understand how .NET is supported.
diff --git a/docs/core/install/linux-scripted-manual.md b/docs/core/install/linux-scripted-manual.md
index 7aa51e0003bf6..3821ec806b325 100644
--- a/docs/core/install/linux-scripted-manual.md
+++ b/docs/core/install/linux-scripted-manual.md
@@ -3,8 +3,8 @@ title: Install .NET on Linux without using a package manager
description: Demonstrates how to install the .NET SDK and the .NET Runtime on Linux without a package manager. Use the install script or manually extract the binaries.
author: adegeo
ms.author: adegeo
-ms.date: 11/11/2024
-ms.custom: linux-related-content
+ms.date: 08/26/2025
+ms.custom: linux-related-content, updateeachrelease
---
# Install .NET on Linux by using an install script or by extracting binaries
@@ -15,26 +15,26 @@ This article demonstrates how to install the .NET SDK or the .NET Runtime on Lin
## .NET releases
-There are two types of supported releases, Long Term Support (LTS) releases or Standard Term Support (STS). The quality of all releases is the same. The only difference is the length of support. LTS releases get free support and patches for 3 years. STS releases get free support and patches for 18 months. For more information, see [.NET Support Policy](https://dotnet.microsoft.com/platform/support/policy/dotnet-core).
+There are two types of supported releases, Long Term Support (LTS) and Standard Term Support (STS). The quality of all releases is the same. The only difference is the length of support. LTS releases get free support and patches for three years. STS releases get free support and patches for two years. For more information, see [.NET Support Policy](https://dotnet.microsoft.com/platform/support/policy/dotnet-core).
The following table lists the support status of each version of .NET (and .NET Core):
-| ✔️ Supported | ❌ Unsupported |
-|-------------|---------------|
-| 9 (STS) | 7 |
-| 8 (LTS) | 6 (LTS) |
-| | 5 |
-| | 3.1 |
-| | 3.0 |
-| | 2.2 |
-| | 2.1 |
-| | 2.0 |
-| | 1.1 |
-| | 1.0 |
+| ✔️ Supported | ❌ Out of support |
+|-------------|------------------|
+| 9 (STS) | 7 |
+| 8 (LTS) | 6 (LTS) |
+| | 5 |
+| | 3.1 |
+| | 3.0 |
+| | 2.2 |
+| | 2.1 |
+| | 2.0 |
+| | 1.1 |
+| | 1.0 |
## Dependencies
-It's possible that when you install .NET, specific dependencies may not be installed, such as when [manually installing](#manual-install). The following list details Linux distributions that are supported by Microsoft and have dependencies you may need to install. Check the distribution page for more information:
+It's possible that when you install .NET, specific dependencies might not be installed, such as when you [manually install](#manual-install). The following list details Linux distributions that are supported by Microsoft and have dependencies you might need to install. Check the distribution page for more information:
- [Alpine](linux-alpine.md#dependencies)
- [Debian](linux-debian.md#dependencies)
@@ -47,7 +47,7 @@ For generic information about the dependencies, see [Self-contained Linux apps](
### RPM dependencies
-If your distribution wasn't previously listed, and is RPM-based, you may need the following dependencies:
+If your distribution wasn't previously listed, and is RPM-based, you might need the following dependencies:
- krb5-libs
- libicu
@@ -55,7 +55,7 @@ If your distribution wasn't previously listed, and is RPM-based, you may need th
### DEB dependencies
-If your distribution wasn't previously listed, and is debian-based, you may need the following dependencies:
+If your distribution wasn't previously listed, and is debian-based, you might need the following dependencies:
- libc6
- libgcc1
@@ -116,7 +116,7 @@ To learn how to use the .NET CLI, see [.NET CLI overview](../tools/index.md).
## Manual install
-
+
As an alternative to the package managers, you can download and manually install the SDK and runtime. Manual installation is commonly used as part of continuous integration testing or on an unsupported Linux distribution. For a developer or user, it's better to use a package manager.
@@ -132,7 +132,7 @@ Different versions of .NET can be extracted to the same folder, which coexist si
### Example
-
+
The following commands use Bash to set the environment variable `DOTNET_ROOT` to the current working directory followed by `.dotnet`. That directory is created if it doesn't exist. The `DOTNET_FILE` environment variable is the filename of the .NET binary release you want to install. This file is extracted to the `DOTNET_ROOT` directory. Both the `DOTNET_ROOT` directory and its `tools` subdirectory are added to the `PATH` environment variable.
diff --git a/docs/core/install/linux-snap-sdk.md b/docs/core/install/linux-snap-sdk.md
index 68b5d6cc9c985..6d29da59ade18 100644
--- a/docs/core/install/linux-snap-sdk.md
+++ b/docs/core/install/linux-snap-sdk.md
@@ -5,7 +5,7 @@ author: adegeo
ms.author: adegeo
ms.date: 11/11/2024
ms.topic: install-set-up-deploy
-ms.custom: linux-related-content
+ms.custom: linux-related-content, updateeachrelease
#customer intent: As a Linux user, I want to install .NET SDK through Snap.
---
diff --git a/docs/core/releases-and-support.md b/docs/core/releases-and-support.md
index 465fb03f56c9a..55c0b69cfc0bc 100644
--- a/docs/core/releases-and-support.md
+++ b/docs/core/releases-and-support.md
@@ -1,7 +1,7 @@
---
title: .NET releases, patches, and support
description: Learn about releases, patches, and support for .NET.
-ms.date: 10/10/2023
+ms.date: 08/26/2025
ms.topic: overview
---
# Releases and support for .NET
@@ -59,12 +59,11 @@ There are two support tracks for releases:
* *Standard Term Support* (STS) releases
- These versions are supported until 6 months after the next major or minor release ships.
+ These versions are supported for two years (24 months).
Example:
- * .NET 5 is an STS release and was released in November 2020. It was supported for 18 months, until May 2022.
- * .NET 7 is an STS release and was released in November 2022. It's supported for 18 months, until May 2024.
+ * .NET 9 is an STS release and was released in November 2024. It's supported for two years, until November 2026.
* *Long Term Support* (LTS) releases
@@ -72,18 +71,17 @@ There are two support tracks for releases:
Example:
- * .NET Core 3.1 is an LTS release and was released in December 2019. It was supported for 3 years, until December 2022.
- * .NET 6 is an LTS release and was released in November, 2021. It's supported for 3 years, until November 2024.
+ * .NET 8 is an LTS release and was released in November 2023. It's supported for three years, until November 2026.
-Releases alternate between LTS and STS, so it's possible for an earlier release to be supported longer than a later release. For example, .NET Core 3.1 was an LTS release with support through December 2022. The .NET 5 release shipped almost a year later but went out of support earlier, in May 2022.
+Releases alternate between LTS and STS.
Servicing updates ship monthly and include both security and non-security (reliability, compatibility, and stability) fixes. Servicing updates are supported until the next servicing update is released. Servicing updates have runtime roll forward behavior. That means that applications default to running on the latest installed runtime servicing update.
## How to choose a release
-If you're building a service and expect to continue updating it on a regular basis, then an STS release like the .NET 7 runtime may be your best option to stay up to date with the latest features .NET has to offer.
+If you're building a service and expect to continue updating it on a regular basis, then use the latest release, whether LTS or STS, to stay up to date with the latest features .NET has to offer.
-If you're building a client application that will be distributed to consumers, stability might be more important than access to the latest features. Your application might need to be supported for a certain period before the consumer can upgrade to the next version of the application. In that case, an LTS release like the .NET 6 runtime could be the right option.
+If you're building a client application that will be distributed to consumers, stability might be more important than access to the latest features. Your application might need to be supported for a certain period before the consumer can upgrade to the next version of the application. In that case, an LTS release like the .NET 8 runtime could be the right option.
> [!NOTE]
> We recommend upgrading to the latest SDK version, even if it's an STS release, as it can target all available runtimes.
@@ -102,15 +100,15 @@ End of support refers to the date after which Microsoft no longer provides fixes
## Supported operating systems
-.NET can be run on a range of operating systems. Each of these operating systems has a lifecycle defined by its sponsor organization (for example, Microsoft, Red Hat, or Apple). We take these lifecycle schedules into account when adding and removing support for operating system versions.
+.NET can be run on a range of operating systems. Each of these operating systems has a lifecycle defined by its sponsor organization (for example, Microsoft, Red Hat, or Apple). These lifecycle schedules are taken into account when .NET adds and removes support for operating system versions.
-When an operating system version goes out of support, we stop testing that version and providing support for that version. Users need to move forward to a supported operating system version to get support.
+When an operating system version reaches end of support, Microsoft stops testing and providing support for that version. Users need to move forward to a supported operating system version to get support.
For more information, see the [.NET OS Lifecycle Policy](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
## Get support
-You have a choice between Microsoft assisted support and Community support.
+You have a choice between Microsoft-assisted support and Community support.
### Microsoft support
diff --git a/docs/core/versions/index.md b/docs/core/versions/index.md
index 09812f6105165..468889f684c0e 100644
--- a/docs/core/versions/index.md
+++ b/docs/core/versions/index.md
@@ -2,14 +2,14 @@
title: How the .NET Runtime and SDK are versioned
description: This article explains how the .NET SDK and Runtime are versioned (similar to semantic versioning).
ms.custom: updateeachrelease
-ms.date: 04/26/2023
+ms.date: 08/26/2025
---
# How .NET is versioned
The [.NET Runtime and the .NET SDK](../introduction.md) add new features at different frequencies. In general, the SDK is updated more frequently than the runtime. This article explains the runtime and the SDK version numbers.
-.NET releases a new major version every November. Even-numbered releases, such as .NET 6 or .NET 8, are long-term supported (LTS). LTS releases get free support and patches for three years. Odd-numbered releases are standard-term support. Standard-term support releases get free support and patches for 18 months.
+.NET releases a new major version every November. Even-numbered releases, such as .NET 6 or .NET 8, are long-term support (LTS) releases. LTS releases get free support and patches for three years. Odd-numbered releases are standard-term support (STS) releases. Standard-term support releases get free support and patches for two years (starting with .NET 9).
## Versioning details
diff --git a/docs/core/whats-new/dotnet-7.md b/docs/core/whats-new/dotnet-7.md
index 1a4f9d7e9c644..900b66b0906c6 100644
--- a/docs/core/whats-new/dotnet-7.md
+++ b/docs/core/whats-new/dotnet-7.md
@@ -8,7 +8,7 @@ author: gewarren
---
# What's new in .NET 7
-.NET 7 is the successor to [.NET 6](dotnet-6.md) and focuses on being unified, modern, simple, and *fast*. .NET 7 will be [supported for 18 months](https://dotnet.microsoft.com/platform/support/policy/dotnet-core) as a standard-term support (STS) release (previously known as a *current* release).
+.NET 7 was the successor to [.NET 6](dotnet-6.md) and focused on being unified, modern, simple, and *fast*. .NET 7 was a standard-term support (STS) release (previously known as a *current* release).
This article lists the new features of .NET 7 and provides links to more detailed information on each.
diff --git a/docs/core/whats-new/dotnet-9/overview.md b/docs/core/whats-new/dotnet-9/overview.md
index 47601bfa0af56..800cd017e76ea 100644
--- a/docs/core/whats-new/dotnet-9/overview.md
+++ b/docs/core/whats-new/dotnet-9/overview.md
@@ -2,7 +2,7 @@
title: What's new in .NET 9
description: Learn about the new .NET features introduced in .NET 9 for the runtime, libraries, and SDK. Also find links to what's new in other areas, such as ASP.NET Core.
titleSuffix: ""
-ms.date: 11/11/2024
+ms.date: 08/26/2025
ms.topic: whats-new
---
@@ -10,7 +10,7 @@ ms.topic: whats-new
Learn about the new features in .NET 9 and find links to further documentation.
-.NET 9, the successor to [.NET 8](../dotnet-8/overview.md), has a special focus on cloud-native apps and performance. It will be [supported for 18 months](https://dotnet.microsoft.com/platform/support/policy/dotnet-core) as a standard-term support (STS) release. You can [download .NET 9 here](https://dotnet.microsoft.com/download/dotnet/9.0).
+.NET 9, the successor to [.NET 8](../dotnet-8/overview.md), has a special focus on cloud-native apps and performance. It will be [supported for two years](https://dotnet.microsoft.com/platform/support/policy/dotnet-core) as a standard-term support (STS) release. You can [download .NET 9 here](https://dotnet.microsoft.com/download/dotnet/9.0).
New for .NET 9, the engineering team posts .NET 9 preview updates on [GitHub Discussions](https://github.com/dotnet/core/discussions/9234). That's a great place to ask questions and provide feedback about the release.
diff --git a/docs/csharp/language-reference/keywords/extension.md b/docs/csharp/language-reference/keywords/extension.md
index eba46e1d17b85..24fbed96d8dd5 100644
--- a/docs/csharp/language-reference/keywords/extension.md
+++ b/docs/csharp/language-reference/keywords/extension.md
@@ -1,16 +1,16 @@
---
title: "Extension member declarations"
description: "Learn the syntax to declare extension members in C#. Extension members enable you to add functionality to types and interfaces in those instances where you don't have the source for the original type. Extensions are often paired with generic interfaces to implement a common set of functionality across all types that implement that interface."
-ms.date: 04/17/2025
+ms.date: 09/17/2025
f1_keywords:
- "extension_CSharpKeyword"
- "extension"
---
# Extension declaration (C# Reference)
-Beginning with C# 14, top level, nongeneric `static class` declarations can use `extension` containers to declare *extension members*. Extension members are methods or properties and can appear to be instance or static members. Earlier versions of C# enable *extension methods* by adding `this` as a modifier to the first parameter of a static method declared in a top-level, nongeneric static class.
+Beginning with C# 14, top level, nongeneric `static class` declarations can use `extension` blocks to declare *extension members*. Extension members are methods or properties and can appear to be instance or static members. Earlier versions of C# enable *extension methods* by adding `this` as a modifier to the first parameter of a static method declared in a top-level, nongeneric static class.
-The `extension` block specifies the type and receiver for extension members. You can declare methods and properties inside the `extension` declaration. The following example declares a single extension block that defines an instance extension method and an instance property.
+The `extension` block specifies the type and receiver for extension members. You can declare methods, properties, or operators inside the `extension` declaration. The following example declares a single extension block that defines an instance extension method, an instance property, and a static operator method.
:::code language="csharp" source="./snippets/extensions.cs" id="ExtensionMembers":::
@@ -20,7 +20,7 @@ Any of the extension members can be accessed as though they were members of the
:::code language="csharp" source="./snippets/extensions.cs" id="UseExtensionMethod":::
-You can declare any number of members in a single container, as long as they share the same receiver. You can declare as many extension blocks in a single class as well. Different extensions don't need to declare the same type or name of receiver. The extension parameter doesn't need to include the parameter name if the only members are static:
+You can declare any number of members in a single block, as long as they share the same receiver. You can declare as many extension blocks in a single class as well. Different extensions don't need to declare the same type or name of receiver. The extension parameter doesn't need to include the parameter name if the only members are static:
:::code language="csharp" source="./snippets/extensions.cs" id="StaticExtensions":::
@@ -28,6 +28,8 @@ Static extensions can be called as though they're static members of the receiver
:::code language="csharp" source="./snippets/extensions.cs" id="UseStaticExtensions":::
+Operators are called as though they're user defined operators on the type.
+
> [!IMPORTANT]
> An extension doesn't introduce a *scope* for member declarations. All members declared in a single class, even if in multiple extensions, must have unique signatures. The generated signature includes the receiver type in its name for static members and the receiver parameter for extension instance members.
diff --git a/docs/csharp/language-reference/keywords/snippets/Extensions.cs b/docs/csharp/language-reference/keywords/snippets/Extensions.cs
index 90dd06c611058..626c7556e963b 100644
--- a/docs/csharp/language-reference/keywords/snippets/Extensions.cs
+++ b/docs/csharp/language-reference/keywords/snippets/Extensions.cs
@@ -35,7 +35,8 @@ public int Median
}
}
- public int this[int index] => sequence.Skip(index).First();
+ public static IEnumerable operator +(IEnumerable left, IEnumerable right)
+ => left.Concat(right);
}
}
//
@@ -102,6 +103,8 @@ public static void BasicExample()
numbers = numbers.AddValue(10);
var median = numbers.Median;
+
+ var combined = numbers + Enumerable.Range(100, 10);
//
//
diff --git a/docs/csharp/programming-guide/classes-and-structs/extension-methods.md b/docs/csharp/programming-guide/classes-and-structs/extension-methods.md
index c568b72a3d92e..f5588bc085b3b 100644
--- a/docs/csharp/programming-guide/classes-and-structs/extension-methods.md
+++ b/docs/csharp/programming-guide/classes-and-structs/extension-methods.md
@@ -1,7 +1,7 @@
---
title: "Extension members"
description: Extension members in C# enable you to add methods, properties, or operators to existing types without creating a new derived type, recompiling, or otherwise modifying the original type.
-ms.date: 04/15/2025
+ms.date: 09/17/2025
helpviewer_keywords:
- "methods [C#], adding to existing types"
- "extension methods [C#]"
@@ -12,7 +12,9 @@ helpviewer_keywords:
Extension members enable you to "add" methods to existing types without creating a new derived type, recompiling, or otherwise modifying the original type.
-Beginning with C# 14, there are two syntaxes you use to define extension methods. C# 14 adds [`extension`](../../language-reference/keywords/extension.md) containers, where you define multiple extension members for a type or an instance of a type. Before C# 14, you add the [`this`](../../language-reference/keywords/this.md) modifier to the first parameter of a static method to indicate that the method appears as a member of an instance of the parameter type.
+Beginning with C# 14, there are two syntaxes you use to define extension methods. C# 14 adds [`extension`](../../language-reference/keywords/extension.md) blocks, where you define multiple extension members for a type or an instance of a type. Before C# 14, you add the [`this`](../../language-reference/keywords/this.md) modifier to the first parameter of a static method to indicate that the method appears as a member of an instance of the parameter type.
+
+Extension blocks support multiple member types: methods, properties, and operators. With extension blocks, you can define both instance extensions and static extensions. Instance extensions extend an instance of the type; static extensions extend the type itself. The form of extension methods declared with the `this` modifier supports instance extension methods.
Extension methods are static methods, but they're called as if they were instance methods on the extended type. For client code written in C#, F# and Visual Basic, there's no apparent difference between calling an extension method and the methods defined in a type. Both forms of extension methods are compiled to the same IL (Intermediate Language). Consumers of extension members don't need to know which syntax was used to define extension methods.
@@ -87,7 +89,7 @@ In the past, it was common to create "Collection Classes" that implemented the <
### Layer-Specific Functionality
-When using an Onion Architecture or other layered application design, it's common to have a set of Domain Entities or Data Transfer Objects that can be used to communicate across application boundaries. These objects generally contain no functionality, or only minimal functionality that applies to all layers of the application. Extension methods can be used to add functionality that is specific to each application layer.
+When using an Onion Architecture or other layered application design, it's common to have a set of Domain Entities or Data Transfer Objects that can be used to communicate across application boundaries. These objects generally contain no functionality, or only minimal functionality that applies to all layers of the application. Extension methods can be used to add functionality that's specific to each application layer.
:::code language="csharp" source="./snippets/ExtensionMembers/CustomExtensionMethods.cs" id="DomainEntity":::
@@ -99,7 +101,7 @@ You can declare an equivalent `FullName` property in C# 14 and later using the n
Rather than creating new objects when reusable functionality needs to be created, you can often extend an existing type, such as a .NET or CLR type. As an example, if you don't use extension methods, you might create an `Engine` or `Query` class to do the work of executing a query on a SQL Server that might be called from multiple places in our code. However you can instead extend the class using extension methods to perform that query from anywhere you have a connection to a SQL Server. Other examples might be to add common functionality to the class, extend the data processing capabilities of the object, and objects for specific error handling functionality. These types of use-cases are limited only by your imagination and good sense.
-Extending predefined types can be difficult with `struct` types because they're passed by value to methods. That means any changes to the struct are made to a copy of the struct. Those changes aren't visible once the extension method exits. You can add the `ref` modifier to the first argument making it a `ref` extension method. The `ref` keyword can appear before or after the `this` keyword without any semantic differences. Adding the `ref` modifier indicates that the first argument is passed by reference. This technique enables you to write extension methods that change the state of the struct being extended (note that private members aren't accessible). Only value types or generic types constrained to struct (For more information about these rules, see [`struct` constraint](../../language-reference/builtin-types/struct.md#struct-constraint) for more information) are allowed as the first parameter of a `ref` extension method or as the receiver of an extension block. The following example shows how to use a `ref` extension method to directly modify a built-in type without the need to reassign the result or pass it through a function with the `ref` keyword:
+Extending predefined types can be difficult with `struct` types because they're passed by value to methods. That means any changes to the struct are made to a copy of the struct. Those changes aren't visible once the extension method exits. You can add the `ref` modifier to the first argument making it a `ref` extension method. The `ref` keyword can appear before or after the `this` keyword without any semantic differences. Adding the `ref` modifier indicates that the first argument is passed by reference. This technique enables you to write extension methods that change the state of the struct being extended (note that private members aren't accessible). Only value types or generic types constrained to struct (For more information about these rules, see the article on the [`struct` constraint](../../language-reference/builtin-types/struct.md#struct-constraint)) are allowed as the first parameter of a `ref` extension method or as the receiver of an extension block. The following example shows how to use a `ref` extension method to directly modify a built-in type without the need to reassign the result or pass it through a function with the `ref` keyword:
:::code language="csharp" source="./snippets/ExtensionMembers/CustomExtensionMethods.cs" id="RefExtensions":::
@@ -143,7 +145,3 @@ For a class library that you implemented, you shouldn't use extension methods to
- [Parallel Programming Samples (many examples demonstrate extension methods)](/samples/browse/?products=dotnet&term=parallel)
- [Lambda Expressions](../../language-reference/operators/lambda-expressions.md)
- [Standard Query Operators Overview](../../linq/standard-query-operators/index.md)
-- [Conversion rules for Instance parameters and their impact](/archive/blogs/sreekarc/conversion-rules-for-instance-parameters-and-their-impact)
-- [Extension methods Interoperability between languages](/archive/blogs/sreekarc/extension-methods-interoperability-between-languages)
-- [Extension methods and Curried Delegates](/archive/blogs/sreekarc/extension-methods-and-curried-delegates)
-- [Extension method Binding and Error reporting](/archive/blogs/sreekarc/extension-method-binding-and-error-reporting)
diff --git a/docs/csharp/whats-new/csharp-14.md b/docs/csharp/whats-new/csharp-14.md
index 09e4ab942ceb9..d63573bc62c3a 100644
--- a/docs/csharp/whats-new/csharp-14.md
+++ b/docs/csharp/whats-new/csharp-14.md
@@ -1,7 +1,7 @@
---
title: What's new in C# 14
description: Get an overview of the new features in C# 14. C# 14 ships with .NET 10.
-ms.date: 04/17/2025
+ms.date: 09/17/2025
ms.topic: whats-new
ms.update-cycle: 180-days
---
@@ -30,7 +30,7 @@ You can find any breaking changes introduced in C# 14 in our article on [breakin
## Extension members
-C# 14 adds new syntax to define *extension members*. The new syntax enables you to declare *extension properties* in addition to extension methods. You can also declare extension members that extend the type, rather than an instance of the type. In other words, these new extension members can appear as static members of the type you extend. The following code example shows an example of the different kinds of extension members you can declare:
+C# 14 adds new syntax to define *extension members*. The new syntax enables you to declare *extension properties* in addition to extension methods. You can also declare extension members that extend the type, rather than an instance of the type. In other words, these new extension members can appear as static members of the type you extend. These extensions can include user defined operators implemented as static extension methods. The following code example shows an example of the different kinds of extension members you can declare:
```csharp
public static class Enumerable
@@ -40,8 +40,6 @@ public static class Enumerable
{
// Extension property:
public bool IsEmpty => !source.Any();
- // Extension indexer:
- public TSource this[int index] => source.Skip(index).First();
// Extension method:
public IEnumerable Where(Func predicate) { ... }
@@ -55,6 +53,9 @@ public static class Enumerable
// static extension property:
public static IEnumerable Identity => Enumerable.Empty();
+
+ // static user defined operator:
+ public static IEnumerable operator + (IEnumerable left, IEnumerable right) => left.Concat(right);
}
}
```
diff --git a/docs/visual-basic/developing-apps/programming/drives-directories-files/how-to-read-from-text-files.md b/docs/visual-basic/developing-apps/programming/drives-directories-files/how-to-read-from-text-files.md
index 04d0bf06acf24..018253646bdad 100644
--- a/docs/visual-basic/developing-apps/programming/drives-directories-files/how-to-read-from-text-files.md
+++ b/docs/visual-basic/developing-apps/programming/drives-directories-files/how-to-read-from-text-files.md
@@ -31,6 +31,19 @@ Use the `ReadAllText` method of the `My.Computer.FileSystem` object to read the
[!code-vb[VbFileIORead#3](~/samples/snippets/visualbasic/VS_Snippets_VBCSharp/VbFileIORead/VB/Class1.vb#3)]
+### To read from a text file into a RichTextBox control
+
+To load the contents of a text file directly into a RichTextBox control, read the file contents into a string and assign it to the `Text` property of the RichTextBox. The following example shows how to read a text file and load it into a RichTextBox control.
+
+[!code-vb[VbFileIORead#21](~/samples/snippets/visualbasic/VS_Snippets_VBCSharp/VbFileIORead/VB/Class1.vb#21)]
+
+For better error handling and file path management, you can use the following approach that constructs a proper file path and handles potential exceptions. This approach avoids hardcoded drive paths that can cause issues on different systems:
+
+[!code-vb[VbFileIORead#22](~/samples/snippets/visualbasic/VS_Snippets_VBCSharp/VbFileIORead/VB/Class1.vb#22)]
+
+> [!NOTE]
+> When specifying file paths, avoid using hardcoded absolute paths like "C:\temp\file.txt" as these can cause issues on systems where the drive letter or directory structure is different. Instead, use relative paths or construct paths using to ensure your code works across different environments.
+
## Robust Programming
The following conditions may cause an exception:
diff --git a/docs/visual-basic/language-reference/error-messages/bc35000.md b/docs/visual-basic/language-reference/error-messages/bc35000.md
index 71b94b3fa65b2..6e7ceaf991d5b 100644
--- a/docs/visual-basic/language-reference/error-messages/bc35000.md
+++ b/docs/visual-basic/language-reference/error-messages/bc35000.md
@@ -25,6 +25,9 @@ Rather than embedding a subset of the Visual Basic Runtime in your assembly, you
Default
```
+> [!NOTE]
+> This solution does not apply to SDK-style projects that target .NET Standard because parts of the Visual Basic Runtime are not available in .NET Standard.
+
## See also
- [**-vbruntime** compiler option](../../reference/command-line-compiler/vbruntime.md)
diff --git a/docs/visual-basic/language-reference/statements/raiseevent-statement.md b/docs/visual-basic/language-reference/statements/raiseevent-statement.md
index e385743bd2e2e..a84f9af896120 100644
--- a/docs/visual-basic/language-reference/statements/raiseevent-statement.md
+++ b/docs/visual-basic/language-reference/statements/raiseevent-statement.md
@@ -54,26 +54,19 @@ RaiseEvent eventname[( argumentlist )]
The class that raises an event is the event source, and the methods that process the event are the event handlers. An event source can have multiple handlers for the events it generates. When the class raises the event, that event is raised on every class that has elected to handle events for that instance of the object.
- The example also uses a form (`Form1`) with a button (`Button1`) and a text box (`TextBox1`). When you click the button, the first text box displays a countdown from 10 to 0 seconds. When the full time (10 seconds) has elapsed, the first text box displays "Done".
+ The example demonstrates a timer that counts down from 10 to 0 seconds and displays the progress to the console. When the countdown finishes, it displays "Done".
- The code for `Form1` specifies the initial and terminal states of the form. It also contains the code executed when events are raised.
-
- To use this example, open a new Windows Application project, add a button named `Button1` and a text box named `TextBox1` to the main form, named `Form1`. Then right-click the form and click **View Code** to open the Code Editor.
-
- Add a `WithEvents` variable to the declarations section of the `Form1` class.
+ Declare a `WithEvents` variable in your class to handle events from the timer:
[!code-vb[VbVbalrEvents#14](~/samples/snippets/visualbasic/VS_Snippets_VBCSharp/VbVbalrEvents/VB/Class1.vb#14)]
## Example 2
- Add the following code to the code for `Form1`. Replace any duplicate procedures that may exist, such as `Form_Load`, or `Button_Click`.
+ Add the following code to implement the event handlers and timer logic. This example shows how to use the `RaiseEvent` statement to notify event handlers when the timer updates or completes.
[!code-vb[VbVbalrEvents#15](~/samples/snippets/visualbasic/VS_Snippets_VBCSharp/VbVbalrEvents/VB/Class1.vb#15)]
- Press F5 to run the preceding example, and click the button labeled **Start**. The first text box starts to count down the seconds. When the full time (10 seconds) has elapsed, the first text box displays "Done".
-
-> [!NOTE]
-> The `My.Application.DoEvents` method does not process events in exactly the same way as the form does. To allow the form to handle the events directly, you can use multithreading. For more information, see [Managed Threading](../../../standard/threading/managed-threading-basics.md).
+ When you run the preceding example, it starts counting down the seconds from 10 to 0, displaying the progress to the console. When the full time (10 seconds) has elapsed, it displays "Done".
## See also
diff --git a/docs/visual-basic/misc/bc30738.md b/docs/visual-basic/misc/bc30738.md
index 5890c982577d3..4a41409358907 100644
--- a/docs/visual-basic/misc/bc30738.md
+++ b/docs/visual-basic/misc/bc30738.md
@@ -11,14 +11,44 @@ ms.assetid: c3212d87-6af3-4120-9e06-4d85fa910de2
---
# 'Sub Main' is declared more than once in '\': \
-`Sub Main` can only be declared once inside a namespace.
-
- **Error ID:** BC30738
-
-## To correct this error
-
-- Make sure there is only a single `Sub Main` procedure in your project.
-
+`Sub Main` can only be declared once inside a namespace.
+
+**Error ID:** BC30738
+
+## Cause
+
+This error often occurs in Windows Forms applications when you define your own `Sub Main` procedure while the Visual Basic Application Framework is enabled. The application framework automatically generates a `Main` procedure, creating a conflict when you add another one.
+
+## To correct this error
+
+Choose one of the following approaches:
+
+### Option 1: Use the application framework (recommended for most Windows Forms apps)
+
+- Remove your custom `Sub Main` procedure.
+- Configure your startup form and initialization code using the application framework:
+ - Set the **Startup form** in **Project Properties** > **Application** tab.
+ - Use the `My.MyApplication` events for custom startup logic.
+
+### Option 2: Disable the application framework
+
+If you need programmatic control over application startup (for example, to select which form to display based on command-line arguments):
+
+- In **Project Properties** > **Application** tab, uncheck **Enable application framework**.
+- Set **Startup object** to your module or class containing `Sub Main`.
+- Implement your own `Sub Main` procedure to control application startup.
+
+### Option 3: Remove duplicate Main procedures
+
+- Ensure there is only a single `Sub Main` procedure in your entire project.
+
+## Access `My.MyApplication.Main`
+
+If you need to access the automatically generated startup code, you can work with the object and its events such as , , and . The application framework provides these events specifically for customizing application behavior without defining your own `Main` procedure.
+
## See also
+- [Main Procedure in Visual Basic](../programming-guide/program-structure/main-procedure.md)
+- [Overview of the Visual Basic Application Model](../developing-apps/development-with-my/overview-of-the-visual-basic-application-model.md)
+- [-main (Visual Basic)](../reference/command-line-compiler/main.md)
- [Procedures](../programming-guide/language-features/procedures/index.md)
diff --git a/docs/visual-basic/programming-guide/language-features/strings/walkthrough-encrypting-and-decrypting-strings.md b/docs/visual-basic/programming-guide/language-features/strings/walkthrough-encrypting-and-decrypting-strings.md
index 5e517b340406b..ff39a40dfee8b 100644
--- a/docs/visual-basic/programming-guide/language-features/strings/walkthrough-encrypting-and-decrypting-strings.md
+++ b/docs/visual-basic/programming-guide/language-features/strings/walkthrough-encrypting-and-decrypting-strings.md
@@ -11,7 +11,7 @@ ms.assetid: 1f51e40a-2f88-43e2-a83e-28a0b5c0d6fd
---
# Walkthrough: Encrypting and Decrypting Strings in Visual Basic
-This walkthrough shows you how to use the class to encrypt and decrypt strings using the cryptographic service provider (CSP) version of the Triple Data Encryption Standard () algorithm. The first step is to create a simple wrapper class that encapsulates the 3DES algorithm and stores the encrypted data as a base-64 encoded string. Then, that wrapper is used to securely store private user data in a publicly accessible text file.
+This walkthrough shows you how to use the class to encrypt and decrypt strings using the Triple Data Encryption Standard (3DES) algorithm. The first step is to create a simple wrapper class that encapsulates the 3DES algorithm and stores the encrypted data as a base-64 encoded string. Then, that wrapper is used to securely store private user data in a publicly accessible text file.
You can use encryption to protect user secrets (for example, passwords) and to make credentials unreadable by unauthorized users. This can protect an authorized user's identity from being stolen, which protects the user's assets and provides non-repudiation. Encryption can also protect a user's data from being accessed by unauthorized users.
@@ -21,28 +21,28 @@ This walkthrough shows you how to use the The Rijndael (now referred to as Advanced Encryption Standard [AES]) and Triple Data Encryption Standard (3DES) algorithms provide greater security than DES because they are more computationally intensive. For more information, see and .
### To create the encryption wrapper
-
+
1. Create the `Simple3Des` class to encapsulate the encryption and decryption methods.
-
+
[!code-vb[VbVbalrStrings#38](~/samples/snippets/visualbasic/VS_Snippets_VBCSharp/VbVbalrStrings/VB/Class3.vb#38)]
-
+
2. Add an import of the cryptography namespace to the start of the file that contains the `Simple3Des` class.
-
+
[!code-vb[VbVbalrStrings#77](~/samples/snippets/visualbasic/VS_Snippets_VBCSharp/VbVbalrStrings/VB/Class3.vb#77)]
-
+
3. In the `Simple3Des` class, add a private field to store the 3DES cryptographic service provider.
-
+
[!code-vb[VbVbalrStrings#39](~/samples/snippets/visualbasic/VS_Snippets_VBCSharp/VbVbalrStrings/VB/Class3.vb#39)]
-
+
4. Add a private method that creates a byte array of a specified length from the hash of the specified key.
-
+
[!code-vb[VbVbalrStrings#41](~/samples/snippets/visualbasic/VS_Snippets_VBCSharp/VbVbalrStrings/VB/Class3.vb#41)]
-
-5. Add a constructor to initialize the 3DES cryptographic service provider.
-
+
+5. Add a constructor to initialize the 3DES cryptographic algorithm.
+
The `key` parameter controls the `EncryptData` and `DecryptData` methods.
-
- [!code-vb[VbVbalrStrings#40](~/samples/snippets/visualbasic/VS_Snippets_VBCSharp/VbVbalrStrings/VB/Class3.vb#40)]
+
+ [!code-vb[VbVbalrStrings#40](~/samples/snippets/visualbasic/VS_Snippets_VBCSharp/VbVbalrStrings/VB/Class3.vb#40)]
6. Add a public method that encrypts a string.
diff --git a/samples/snippets/visualbasic/VS_Snippets_VBCSharp/VbFileIORead/VB/Class1.vb b/samples/snippets/visualbasic/VS_Snippets_VBCSharp/VbFileIORead/VB/Class1.vb
index b32601bb80c43..1f2a16ad03e9e 100644
--- a/samples/snippets/visualbasic/VS_Snippets_VBCSharp/VbFileIORead/VB/Class1.vb
+++ b/samples/snippets/visualbasic/VS_Snippets_VBCSharp/VbFileIORead/VB/Class1.vb
@@ -20,7 +20,7 @@ Class Class735fe9d70f7a4185ba02f35e580ec4b8
Public Sub Method2()
'
Dim fileReader As String
- fileReader = My.Computer.FileSystem.ReadAllText("C:\test.txt")
+ fileReader = My.Computer.FileSystem.ReadAllText("test.txt")
MsgBox(fileReader)
'
End Sub
@@ -28,12 +28,37 @@ Class Class735fe9d70f7a4185ba02f35e580ec4b8
Public Sub Method3()
'
Dim fileReader As String
- fileReader = My.Computer.FileSystem.ReadAllText("C:\test.txt",
+ fileReader = My.Computer.FileSystem.ReadAllText("test.txt",
System.Text.Encoding.UTF32)
MsgBox(fileReader)
'
End Sub
+ Public Sub LoadTextIntoRichTextBox()
+ '
+ ' Load text file into a RichTextBox control
+ ' Note: This assumes RichTextBox1 is a control on your form
+ Dim fileText As String
+ fileText = My.Computer.FileSystem.ReadAllText("test.txt")
+ ' RichTextBox1.Text = fileText
+ '
+ End Sub
+
+ Public Sub LoadTextIntoRichTextBoxWithPath()
+ '
+ ' Load text file into a RichTextBox control using a specific path
+ Try
+ Dim filePath As String = System.IO.Path.Combine(System.AppDomain.CurrentDomain.BaseDirectory, "test.txt")
+ Dim fileText As String = My.Computer.FileSystem.ReadAllText(filePath)
+ ' RichTextBox1.Text = fileText
+ Catch ex As System.IO.FileNotFoundException
+ MsgBox("File not found: " & ex.Message)
+ Catch ex As Exception
+ MsgBox("Error reading file: " & ex.Message)
+ End Try
+ '
+ End Sub
+
End Class
Class Class8d185eb279ca42cd95a7d3ff44a5a0f8
diff --git a/samples/snippets/visualbasic/VS_Snippets_VBCSharp/VbFileIORead/VB/VbFileIORead.vbproj b/samples/snippets/visualbasic/VS_Snippets_VBCSharp/VbFileIORead/VB/VbFileIORead.vbproj
new file mode 100644
index 0000000000000..6bff1e6f8620d
--- /dev/null
+++ b/samples/snippets/visualbasic/VS_Snippets_VBCSharp/VbFileIORead/VB/VbFileIORead.vbproj
@@ -0,0 +1,8 @@
+
+
+
+ Library
+ net4.81
+
+
+
\ No newline at end of file
diff --git a/samples/snippets/visualbasic/VS_Snippets_VBCSharp/VbFileIORead/VB/test.txt b/samples/snippets/visualbasic/VS_Snippets_VBCSharp/VbFileIORead/VB/test.txt
new file mode 100644
index 0000000000000..e9d9f20c0eede
--- /dev/null
+++ b/samples/snippets/visualbasic/VS_Snippets_VBCSharp/VbFileIORead/VB/test.txt
@@ -0,0 +1,3 @@
+This is a sample text file for testing the file reading examples.
+It contains multiple lines of text that can be read into a string variable
+or loaded directly into a RichTextBox control.
\ No newline at end of file
diff --git a/samples/snippets/visualbasic/VS_Snippets_VBCSharp/VbVbalrEvents/VB/Class1.vb b/samples/snippets/visualbasic/VS_Snippets_VBCSharp/VbVbalrEvents/VB/Class1.vb
index 1100b9e5787df..3b30377dfd090 100644
--- a/samples/snippets/visualbasic/VS_Snippets_VBCSharp/VbVbalrEvents/VB/Class1.vb
+++ b/samples/snippets/visualbasic/VS_Snippets_VBCSharp/VbVbalrEvents/VB/Class1.vb
@@ -157,56 +157,46 @@ Class Class306ff8ed74dd4b6abd2fe91b17474042
End Class
'
- Class Form1
- Inherits Form
- Private WithEvents Button1 As New Button
- Private WithEvents TextBox1 As New TextBox
-
- '
- Private WithEvents mText As TimerState
+ '
+ Public Class TimerExample
+ Private WithEvents mTimer As TimerState
'
'
- Private Sub Form1_Load() Handles MyBase.Load
- Button1.Text = "Start"
- mText = New TimerState
- End Sub
- Private Sub Button1_Click() Handles Button1.Click
- mText.StartCountdown(10.0, 0.1)
+ Public Sub StartCountdownExample()
+ mTimer = New TimerState()
+ mTimer.StartCountdown(10.0, 1.0)
End Sub
- Private Sub mText_ChangeText() Handles mText.Finished
- TextBox1.Text = "Done"
+ Private Sub mTimer_UpdateTime(ByVal Countdown As Double) Handles mTimer.UpdateTime
+ Console.WriteLine("Time remaining: " & Format(Countdown, "##0.0") & " seconds")
End Sub
- Private Sub mText_UpdateTime(ByVal Countdown As Double
- ) Handles mText.UpdateTime
+ Private Sub mTimer_Finished() Handles mTimer.Finished
+ Console.WriteLine("Done")
+ End Sub
+ End Class
- TextBox1.Text = Format(Countdown, "##0.0")
- ' Use DoEvents to allow the display to refresh.
- My.Application.DoEvents()
+ Public Class TimerState
+ Public Event UpdateTime(ByVal Countdown As Double)
+ Public Event Finished()
+ Public Sub StartCountdown(ByVal Duration As Double,
+ ByVal Increment As Double)
+ Dim SoFar As Double = 0
+ Do While SoFar < Duration
+ System.Threading.Thread.Sleep(CInt(Increment * 1000))
+ SoFar += Increment
+ RaiseEvent UpdateTime(Duration - SoFar)
+ Loop
+ RaiseEvent Finished()
End Sub
+ End Class
+ '
- Class TimerState
- Public Event UpdateTime(ByVal Countdown As Double)
- Public Event Finished()
- Public Sub StartCountdown(ByVal Duration As Double,
- ByVal Increment As Double)
- Dim Start As Double = DateAndTime.Timer
- Dim ElapsedTime As Double = 0
-
- Dim SoFar As Double = 0
- Do While ElapsedTime < Duration
- If ElapsedTime > SoFar + Increment Then
- SoFar += Increment
- RaiseEvent UpdateTime(Duration - SoFar)
- End If
- ElapsedTime = DateAndTime.Timer - Start
- Loop
- RaiseEvent Finished()
- End Sub
- End Class
- '
+ Class Form1
+ Inherits Form
+ Private WithEvents Button1 As New Button
+ Private WithEvents TextBox1 As New TextBox
End Class
End Class
diff --git a/samples/snippets/visualbasic/VS_Snippets_VBCSharp/VbVbalrStatements/VB/Class1.vb b/samples/snippets/visualbasic/VS_Snippets_VBCSharp/VbVbalrStatements/VB/Class1.vb
index eb8880b799ff8..25a361c240d50 100644
--- a/samples/snippets/visualbasic/VS_Snippets_VBCSharp/VbVbalrStatements/VB/Class1.vb
+++ b/samples/snippets/visualbasic/VS_Snippets_VBCSharp/VbVbalrStatements/VB/Class1.vb
@@ -278,7 +278,7 @@ Public Class Class1
Sub TestThrow()
'
' Throws a new exception.
- Throw New System.Exception("An exception has occurred.")
+ Throw New InvalidOperationException("The operation is not valid for the current state.")
'
End Sub
diff --git a/samples/snippets/visualbasic/VS_Snippets_VBCSharp/VbVbalrStrings/VB/Class3.vb b/samples/snippets/visualbasic/VS_Snippets_VBCSharp/VbVbalrStrings/VB/Class3.vb
index a0b33a576478e..8ef28c7e4e365 100644
--- a/samples/snippets/visualbasic/VS_Snippets_VBCSharp/VbVbalrStrings/VB/Class3.vb
+++ b/samples/snippets/visualbasic/VS_Snippets_VBCSharp/VbVbalrStrings/VB/Class3.vb
@@ -63,8 +63,10 @@ Class Class1f51e40a2f8843e2a83e28a0b5c0d6fd
End Class
Public NotInheritable Class Simple3Des
+ Implements IDisposable
+
'
- Private TripleDes As New TripleDESCryptoServiceProvider
+ Private TripleDes As TripleDES = TripleDES.Create()
'
'
@@ -80,16 +82,16 @@ Class Class1f51e40a2f8843e2a83e28a0b5c0d6fd
ByVal key As String,
ByVal length As Integer) As Byte()
- Dim sha1 As New SHA1CryptoServiceProvider
-
- ' Hash the key.
- Dim keyBytes() As Byte =
- System.Text.Encoding.Unicode.GetBytes(key)
- Dim hash() As Byte = sha1.ComputeHash(keyBytes)
+ Using sha256 As SHA256 = SHA256.Create()
+ ' Hash the key.
+ Dim keyBytes() As Byte =
+ System.Text.Encoding.Unicode.GetBytes(key)
+ Dim hash() As Byte = sha256.ComputeHash(keyBytes)
- ' Truncate or pad the hash.
- ReDim Preserve hash(length - 1)
- Return hash
+ ' Truncate or pad the hash.
+ ReDim Preserve hash(length - 1)
+ Return hash
+ End Using
End Function
'
@@ -140,5 +142,9 @@ Class Class1f51e40a2f8843e2a83e28a0b5c0d6fd
End Function
'
+ Public Sub Dispose() Implements IDisposable.Dispose
+ TripleDes?.Dispose()
+ End Sub
+
End Class
End Class
\ No newline at end of file