diff --git a/playground/AspireEventHub/EventHubs.AppHost/Properties/launchSettings.json b/playground/AspireEventHub/EventHubs.AppHost/Properties/launchSettings.json index e8f122f082a..b18ebec13dc 100644 --- a/playground/AspireEventHub/EventHubs.AppHost/Properties/launchSettings.json +++ b/playground/AspireEventHub/EventHubs.AppHost/Properties/launchSettings.json @@ -11,7 +11,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "https://localhost:17119", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "https://localhost:18000", "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "https://localhost:17119", "ASPIRE_SHOW_DASHBOARD_RESOURCES": "true" } @@ -25,7 +24,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "http://localhost:17120", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "http://localhost:18001", "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "http://localhost:17120", "ASPIRE_SHOW_DASHBOARD_RESOURCES": "true", "ASPIRE_ALLOW_UNSECURED_TRANSPORT": "true" diff --git a/playground/AspireWithJavaScript/AspireJavaScript.AppHost/Properties/launchSettings.json b/playground/AspireWithJavaScript/AspireJavaScript.AppHost/Properties/launchSettings.json index bba3ee2e282..e5dd1e706f4 100644 --- a/playground/AspireWithJavaScript/AspireJavaScript.AppHost/Properties/launchSettings.json +++ b/playground/AspireWithJavaScript/AspireJavaScript.AppHost/Properties/launchSettings.json @@ -10,7 +10,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "https://localhost:21265", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "https://localhost:18002", "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "https://localhost:22001" } }, @@ -24,7 +23,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "http://localhost:19265", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "http://localhost:18003", "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "https://localhost:20203" } }, diff --git a/playground/AspireWithMaui/AspireWithMaui.AppHost/Properties/launchSettings.json b/playground/AspireWithMaui/AspireWithMaui.AppHost/Properties/launchSettings.json index 35ade541303..840f9ef9069 100644 --- a/playground/AspireWithMaui/AspireWithMaui.AppHost/Properties/launchSettings.json +++ b/playground/AspireWithMaui/AspireWithMaui.AppHost/Properties/launchSettings.json @@ -10,7 +10,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "https://localhost:21046", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "https://localhost:18004", "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "https://localhost:22093" } }, @@ -23,7 +22,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "http://localhost:19172", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "http://localhost:18005", "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "http://localhost:20091" } } diff --git a/playground/AspireWithNode/AspireWithNode.AppHost/Properties/launchSettings.json b/playground/AspireWithNode/AspireWithNode.AppHost/Properties/launchSettings.json index 6b32e0048c6..e1cc9d08afc 100644 --- a/playground/AspireWithNode/AspireWithNode.AppHost/Properties/launchSettings.json +++ b/playground/AspireWithNode/AspireWithNode.AppHost/Properties/launchSettings.json @@ -10,7 +10,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "https://localhost:21275", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "https://localhost:18006", "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "https://localhost:22009" } }, @@ -23,7 +22,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "http://localhost:19105", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "http://localhost:18007", "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "http://localhost:20198" } }, diff --git a/playground/AzureAppConfiguration/AzureAppConfiguration.AppHost/Properties/launchSettings.json b/playground/AzureAppConfiguration/AzureAppConfiguration.AppHost/Properties/launchSettings.json index f57cc8c528b..328f9735cfa 100644 --- a/playground/AzureAppConfiguration/AzureAppConfiguration.AppHost/Properties/launchSettings.json +++ b/playground/AzureAppConfiguration/AzureAppConfiguration.AppHost/Properties/launchSettings.json @@ -10,7 +10,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "https://localhost:21204", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "https://localhost:18010", "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "https://localhost:22213" } }, @@ -23,7 +22,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "http://localhost:19294", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "http://localhost:18011", "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "http://localhost:20029" } }, diff --git a/playground/AzureAppService/AzureAppService.AppHost/Properties/launchSettings.json b/playground/AzureAppService/AzureAppService.AppHost/Properties/launchSettings.json index 09c83a9eca2..2c38164f23f 100644 --- a/playground/AzureAppService/AzureAppService.AppHost/Properties/launchSettings.json +++ b/playground/AzureAppService/AzureAppService.AppHost/Properties/launchSettings.json @@ -10,7 +10,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "https://localhost:16167", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "https://localhost:18012", "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "https://localhost:17317", "ASPIRE_SHOW_DASHBOARD_RESOURCES": "true" } @@ -24,7 +23,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "http://localhost:16167", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "http://localhost:18013", "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "http://localhost:17318", "ASPIRE_SHOW_DASHBOARD_RESOURCES": "true", "ASPIRE_ALLOW_UNSECURED_TRANSPORT": "true" diff --git a/playground/AzureContainerApps/AzureContainerApps.AppHost/Properties/launchSettings.json b/playground/AzureContainerApps/AzureContainerApps.AppHost/Properties/launchSettings.json index fa1d6777037..4af6475879f 100644 --- a/playground/AzureContainerApps/AzureContainerApps.AppHost/Properties/launchSettings.json +++ b/playground/AzureContainerApps/AzureContainerApps.AppHost/Properties/launchSettings.json @@ -10,7 +10,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "https://localhost:17379", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "https://localhost:18014", "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "https://localhost:17307", "ASPIRE_SHOW_DASHBOARD_RESOURCES": "true" } @@ -24,7 +23,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "http://localhost:17380", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "http://localhost:18015", "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "http://localhost:17308", "ASPIRE_SHOW_DASHBOARD_RESOURCES": "true", "ASPIRE_ALLOW_UNSECURED_TRANSPORT": "true" diff --git a/playground/AzureFunctionsEndToEnd/AzureFunctionsEndToEnd.AppHost/Properties/launchSettings.json b/playground/AzureFunctionsEndToEnd/AzureFunctionsEndToEnd.AppHost/Properties/launchSettings.json index 1da5143655c..a067ec3cd4b 100644 --- a/playground/AzureFunctionsEndToEnd/AzureFunctionsEndToEnd.AppHost/Properties/launchSettings.json +++ b/playground/AzureFunctionsEndToEnd/AzureFunctionsEndToEnd.AppHost/Properties/launchSettings.json @@ -10,7 +10,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "https://localhost:21003", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "https://localhost:18016", "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "https://localhost:22110" } }, @@ -23,7 +22,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "http://localhost:19010", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "http://localhost:18017", "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "http://localhost:20125" } }, diff --git a/playground/AzureKusto/AzureKusto.AppHost/Properties/launchSettings.json b/playground/AzureKusto/AzureKusto.AppHost/Properties/launchSettings.json index ef88903aa9d..9e2e0267b7f 100644 --- a/playground/AzureKusto/AzureKusto.AppHost/Properties/launchSettings.json +++ b/playground/AzureKusto/AzureKusto.AppHost/Properties/launchSettings.json @@ -11,7 +11,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "https://localhost:17029", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "https://localhost:18018", "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "https://localhost:17029", "ASPIRE_SHOW_DASHBOARD_RESOURCES": "true" } @@ -25,7 +24,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "http://localhost:17030", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "http://localhost:18019", "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "http://localhost:17030", "ASPIRE_SHOW_DASHBOARD_RESOURCES": "true", "ASPIRE_ALLOW_UNSECURED_TRANSPORT": "true" diff --git a/playground/AzureOpenAIEndToEnd/AzureOpenAIEndToEnd.AppHost/Properties/launchSettings.json b/playground/AzureOpenAIEndToEnd/AzureOpenAIEndToEnd.AppHost/Properties/launchSettings.json index 1c821fc1153..42c9949c219 100644 --- a/playground/AzureOpenAIEndToEnd/AzureOpenAIEndToEnd.AppHost/Properties/launchSettings.json +++ b/playground/AzureOpenAIEndToEnd/AzureOpenAIEndToEnd.AppHost/Properties/launchSettings.json @@ -10,7 +10,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "https://localhost:16999", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "https://localhost:18020", "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "https://localhost:16999" } }, @@ -23,7 +22,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "http://localhost:17000", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "http://localhost:18021", "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "http://localhost:17000", "ASPIRE_ALLOW_UNSECURED_TRANSPORT": "true" } diff --git a/playground/AzureSearchEndToEnd/AzureSearch.AppHost/Properties/launchSettings.json b/playground/AzureSearchEndToEnd/AzureSearch.AppHost/Properties/launchSettings.json index 96c93da3085..760c1f16102 100644 --- a/playground/AzureSearchEndToEnd/AzureSearch.AppHost/Properties/launchSettings.json +++ b/playground/AzureSearchEndToEnd/AzureSearch.AppHost/Properties/launchSettings.json @@ -10,7 +10,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "https://localhost:16155", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "https://localhost:18022", "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "https://localhost:17399" } }, @@ -23,7 +22,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "http://localhost:16155", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "http://localhost:18023", "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "http://localhost:17400", "ASPIRE_ALLOW_UNSECURED_TRANSPORT": "true" } diff --git a/playground/AzureServiceBus/ServiceBus.AppHost/Properties/launchSettings.json b/playground/AzureServiceBus/ServiceBus.AppHost/Properties/launchSettings.json index 7b3403dc745..e93c6e13d51 100644 --- a/playground/AzureServiceBus/ServiceBus.AppHost/Properties/launchSettings.json +++ b/playground/AzureServiceBus/ServiceBus.AppHost/Properties/launchSettings.json @@ -11,7 +11,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "https://localhost:17409", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "https://localhost:18024", "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "https://localhost:17409", "ASPIRE_SHOW_DASHBOARD_RESOURCES": "true" } @@ -25,7 +24,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "http://localhost:17410", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "http://localhost:18025", "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "http://localhost:17410", "ASPIRE_SHOW_DASHBOARD_RESOURCES": "true", "ASPIRE_ALLOW_UNSECURED_TRANSPORT": "true" diff --git a/playground/AzureStorageEndToEnd/AzureStorageEndToEnd.AppHost/Properties/launchSettings.json b/playground/AzureStorageEndToEnd/AzureStorageEndToEnd.AppHost/Properties/launchSettings.json index 457e26b8af3..8f8c65a9439 100644 --- a/playground/AzureStorageEndToEnd/AzureStorageEndToEnd.AppHost/Properties/launchSettings.json +++ b/playground/AzureStorageEndToEnd/AzureStorageEndToEnd.AppHost/Properties/launchSettings.json @@ -10,7 +10,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "https://localhost:17049", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "https://localhost:18026", "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "https://localhost:17049", "ASPIRE_SHOW_DASHBOARD_RESOURCES": "true" } @@ -24,7 +23,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "http://localhost:17050", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "http://localhost:18027", "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "http://localhost:17050", "ASPIRE_SHOW_DASHBOARD_RESOURCES": "true", "ASPIRE_ALLOW_UNSECURED_TRANSPORT": "true" diff --git a/playground/AzureVirtualNetworkEndToEnd/AzureVirtualNetworkEndToEnd.AppHost/Properties/launchSettings.json b/playground/AzureVirtualNetworkEndToEnd/AzureVirtualNetworkEndToEnd.AppHost/Properties/launchSettings.json index 457e26b8af3..8f8c65a9439 100644 --- a/playground/AzureVirtualNetworkEndToEnd/AzureVirtualNetworkEndToEnd.AppHost/Properties/launchSettings.json +++ b/playground/AzureVirtualNetworkEndToEnd/AzureVirtualNetworkEndToEnd.AppHost/Properties/launchSettings.json @@ -10,7 +10,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "https://localhost:17049", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "https://localhost:18026", "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "https://localhost:17049", "ASPIRE_SHOW_DASHBOARD_RESOURCES": "true" } @@ -24,7 +23,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "http://localhost:17050", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "http://localhost:18027", "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "http://localhost:17050", "ASPIRE_SHOW_DASHBOARD_RESOURCES": "true", "ASPIRE_ALLOW_UNSECURED_TRANSPORT": "true" diff --git a/playground/BrowserTelemetry/BrowserTelemetry.AppHost/Properties/launchSettings.json b/playground/BrowserTelemetry/BrowserTelemetry.AppHost/Properties/launchSettings.json index 39d1a4c416d..96e5d442095 100644 --- a/playground/BrowserTelemetry/BrowserTelemetry.AppHost/Properties/launchSettings.json +++ b/playground/BrowserTelemetry/BrowserTelemetry.AppHost/Properties/launchSettings.json @@ -10,7 +10,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_HTTP_ENDPOINT_URL": "https://localhost:17069", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "https://localhost:18104", "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "https://localhost:17069", "ASPIRE_SHOW_DASHBOARD_RESOURCES": "true", "ASPIRE_DASHBOARD_CORS_ALLOWED_ORIGINS": "*" @@ -25,7 +24,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_HTTP_ENDPOINT_URL": "http://localhost:17070", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "http://localhost:18105", "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "http://localhost:17070", "ASPIRE_SHOW_DASHBOARD_RESOURCES": "true", "ASPIRE_ALLOW_UNSECURED_TRANSPORT": "true", diff --git a/playground/CosmosEndToEnd/CosmosEndToEnd.AppHost/Properties/launchSettings.json b/playground/CosmosEndToEnd/CosmosEndToEnd.AppHost/Properties/launchSettings.json index 8c04ff32939..4c70ed6ef01 100644 --- a/playground/CosmosEndToEnd/CosmosEndToEnd.AppHost/Properties/launchSettings.json +++ b/playground/CosmosEndToEnd/CosmosEndToEnd.AppHost/Properties/launchSettings.json @@ -10,7 +10,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "https://localhost:17089", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "https://localhost:18030", "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "https://localhost:17089", "ASPIRE_SHOW_DASHBOARD_RESOURCES": "true" } @@ -24,7 +23,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "http://localhost:17090", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "http://localhost:18031", "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "http://localhost:17090", "ASPIRE_SHOW_DASHBOARD_RESOURCES": "true", "ASPIRE_ALLOW_UNSECURED_TRANSPORT": "true" diff --git a/playground/CustomResources/CustomResources.AppHost/Properties/launchSettings.json b/playground/CustomResources/CustomResources.AppHost/Properties/launchSettings.json index 140521500a6..73c5c47f84e 100644 --- a/playground/CustomResources/CustomResources.AppHost/Properties/launchSettings.json +++ b/playground/CustomResources/CustomResources.AppHost/Properties/launchSettings.json @@ -10,7 +10,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "https://localhost:17099", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "https://localhost:18032", "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "https://localhost:17099", "ASPIRE_SHOW_DASHBOARD_RESOURCES": "true" } @@ -24,7 +23,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "http://localhost:17100", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "http://localhost:18033", "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "http://localhost:17100", "ASPIRE_SHOW_DASHBOARD_RESOURCES": "true", "ASPIRE_ALLOW_UNSECURED_TRANSPORT": "true" diff --git a/playground/DatabaseMigration/DatabaseMigration.AppHost/Properties/launchSettings.json b/playground/DatabaseMigration/DatabaseMigration.AppHost/Properties/launchSettings.json index 9a11d2392cf..2966c3c29ee 100644 --- a/playground/DatabaseMigration/DatabaseMigration.AppHost/Properties/launchSettings.json +++ b/playground/DatabaseMigration/DatabaseMigration.AppHost/Properties/launchSettings.json @@ -10,7 +10,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "https://localhost:17109", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "https://localhost:18034", "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "https://localhost:17109", "ASPIRE_SHOW_DASHBOARD_RESOURCES": "true" } @@ -24,7 +23,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "http://localhost:17110", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "http://localhost:18035", "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "http://localhost:17110", "ASPIRE_SHOW_DASHBOARD_RESOURCES": "true", "ASPIRE_ALLOW_UNSECURED_TRANSPORT": "true" diff --git a/playground/DevTunnels/DevTunnels.AppHost/Properties/launchSettings.json b/playground/DevTunnels/DevTunnels.AppHost/Properties/launchSettings.json index 65c72f9a0c8..3d3bca1631f 100644 --- a/playground/DevTunnels/DevTunnels.AppHost/Properties/launchSettings.json +++ b/playground/DevTunnels/DevTunnels.AppHost/Properties/launchSettings.json @@ -10,7 +10,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "https://localhost:21141", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "https://localhost:18036", "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "https://localhost:22267" } }, @@ -23,7 +22,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "http://localhost:19147", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "http://localhost:18037", "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "http://localhost:20284" } }, diff --git a/playground/DotnetTool/DotnetTool.AppHost/Properties/launchSettings.json b/playground/DotnetTool/DotnetTool.AppHost/Properties/launchSettings.json index be00d6140cb..0effe7371be 100644 --- a/playground/DotnetTool/DotnetTool.AppHost/Properties/launchSettings.json +++ b/playground/DotnetTool/DotnetTool.AppHost/Properties/launchSettings.json @@ -10,7 +10,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "https://localhost:17119", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "https://localhost:18036", "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "https://localhost:17119", "ASPIRE_SHOW_DASHBOARD_RESOURCES": "true" } @@ -24,7 +23,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "http://localhost:17120", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "http://localhost:18037", "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "http://localhost:17120", "ASPIRE_SHOW_DASHBOARD_RESOURCES": "true", "ASPIRE_ALLOW_UNSECURED_TRANSPORT": "true" diff --git a/playground/ExternalServices/ExternalServices.AppHost/Properties/launchSettings.json b/playground/ExternalServices/ExternalServices.AppHost/Properties/launchSettings.json index 1a9f309d4b1..95c52d9e56b 100644 --- a/playground/ExternalServices/ExternalServices.AppHost/Properties/launchSettings.json +++ b/playground/ExternalServices/ExternalServices.AppHost/Properties/launchSettings.json @@ -10,7 +10,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "https://localhost:21140", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "https://localhost:18038", "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "https://localhost:22266" } }, @@ -23,7 +22,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "http://localhost:19146", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "http://localhost:18039", "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "http://localhost:20283" } }, diff --git a/playground/FoundryAgentBasic/FoundryAgentBasic.AppHost/Properties/launchSettings.json b/playground/FoundryAgentBasic/FoundryAgentBasic.AppHost/Properties/launchSettings.json index 59847d00c10..1107825435e 100644 --- a/playground/FoundryAgentBasic/FoundryAgentBasic.AppHost/Properties/launchSettings.json +++ b/playground/FoundryAgentBasic/FoundryAgentBasic.AppHost/Properties/launchSettings.json @@ -10,7 +10,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "https://localhost:21116", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "https://localhost:23084", "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "https://localhost:22280" } }, @@ -23,7 +22,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "http://localhost:19179", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "http://localhost:18088", "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "http://localhost:20112" } } diff --git a/playground/FoundryAgentEnterprise/FoundryAgentEnterprise.AppHost/appsettings.json b/playground/FoundryAgentEnterprise/FoundryAgentEnterprise.AppHost/appsettings.json index af5840862ec..16d53cd1f65 100644 --- a/playground/FoundryAgentEnterprise/FoundryAgentEnterprise.AppHost/appsettings.json +++ b/playground/FoundryAgentEnterprise/FoundryAgentEnterprise.AppHost/appsettings.json @@ -10,7 +10,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "https://localhost:21185", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "https://localhost:23160", "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "https://localhost:22164" } }, @@ -23,7 +22,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "http://localhost:19052", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "http://localhost:18189", "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "http://localhost:20220" } } diff --git a/playground/FoundryEndToEnd/FoundryEndToEnd.AppHost/Properties/launchSettings.json b/playground/FoundryEndToEnd/FoundryEndToEnd.AppHost/Properties/launchSettings.json index d289c5e379c..23ebc67f21a 100644 --- a/playground/FoundryEndToEnd/FoundryEndToEnd.AppHost/Properties/launchSettings.json +++ b/playground/FoundryEndToEnd/FoundryEndToEnd.AppHost/Properties/launchSettings.json @@ -10,7 +10,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "https://localhost:16195", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "https://localhost:18008", "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "https://localhost:17037" } }, @@ -23,7 +22,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "http://localhost:16195", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "http://localhost:18009", "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "http://localhost:17038", "ASPIRE_ALLOW_UNSECURED_TRANSPORT": "true" } diff --git a/playground/GitHubModelsEndToEnd/GitHubModelsEndToEnd.AppHost/Properties/launchSettings.json b/playground/GitHubModelsEndToEnd/GitHubModelsEndToEnd.AppHost/Properties/launchSettings.json index 37d10225ca4..83fa10ccdcc 100644 --- a/playground/GitHubModelsEndToEnd/GitHubModelsEndToEnd.AppHost/Properties/launchSettings.json +++ b/playground/GitHubModelsEndToEnd/GitHubModelsEndToEnd.AppHost/Properties/launchSettings.json @@ -10,7 +10,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "https://localhost:17009", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "https://localhost:18040", "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "https://localhost:17009" } }, @@ -23,7 +22,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "http://localhost:17010", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "http://localhost:18041", "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "http://localhost:17010", "ASPIRE_ALLOW_UNSECURED_TRANSPORT": "true" } diff --git a/playground/HealthChecks/HealthChecksSandbox.AppHost/Properties/launchSettings.json b/playground/HealthChecks/HealthChecksSandbox.AppHost/Properties/launchSettings.json index 232fb37365d..dc1714fd3da 100644 --- a/playground/HealthChecks/HealthChecksSandbox.AppHost/Properties/launchSettings.json +++ b/playground/HealthChecks/HealthChecksSandbox.AppHost/Properties/launchSettings.json @@ -10,7 +10,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "https://localhost:21133", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "https://localhost:18042", "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "https://localhost:22217" } }, @@ -23,7 +22,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "http://localhost:19016", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "http://localhost:18043", "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "http://localhost:20047" } }, diff --git a/playground/OpenAIEndToEnd/OpenAIEndToEnd.AppHost/Properties/launchSettings.json b/playground/OpenAIEndToEnd/OpenAIEndToEnd.AppHost/Properties/launchSettings.json index 66ee04dddaa..0b57470eb16 100644 --- a/playground/OpenAIEndToEnd/OpenAIEndToEnd.AppHost/Properties/launchSettings.json +++ b/playground/OpenAIEndToEnd/OpenAIEndToEnd.AppHost/Properties/launchSettings.json @@ -10,7 +10,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "https://localhost:17019", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "https://localhost:18044", "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "https://localhost:17019" } }, @@ -23,7 +22,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "http://localhost:17020", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "http://localhost:18045", "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "http://localhost:17020", "ASPIRE_ALLOW_UNSECURED_TRANSPORT": "true" } diff --git a/playground/OracleEndToEnd/OracleEndToEnd.AppHost/Properties/launchSettings.json b/playground/OracleEndToEnd/OracleEndToEnd.AppHost/Properties/launchSettings.json index 99625ad89ec..6e27fdf2578 100644 --- a/playground/OracleEndToEnd/OracleEndToEnd.AppHost/Properties/launchSettings.json +++ b/playground/OracleEndToEnd/OracleEndToEnd.AppHost/Properties/launchSettings.json @@ -10,7 +10,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "https://localhost:17159", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "https://localhost:18046", "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "https://localhost:17159", "ASPIRE_SHOW_DASHBOARD_RESOURCES": "true" } @@ -24,7 +23,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "http://localhost:17160", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "http://localhost:18047", "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "http://localhost:17160", "ASPIRE_SHOW_DASHBOARD_RESOURCES": "true", "ASPIRE_ALLOW_UNSECURED_TRANSPORT": "true" diff --git a/playground/ParameterEndToEnd/ParameterEndToEnd.AppHost/Properties/launchSettings.json b/playground/ParameterEndToEnd/ParameterEndToEnd.AppHost/Properties/launchSettings.json index b08b8e743e3..30481cf8424 100644 --- a/playground/ParameterEndToEnd/ParameterEndToEnd.AppHost/Properties/launchSettings.json +++ b/playground/ParameterEndToEnd/ParameterEndToEnd.AppHost/Properties/launchSettings.json @@ -10,7 +10,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "https://localhost:17179", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "https://localhost:18048", "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "https://localhost:17179", "ASPIRE_SHOW_DASHBOARD_RESOURCES": "true" } @@ -24,7 +23,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "https://localhost:17179", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "https://localhost:18048", "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "https://localhost:17179", "ASPIRE_SHOW_DASHBOARD_RESOURCES": "true", "SimulateProduction": "true" @@ -39,7 +37,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "http://localhost:17180", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "http://localhost:18049", "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "http://localhost:17180", "ASPIRE_SHOW_DASHBOARD_RESOURCES": "true", "ASPIRE_ALLOW_UNSECURED_TRANSPORT": "true" @@ -54,7 +51,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "http://localhost:17180", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "http://localhost:18049", "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "http://localhost:17180", "ASPIRE_SHOW_DASHBOARD_RESOURCES": "true", "SimulateProduction": "true", @@ -71,7 +67,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "http://localhost:17180", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "http://localhost:18049", "SimulateProduction": "true" } } diff --git a/playground/PostgresEndToEnd/PostgresEndToEnd.AppHost/Properties/launchSettings.json b/playground/PostgresEndToEnd/PostgresEndToEnd.AppHost/Properties/launchSettings.json index cc750c08b08..21cc8f595ba 100644 --- a/playground/PostgresEndToEnd/PostgresEndToEnd.AppHost/Properties/launchSettings.json +++ b/playground/PostgresEndToEnd/PostgresEndToEnd.AppHost/Properties/launchSettings.json @@ -10,7 +10,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "https://localhost:17189", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "https://localhost:18050", "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "https://localhost:17189", "ASPIRE_SHOW_DASHBOARD_RESOURCES": "true" } @@ -24,7 +23,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "http://localhost:17190", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "http://localhost:18051", "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "http://localhost:17190", "ASPIRE_SHOW_DASHBOARD_RESOURCES": "true", "ASPIRE_ALLOW_UNSECURED_TRANSPORT": "true" diff --git a/playground/ProxylessEndToEnd/ProxylessEndToEnd.AppHost/Properties/launchSettings.json b/playground/ProxylessEndToEnd/ProxylessEndToEnd.AppHost/Properties/launchSettings.json index 402a3675e19..64f2e457035 100644 --- a/playground/ProxylessEndToEnd/ProxylessEndToEnd.AppHost/Properties/launchSettings.json +++ b/playground/ProxylessEndToEnd/ProxylessEndToEnd.AppHost/Properties/launchSettings.json @@ -10,7 +10,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "https://localhost:17199", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "https://localhost:18052", "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "https://localhost:17199", "ASPIRE_SHOW_DASHBOARD_RESOURCES": "true" } @@ -24,7 +23,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "http://localhost:17200", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "http://localhost:18053", "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "http://localhost:17200", "ASPIRE_SHOW_DASHBOARD_RESOURCES": "true", "ASPIRE_ALLOW_UNSECURED_TRANSPORT": "true" diff --git a/playground/Qdrant/Qdrant.AppHost/Properties/launchSettings.json b/playground/Qdrant/Qdrant.AppHost/Properties/launchSettings.json index 88e6b16369a..912ed9e82d0 100644 --- a/playground/Qdrant/Qdrant.AppHost/Properties/launchSettings.json +++ b/playground/Qdrant/Qdrant.AppHost/Properties/launchSettings.json @@ -10,7 +10,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "https://localhost:17319", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "https://localhost:18054", "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "https://localhost:17319", "ASPIRE_SHOW_DASHBOARD_RESOURCES": "true" } @@ -24,7 +23,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "http://localhost:17320", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "http://localhost:18055", "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "http://localhost:17320", "ASPIRE_SHOW_DASHBOARD_RESOURCES": "true", "ASPIRE_ALLOW_UNSECURED_TRANSPORT": "true" diff --git a/playground/Redis/Redis.AppHost/Properties/launchSettings.json b/playground/Redis/Redis.AppHost/Properties/launchSettings.json index e66ea853e0b..0b3fa23f864 100644 --- a/playground/Redis/Redis.AppHost/Properties/launchSettings.json +++ b/playground/Redis/Redis.AppHost/Properties/launchSettings.json @@ -10,7 +10,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "https://localhost:17329", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "https://localhost:18056", "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "https://localhost:17329", "ASPIRE_SHOW_DASHBOARD_RESOURCES": "true" } @@ -24,7 +23,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "http://localhost:17330", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "http://localhost:18057", "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "http://localhost:17330", "ASPIRE_SHOW_DASHBOARD_RESOURCES": "true", "ASPIRE_ALLOW_UNSECURED_TRANSPORT": "true" diff --git a/playground/SqlServerEndToEnd/SqlServerEndToEnd.AppHost/Properties/launchSettings.json b/playground/SqlServerEndToEnd/SqlServerEndToEnd.AppHost/Properties/launchSettings.json index 45111c9104f..96a41cbef8f 100644 --- a/playground/SqlServerEndToEnd/SqlServerEndToEnd.AppHost/Properties/launchSettings.json +++ b/playground/SqlServerEndToEnd/SqlServerEndToEnd.AppHost/Properties/launchSettings.json @@ -8,7 +8,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "https://localhost:17249", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "https://localhost:18058", "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "https://localhost:17249", "ASPIRE_SHOW_DASHBOARD_RESOURCES": "true" }, @@ -22,7 +21,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "http://localhost:17250", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "http://localhost:18059", "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "http://localhost:17250", "ASPIRE_SHOW_DASHBOARD_RESOURCES": "true", "ASPIRE_ALLOW_UNSECURED_TRANSPORT": "true" diff --git a/playground/SqlServerScript/AppHost1/Properties/launchSettings.json b/playground/SqlServerScript/AppHost1/Properties/launchSettings.json index 327a2f68698..a9d1fd2506d 100644 --- a/playground/SqlServerScript/AppHost1/Properties/launchSettings.json +++ b/playground/SqlServerScript/AppHost1/Properties/launchSettings.json @@ -10,7 +10,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "DOTNET_DASHBOARD_OTLP_ENDPOINT_URL": "https://localhost:21045", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "https://localhost:18102", "DOTNET_RESOURCE_SERVICE_ENDPOINT_URL": "https://localhost:22270" } }, @@ -23,7 +22,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "DOTNET_DASHBOARD_OTLP_ENDPOINT_URL": "http://localhost:19139", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "http://localhost:18103", "DOTNET_RESOURCE_SERVICE_ENDPOINT_URL": "http://localhost:20080" } }, diff --git a/playground/Stress/Stress.AppHost/Properties/launchSettings.json b/playground/Stress/Stress.AppHost/Properties/launchSettings.json index 711a6dea88d..3d65778e5ec 100644 --- a/playground/Stress/Stress.AppHost/Properties/launchSettings.json +++ b/playground/Stress/Stress.AppHost/Properties/launchSettings.json @@ -10,7 +10,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "https://localhost:17259", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "https://localhost:18062", "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "https://localhost:17259", "ASPIRE_SHOW_DASHBOARD_RESOURCES": "true" } @@ -24,7 +23,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "http://localhost:17260", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "http://localhost:18063", "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "http://localhost:17260", "ASPIRE_SHOW_DASHBOARD_RESOURCES": "true", "ASPIRE_ALLOW_UNSECURED_TRANSPORT": "true" diff --git a/playground/TestShop/TestShop.AppHost/Properties/launchSettings.json b/playground/TestShop/TestShop.AppHost/Properties/launchSettings.json index c352cf1ec1a..dcbdc429d32 100644 --- a/playground/TestShop/TestShop.AppHost/Properties/launchSettings.json +++ b/playground/TestShop/TestShop.AppHost/Properties/launchSettings.json @@ -9,7 +9,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "https://localhost:17269", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "https://localhost:18098", "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "https://localhost:17269" } }, @@ -22,7 +21,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "http://localhost:17270", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "http://localhost:18099", "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "http://localhost:17270", "ASPIRE_ALLOW_UNSECURED_TRANSPORT": "true" } diff --git a/playground/bicep/BicepSample.AppHost/Properties/launchSettings.json b/playground/bicep/BicepSample.AppHost/Properties/launchSettings.json index 702fe05a7b9..d7d174971d5 100644 --- a/playground/bicep/BicepSample.AppHost/Properties/launchSettings.json +++ b/playground/bicep/BicepSample.AppHost/Properties/launchSettings.json @@ -10,7 +10,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "https://localhost:17059", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "https://localhost:18064", "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "https://localhost:17059", "ASPIRE_SHOW_DASHBOARD_RESOURCES": "true" } @@ -24,7 +23,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "http://localhost:17060", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "http://localhost:18065", "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "http://localhost:17060", "ASPIRE_SHOW_DASHBOARD_RESOURCES": "true", "ASPIRE_ALLOW_UNSECURED_TRANSPORT": "true" diff --git a/playground/cdk/CdkSample.AppHost/Properties/launchSettings.json b/playground/cdk/CdkSample.AppHost/Properties/launchSettings.json index 064b18e39b6..5f945c6a704 100644 --- a/playground/cdk/CdkSample.AppHost/Properties/launchSettings.json +++ b/playground/cdk/CdkSample.AppHost/Properties/launchSettings.json @@ -10,7 +10,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "https://localhost:17079", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "https://localhost:18066", "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "https://localhost:17079", "ASPIRE_SHOW_DASHBOARD_RESOURCES": "true" } @@ -24,7 +23,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "http://localhost:17080", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "http://localhost:18067", "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "http://localhost:17080", "ASPIRE_SHOW_DASHBOARD_RESOURCES": "true", "ASPIRE_ALLOW_UNSECURED_TRANSPORT": "true" diff --git a/playground/deployers/Deployers.AppHost/Properties/launchSettings.json b/playground/deployers/Deployers.AppHost/Properties/launchSettings.json index de8cf8f8d78..389ff10ce78 100644 --- a/playground/deployers/Deployers.AppHost/Properties/launchSettings.json +++ b/playground/deployers/Deployers.AppHost/Properties/launchSettings.json @@ -10,7 +10,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "https://localhost:21267", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "https://localhost:18068", "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "https://localhost:22116" } }, @@ -23,7 +22,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "http://localhost:19093", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "http://localhost:18069", "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "http://localhost:20094" } }, diff --git a/playground/kafka/KafkaBasic.AppHost/Properties/launchSettings.json b/playground/kafka/KafkaBasic.AppHost/Properties/launchSettings.json index 64d9a58dee7..6a342207834 100644 --- a/playground/kafka/KafkaBasic.AppHost/Properties/launchSettings.json +++ b/playground/kafka/KafkaBasic.AppHost/Properties/launchSettings.json @@ -10,7 +10,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "http://localhost:17310", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "http://localhost:18071", "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "http://localhost:17310", "ASPIRE_SHOW_DASHBOARD_RESOURCES": "true", "ASPIRE_ALLOW_UNSECURED_TRANSPORT": "true" diff --git a/playground/keycloak/Keycloak.AppHost/Properties/launchSettings.json b/playground/keycloak/Keycloak.AppHost/Properties/launchSettings.json index 7e71ff01697..748005c6e6d 100644 --- a/playground/keycloak/Keycloak.AppHost/Properties/launchSettings.json +++ b/playground/keycloak/Keycloak.AppHost/Properties/launchSettings.json @@ -10,7 +10,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "https://localhost:21125", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "https://localhost:18072", "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "https://localhost:22112" } }, @@ -23,7 +22,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "http://localhost:19191", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "http://localhost:18073", "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "http://localhost:20230" } }, diff --git a/playground/milvus/MilvusPlayground.AppHost/Properties/launchSettings.json b/playground/milvus/MilvusPlayground.AppHost/Properties/launchSettings.json index e89e2af86d5..ea0d4f631d2 100644 --- a/playground/milvus/MilvusPlayground.AppHost/Properties/launchSettings.json +++ b/playground/milvus/MilvusPlayground.AppHost/Properties/launchSettings.json @@ -10,7 +10,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "https://localhost:21286", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "https://localhost:18074", "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "https://localhost:22004" } }, @@ -23,7 +22,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "http://localhost:19152", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "http://localhost:18075", "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "http://localhost:20158" } }, diff --git a/playground/mongo/Mongo.AppHost/Properties/launchSettings.json b/playground/mongo/Mongo.AppHost/Properties/launchSettings.json index 52dff7df109..47b1c7db23c 100644 --- a/playground/mongo/Mongo.AppHost/Properties/launchSettings.json +++ b/playground/mongo/Mongo.AppHost/Properties/launchSettings.json @@ -10,7 +10,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "https://localhost:17129", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "https://localhost:18076", "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "https://localhost:17129", "ASPIRE_SHOW_DASHBOARD_RESOURCES": "true" } @@ -24,7 +23,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "http://localhost:17130", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "http://localhost:18077", "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "http://localhost:17130", "ASPIRE_SHOW_DASHBOARD_RESOURCES": "true", "ASPIRE_ALLOW_UNSECURED_TRANSPORT": "true" diff --git a/playground/mysql/MySqlDb.AppHost/Properties/launchSettings.json b/playground/mysql/MySqlDb.AppHost/Properties/launchSettings.json index 1cecd629409..66bedbdb724 100644 --- a/playground/mysql/MySqlDb.AppHost/Properties/launchSettings.json +++ b/playground/mysql/MySqlDb.AppHost/Properties/launchSettings.json @@ -10,7 +10,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "https://localhost:17139", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "https://localhost:18078", "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "https://localhost:17139" } }, @@ -23,7 +22,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "http://localhost:17140", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "http://localhost:18079", "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "http://localhost:17140", "ASPIRE_ALLOW_UNSECURED_TRANSPORT": "true" } diff --git a/playground/nats/Nats.AppHost/Properties/launchSettings.json b/playground/nats/Nats.AppHost/Properties/launchSettings.json index 911ddc61b95..953d9428813 100644 --- a/playground/nats/Nats.AppHost/Properties/launchSettings.json +++ b/playground/nats/Nats.AppHost/Properties/launchSettings.json @@ -9,7 +9,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "https://localhost:17149", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "https://localhost:18080", "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "https://localhost:17149" } }, @@ -22,7 +21,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "http://localhost:17150", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "http://localhost:18081", "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "http://localhost:17150", "ASPIRE_ALLOW_UNSECURED_TRANSPORT": "true" } diff --git a/playground/orleans/Orleans.AppHost/Properties/launchSettings.json b/playground/orleans/Orleans.AppHost/Properties/launchSettings.json index 96efbe7430f..019ec3735ee 100644 --- a/playground/orleans/Orleans.AppHost/Properties/launchSettings.json +++ b/playground/orleans/Orleans.AppHost/Properties/launchSettings.json @@ -9,7 +9,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "https://localhost:17169", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "https://localhost:18082", "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "https://localhost:17169", "ASPIRE_SHOW_DASHBOARD_RESOURCES": "true" } @@ -23,7 +22,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "http://localhost:17170", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "http://localhost:18083", "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "http://localhost:17170", "ASPIRE_SHOW_DASHBOARD_RESOURCES": "true", "ASPIRE_ALLOW_UNSECURED_TRANSPORT": "true" diff --git a/playground/pipelines/Pipelines.AppHost/Properties/launchSettings.json b/playground/pipelines/Pipelines.AppHost/Properties/launchSettings.json index e8d9bfa0491..53a3e33608e 100644 --- a/playground/pipelines/Pipelines.AppHost/Properties/launchSettings.json +++ b/playground/pipelines/Pipelines.AppHost/Properties/launchSettings.json @@ -10,7 +10,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "https://localhost:21055", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "https://localhost:18084", "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "https://localhost:22065" } }, @@ -23,7 +22,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "http://localhost:19201", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "http://localhost:18085", "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "http://localhost:20169" } }, diff --git a/playground/publishers/Publishers.AppHost/Properties/launchSettings.json b/playground/publishers/Publishers.AppHost/Properties/launchSettings.json index 63386dfa509..7311fc8e76d 100644 --- a/playground/publishers/Publishers.AppHost/Properties/launchSettings.json +++ b/playground/publishers/Publishers.AppHost/Properties/launchSettings.json @@ -10,7 +10,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "https://localhost:17209", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "https://localhost:18086", "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "https://localhost:17209", "ASPIRE_SHOW_DASHBOARD_RESOURCES": "true" } @@ -24,7 +23,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "http://localhost:17210", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "http://localhost:18087", "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "http://localhost:17210", "ASPIRE_SHOW_DASHBOARD_RESOURCES": "true", "ASPIRE_ALLOW_UNSECURED_TRANSPORT": "true" diff --git a/playground/python/Python.AppHost/Properties/launchSettings.json b/playground/python/Python.AppHost/Properties/launchSettings.json index 622d963d973..a2fc76a1d38 100644 --- a/playground/python/Python.AppHost/Properties/launchSettings.json +++ b/playground/python/Python.AppHost/Properties/launchSettings.json @@ -10,7 +10,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "http://localhost:16022", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "http://localhost:18089", "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "http://localhost:17039", "ASPIRE_SHOW_DASHBOARD_RESOURCES": "true", "ASPIRE_ALLOW_UNSECURED_TRANSPORT": "true" diff --git a/playground/seq/Seq.AppHost/Properties/launchSettings.json b/playground/seq/Seq.AppHost/Properties/launchSettings.json index e78743bc1d0..b956222bd13 100644 --- a/playground/seq/Seq.AppHost/Properties/launchSettings.json +++ b/playground/seq/Seq.AppHost/Properties/launchSettings.json @@ -10,7 +10,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "https://localhost:17219", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "https://localhost:18090", "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "https://localhost:17219", "ASPIRE_SHOW_DASHBOARD_RESOURCES": "true" } @@ -24,7 +23,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "http://localhost:17220", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "http://localhost:18091", "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "http://localhost:17220", "ASPIRE_SHOW_DASHBOARD_RESOURCES": "true", "ASPIRE_ALLOW_UNSECURED_TRANSPORT": "true" diff --git a/playground/signalr/SignalR.AppHost/Properties/launchSettings.json b/playground/signalr/SignalR.AppHost/Properties/launchSettings.json index 96a655031d3..1222a4d83d7 100644 --- a/playground/signalr/SignalR.AppHost/Properties/launchSettings.json +++ b/playground/signalr/SignalR.AppHost/Properties/launchSettings.json @@ -10,7 +10,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "https://localhost:17239", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "https://localhost:18092", "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "https://localhost:17239" } }, @@ -23,7 +22,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "http://localhost:17240", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "http://localhost:18093", "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "http://localhost:17240", "ASPIRE_ALLOW_UNSECURED_TRANSPORT": "true" } diff --git a/playground/waitfor/WaitForSandbox.AppHost/Properties/launchSettings.json b/playground/waitfor/WaitForSandbox.AppHost/Properties/launchSettings.json index 5c8544afc9d..5a5e0da09d7 100644 --- a/playground/waitfor/WaitForSandbox.AppHost/Properties/launchSettings.json +++ b/playground/waitfor/WaitForSandbox.AppHost/Properties/launchSettings.json @@ -10,7 +10,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "https://localhost:17429", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "https://localhost:18094", "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "https://localhost:17429", "ASPIRE_SHOW_DASHBOARD_RESOURCES": "true" } @@ -24,7 +23,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "http://localhost:17430", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "http://localhost:18095", "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "http://localhost:17430", "ASPIRE_SHOW_DASHBOARD_RESOURCES": "true", "ASPIRE_ALLOW_UNSECURED_TRANSPORT": "true" diff --git a/playground/webpubsub/WebPubSub.AppHost/Properties/launchSettings.json b/playground/webpubsub/WebPubSub.AppHost/Properties/launchSettings.json index 8432c993889..05f10493844 100644 --- a/playground/webpubsub/WebPubSub.AppHost/Properties/launchSettings.json +++ b/playground/webpubsub/WebPubSub.AppHost/Properties/launchSettings.json @@ -10,7 +10,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "http://localhost:17370", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "http://localhost:18097", "ASPIRE_ALLOW_UNSECURED_TRANSPORT": "true" } }, @@ -24,7 +23,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "http://localhost:17370", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "http://localhost:18097", "ASPIRE_ALLOW_UNSECURED_TRANSPORT": "true" } } diff --git a/playground/withdockerfile/WithDockerfile.AppHost/Properties/launchSettings.json b/playground/withdockerfile/WithDockerfile.AppHost/Properties/launchSettings.json index c546af50049..95781a9d386 100644 --- a/playground/withdockerfile/WithDockerfile.AppHost/Properties/launchSettings.json +++ b/playground/withdockerfile/WithDockerfile.AppHost/Properties/launchSettings.json @@ -10,7 +10,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "https://localhost:17289", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "https://localhost:18098", "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "https://localhost:17289", "ASPIRE_SHOW_DASHBOARD_RESOURCES": "true", "DCP_DIAGNOSTICS_LOG_LEVEL": "debug" @@ -25,7 +24,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "http://localhost:17290", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "http://localhost:18099", "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "http://localhost:17290", "ASPIRE_SHOW_DASHBOARD_RESOURCES": "true", "ASPIRE_ALLOW_UNSECURED_TRANSPORT": "true" diff --git a/playground/yarp/Yarp.AppHost/Properties/launchSettings.json b/playground/yarp/Yarp.AppHost/Properties/launchSettings.json index 67f69e81dc7..7ede220e035 100644 --- a/playground/yarp/Yarp.AppHost/Properties/launchSettings.json +++ b/playground/yarp/Yarp.AppHost/Properties/launchSettings.json @@ -9,7 +9,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "https://localhost:17299", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "https://localhost:18100", //"ASPIRE_DASHBOARD_OTLP_HTTP_ENDPOINT_URL": "https://localhost:17299", "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "https://localhost:17299", "ASPIRE_SHOW_DASHBOARD_RESOURCES": "true" @@ -24,7 +23,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "http://localhost:17300", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "http://localhost:18101", //"ASPIRE_DASHBOARD_OTLP_HTTP_ENDPOINT_URL": "http://localhost:17300", "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "http://localhost:17300", "ASPIRE_SHOW_DASHBOARD_RESOURCES": "true", diff --git a/src/Aspire.Cli/Backchannel/AppHostAuxiliaryBackchannel.cs b/src/Aspire.Cli/Backchannel/AppHostAuxiliaryBackchannel.cs index 8d21d202ee8..b1dfa951ae3 100644 --- a/src/Aspire.Cli/Backchannel/AppHostAuxiliaryBackchannel.cs +++ b/src/Aspire.Cli/Backchannel/AppHostAuxiliaryBackchannel.cs @@ -30,7 +30,6 @@ private AppHostAuxiliaryBackchannel( string hash, string socketPath, JsonRpc rpc, - DashboardMcpConnectionInfo? mcpInfo, AppHostInformation? appHostInfo, bool isInScope, ImmutableHashSet capabilities, @@ -39,7 +38,6 @@ private AppHostAuxiliaryBackchannel( Hash = hash; SocketPath = socketPath; _rpc = rpc; - McpInfo = mcpInfo; AppHostInfo = appHostInfo; IsInScope = isInScope; _capabilities = capabilities; @@ -54,10 +52,9 @@ internal AppHostAuxiliaryBackchannel( string hash, string socketPath, JsonRpc rpc, - DashboardMcpConnectionInfo? mcpInfo, AppHostInformation? appHostInfo, bool isInScope) - : this(hash, socketPath, rpc, mcpInfo, appHostInfo, isInScope, ImmutableHashSet.Empty, null) + : this(hash, socketPath, rpc, appHostInfo, isInScope, ImmutableHashSet.Empty, null) { } @@ -67,9 +64,6 @@ internal AppHostAuxiliaryBackchannel( /// public string SocketPath { get; } - /// - public DashboardMcpConnectionInfo? McpInfo { get; private set; } - /// public AppHostInformation? AppHostInfo { get; private set; } @@ -157,12 +151,11 @@ internal static async Task CreateFromSocketAsync( // Fetch all connection info var appHostInfo = await rpc.InvokeAsync("GetAppHostInformationAsync").ConfigureAwait(false); - var mcpInfo = await rpc.InvokeAsync("GetDashboardMcpConnectionInfoAsync").ConfigureAwait(false); var capabilities = await FetchCapabilitiesAsync(rpc, logger).ConfigureAwait(false); var capabilitiesSet = capabilities?.ToImmutableHashSet() ?? ImmutableHashSet.Create(AuxiliaryBackchannelCapabilities.V1); - return new AppHostAuxiliaryBackchannel(hash, socketPath, rpc, mcpInfo, appHostInfo, isInScope, capabilitiesSet, logger); + return new AppHostAuxiliaryBackchannel(hash, socketPath, rpc, appHostInfo, isInScope, capabilitiesSet, logger); } /// @@ -238,25 +231,6 @@ await rpc.InvokeWithCancellationAsync( } } - /// - /// Gets the Dashboard MCP connection information. - /// - /// Cancellation token. - /// The MCP connection information, or null if unavailable. - public async Task GetDashboardMcpConnectionInfoAsync(CancellationToken cancellationToken = default) - { - var rpc = EnsureConnected(); - - _logger?.LogDebug("Requesting Dashboard MCP connection info"); - - var mcpInfo = await rpc.InvokeWithCancellationAsync( - "GetDashboardMcpConnectionInfoAsync", - [], - cancellationToken).ConfigureAwait(false); - - return mcpInfo; - } - /// public async Task GetDashboardUrlsAsync(CancellationToken cancellationToken = default) { @@ -446,7 +420,6 @@ public async Task CallResourceMcpToolAsync( if (!SupportsV2) { // Fall back to v1 - ApiBaseUrl and ApiToken are only available in v2 - var mcpInfo = await GetDashboardMcpConnectionInfoAsync(cancellationToken).ConfigureAwait(false); var urlsState = await GetDashboardUrlsAsync(cancellationToken).ConfigureAwait(false); var urls = new List(); @@ -461,8 +434,6 @@ public async Task CallResourceMcpToolAsync( return new GetDashboardInfoResponse { - McpBaseUrl = mcpInfo?.EndpointUrl, - McpApiToken = mcpInfo?.ApiToken, ApiBaseUrl = null, // Not available in v1 ApiToken = null, // Not available in v1 DashboardUrls = urls.ToArray(), diff --git a/src/Aspire.Cli/Backchannel/AuxiliaryBackchannelMonitor.cs b/src/Aspire.Cli/Backchannel/AuxiliaryBackchannelMonitor.cs index 137dad9c2eb..e5eae36c7a3 100644 --- a/src/Aspire.Cli/Backchannel/AuxiliaryBackchannelMonitor.cs +++ b/src/Aspire.Cli/Backchannel/AuxiliaryBackchannelMonitor.cs @@ -439,8 +439,6 @@ private async Task TryConnectToSocketAsync(string socketPath, ConcurrentBag string SocketPath { get; } - /// - /// Gets the MCP connection information for the Dashboard. - /// - DashboardMcpConnectionInfo? McpInfo { get; } - /// /// Gets the AppHost information. /// diff --git a/src/Aspire.Cli/Projects/DotNetAppHostProject.cs b/src/Aspire.Cli/Projects/DotNetAppHostProject.cs index 0ff8a01fcaf..0ac674d1eca 100644 --- a/src/Aspire.Cli/Projects/DotNetAppHostProject.cs +++ b/src/Aspire.Cli/Projects/DotNetAppHostProject.cs @@ -361,7 +361,6 @@ private static void ConfigureSingleFileEnvironment(FileInfo appHostFile, Diction env["ASPNETCORE_ENVIRONMENT"] = "Development"; env["DOTNET_ENVIRONMENT"] = "Development"; env["ASPNETCORE_URLS"] = "https://localhost:17193;http://localhost:15069"; - env["ASPIRE_DASHBOARD_MCP_ENDPOINT_URL"] = "https://localhost:21294"; env["ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL"] = "https://localhost:21293"; env["ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL"] = "https://localhost:22086"; } diff --git a/src/Aspire.Cli/Templating/CliTemplateFactory.cs b/src/Aspire.Cli/Templating/CliTemplateFactory.cs index 41618049ce2..4fdc87a241c 100644 --- a/src/Aspire.Cli/Templating/CliTemplateFactory.cs +++ b/src/Aspire.Cli/Templating/CliTemplateFactory.cs @@ -130,8 +130,6 @@ private static string ApplyTokens(string content, string projectName, string pro .Replace("{{httpsPort}}", ports.HttpsPort.ToString(CultureInfo.InvariantCulture)) .Replace("{{otlpHttpPort}}", ports.OtlpHttpPort.ToString(CultureInfo.InvariantCulture)) .Replace("{{otlpHttpsPort}}", ports.OtlpHttpsPort.ToString(CultureInfo.InvariantCulture)) - .Replace("{{mcpHttpPort}}", ports.McpHttpPort.ToString(CultureInfo.InvariantCulture)) - .Replace("{{mcpHttpsPort}}", ports.McpHttpsPort.ToString(CultureInfo.InvariantCulture)) .Replace("{{resourceHttpPort}}", ports.ResourceHttpPort.ToString(CultureInfo.InvariantCulture)) .Replace("{{resourceHttpsPort}}", ports.ResourceHttpsPort.ToString(CultureInfo.InvariantCulture)); } @@ -143,8 +141,6 @@ private static TemplatePorts GenerateRandomPorts() HttpsPort: Random.Shared.Next(17000, 17300), OtlpHttpPort: Random.Shared.Next(19000, 19300), OtlpHttpsPort: Random.Shared.Next(21000, 21300), - McpHttpPort: Random.Shared.Next(18000, 18300), - McpHttpsPort: Random.Shared.Next(23000, 23300), ResourceHttpPort: Random.Shared.Next(20000, 20300), ResourceHttpsPort: Random.Shared.Next(22000, 22300)); } @@ -152,7 +148,6 @@ private static TemplatePorts GenerateRandomPorts() private sealed record TemplatePorts( int HttpPort, int HttpsPort, int OtlpHttpPort, int OtlpHttpsPort, - int McpHttpPort, int McpHttpsPort, int ResourceHttpPort, int ResourceHttpsPort); private static void AddOptionIfMissing(System.CommandLine.Command command, System.CommandLine.Option option) diff --git a/src/Aspire.Cli/Templating/Templates/empty-apphost/aspire.config.json b/src/Aspire.Cli/Templating/Templates/empty-apphost/aspire.config.json index d4994f15f47..7a05e4a348e 100644 --- a/src/Aspire.Cli/Templating/Templates/empty-apphost/aspire.config.json +++ b/src/Aspire.Cli/Templating/Templates/empty-apphost/aspire.config.json @@ -9,7 +9,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "https://{{hostName}}:{{otlpHttpsPort}}", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "https://{{hostName}}:{{mcpHttpsPort}}", "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "https://{{hostName}}:{{resourceHttpsPort}}" } }, @@ -19,7 +18,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "http://{{hostName}}:{{otlpHttpPort}}", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "http://{{hostName}}:{{mcpHttpPort}}", "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "http://{{hostName}}:{{resourceHttpPort}}", "ASPIRE_ALLOW_UNSECURED_TRANSPORT": "true" } diff --git a/src/Aspire.Dashboard/Aspire.Dashboard.csproj b/src/Aspire.Dashboard/Aspire.Dashboard.csproj index 5bf8efa6f3b..cd00b8787e1 100644 --- a/src/Aspire.Dashboard/Aspire.Dashboard.csproj +++ b/src/Aspire.Dashboard/Aspire.Dashboard.csproj @@ -61,8 +61,6 @@ - - @@ -314,7 +312,6 @@ - @@ -333,11 +330,6 @@ - - - - - diff --git a/src/Aspire.Dashboard/Authentication/Connection/ConnectionType.cs b/src/Aspire.Dashboard/Authentication/Connection/ConnectionType.cs index ba85e501890..53b5179b58c 100644 --- a/src/Aspire.Dashboard/Authentication/Connection/ConnectionType.cs +++ b/src/Aspire.Dashboard/Authentication/Connection/ConnectionType.cs @@ -8,6 +8,5 @@ public enum ConnectionType None, Frontend, OtlpGrpc, - OtlpHttp, - Mcp + OtlpHttp } diff --git a/src/Aspire.Dashboard/Authentication/Connection/ConnectionTypeAuthenticationHandler.cs b/src/Aspire.Dashboard/Authentication/Connection/ConnectionTypeAuthenticationHandler.cs index ddf1997716a..bf27b68fe47 100644 --- a/src/Aspire.Dashboard/Authentication/Connection/ConnectionTypeAuthenticationHandler.cs +++ b/src/Aspire.Dashboard/Authentication/Connection/ConnectionTypeAuthenticationHandler.cs @@ -35,7 +35,6 @@ public static class ConnectionTypeAuthenticationDefaults { public const string AuthenticationSchemeFrontend = "ConnectionFrontend"; public const string AuthenticationSchemeOtlp = "ConnectionOtlp"; - public const string AuthenticationSchemeMcp = "ConnectionMcp"; } public sealed class ConnectionTypeAuthenticationHandlerOptions : AuthenticationSchemeOptions diff --git a/src/Aspire.Dashboard/Authentication/Connection/ConnectionTypeMiddleware.cs b/src/Aspire.Dashboard/Authentication/Connection/ConnectionTypeMiddleware.cs index 1eaadea591d..d5ee98f1a23 100644 --- a/src/Aspire.Dashboard/Authentication/Connection/ConnectionTypeMiddleware.cs +++ b/src/Aspire.Dashboard/Authentication/Connection/ConnectionTypeMiddleware.cs @@ -7,7 +7,7 @@ namespace Aspire.Dashboard.Authentication.Connection; /// /// This connection middleware registers a connection type feature on the connection. -/// OTLP and MCP services check for this feature when authorizing incoming requests to +/// OTLP services check for this feature when authorizing incoming requests to /// ensure services are only available on specified connections. /// internal sealed class ConnectionTypeMiddleware diff --git a/src/Aspire.Dashboard/Components/CustomIcons/AspireIcons.cs b/src/Aspire.Dashboard/Components/CustomIcons/AspireIcons.cs index 6d813f98414..8dde28cdf69 100644 --- a/src/Aspire.Dashboard/Components/CustomIcons/AspireIcons.cs +++ b/src/Aspire.Dashboard/Components/CustomIcons/AspireIcons.cs @@ -127,11 +127,6 @@ internal sealed class Logo : Icon { public Logo() : base("Logo", IconVariant.Reg ") { } } - internal sealed class McpIcon : Icon { public McpIcon() : base("McpIcon", IconVariant.Regular, IconSize.Size24, - """ - - - """) { } } } internal static class Size48 diff --git a/src/Aspire.Dashboard/Components/Dialogs/McpServerDialog.razor b/src/Aspire.Dashboard/Components/Dialogs/McpServerDialog.razor deleted file mode 100644 index 3599c93b88d..00000000000 --- a/src/Aspire.Dashboard/Components/Dialogs/McpServerDialog.razor +++ /dev/null @@ -1,220 +0,0 @@ -@implements IDialogContentComponent - -@using Aspire.Dashboard.Components.CustomIcons -@using Aspire.Dashboard.Mcp -@using Aspire.Dashboard.Model.Markdown -@using Aspire.Dashboard.Resources -@using Microsoft.AspNetCore.Components -@using Microsoft.Extensions.Options -@using System.Text.Encodings.Web -@using System.Text.Json - -
- @if (McpEnabled) - { -

- @Loc[nameof(Dialogs.McpServerDialogIntroduction)] - For more information, see @Loc[nameof(Dialogs.McpServerDialogLearnMoreLink)]. -

- @if (IsCliMcpMode) - { -

- @((MarkupString)string.Format(CultureInfo.CurrentCulture, Loc[nameof(Dialogs.McpServerDialogCliInstructionsAbove)], "https://aka.ms/aspire/mcp-add-cli")) -

-

- -

-

- @((MarkupString)Loc[nameof(Dialogs.McpServerDialogCliInstructionsBelow)].ToString()) -

- } - - -
-

- @Loc[nameof(Dialogs.McpServerDialogQuicklyAddVSCode)] -

-

- - - @Loc[nameof(Dialogs.McpServerDialogInstallButtonAriaLabelVSCode)] - - VS CodeInstall Aspire MCP Server - - @* - Generated from: - https://img.shields.io/badge/VS_Code-Install_Aspire_MCP_Server-0098FF?style=flat-square&logo=modelcontextprotocol&logoColor=white - *@ - -    - - - @Loc[nameof(Dialogs.McpServerDialogInstallButtonAriaLabelVSCodeInsiders)] - - VS Code InsidersInstall Aspire MCP Server - - @* - Generated from: - https://img.shields.io/badge/VS_Code_Insiders-Install_Aspire_MCP_Server-65BBA5?style=flat-square&logo=modelcontextprotocol&logoColor=white - *@ - -

- @if (!IsCliMcpMode) - { -

- @Loc[nameof(Dialogs.McpServerDialogVSCodeApiKeyInstructions)] -

-

- -

- - - - - - @Loc[nameof(Dialogs.McpServerDialogCopyButton)] - -
-

-

- Screenshot of VS Code showing where to enter the Aspire MCP API key. A red box highlights the text box to enter the API key. -

- } - @if (_isHttps) - { -
-
- -
- -
- @Loc[nameof(Dialogs.McpServerDialogVSCodeWarningTitle)] - @Loc[nameof(Dialogs.McpServerDialogVSCodeWarningMessage)] -
-
- @((MarkupString)Loc[nameof(Dialogs.McpServerDialogVSCodeWarningInstructions)].ToString()) - @Loc[nameof(Dialogs.McpServerDialogVSCodeWarningMoreInfo)] -
-
-
- } -
- - - - @((MarkupString)Loc[nameof(Dialogs.McpServerDialogManuallyUpdatingAccordionHeading)].ToString()) - - -
-

- @((MarkupString)string.Format(CultureInfo.CurrentCulture, Loc[nameof(Dialogs.McpServerDialogOtherOptionsVSCode)], "https://aka.ms/aspire/mcp-add-client-vscode")) -

- -
-
-
-
-
-
-
- -
-

- @Loc[nameof(Dialogs.McpServerDialogQuicklyAddVisualStudio)] -

-

- - - @Loc[nameof(Dialogs.McpServerDialogInstallButtonAriaLabelVisualStudio)] - - Visual StudioInstall Aspire MCP Server - - @* - Generated from: - https://img.shields.io/badge/Visual_Studio-Install_Aspire_MCP_Server-8863C5?style=flat-square&logo=modelcontextprotocol&logoColor=white - *@ - -

- @if (!IsCliMcpMode) - { -

- @Loc[nameof(Dialogs.McpServerDialogVisualStudioApiKeyInstructions)] -

-

- -

- - - - - - @Loc[nameof(Dialogs.McpServerDialogCopyButton)] - -
-

-

- Screenshot of VS Code showing where to enter the Aspire MCP API key. A red box highlights the text box to enter the API key. -

- } -
- - - - @((MarkupString)Loc[nameof(Dialogs.McpServerDialogManuallyUpdatingAccordionHeading)].ToString()) - - -
-

- @((MarkupString)string.Format(CultureInfo.CurrentCulture, Loc[nameof(Dialogs.McpServerDialogOtherOptionsVisualStudio)], "https://aka.ms/aspire/mcp-add-client-vs")) -

- -
-
-
-
-
-
-
- -
-

- @Loc[nameof(Dialogs.McpServerDialogOtherInstructions)] -

-
- - -
- - @_mcpConfigProperties.Count() - -
- -
-
-
-
-
-
- } -
diff --git a/src/Aspire.Dashboard/Components/Dialogs/McpServerDialog.razor.cs b/src/Aspire.Dashboard/Components/Dialogs/McpServerDialog.razor.cs deleted file mode 100644 index b21254def34..00000000000 --- a/src/Aspire.Dashboard/Components/Dialogs/McpServerDialog.razor.cs +++ /dev/null @@ -1,224 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. - -using System.Diagnostics; -using System.Diagnostics.CodeAnalysis; -using System.Text.Json; -using Aspire.Dashboard.Configuration; -using Aspire.Dashboard.Mcp; -using Aspire.Dashboard.Model.Markdown; -using Aspire.Dashboard.Resources; -using Microsoft.AspNetCore.Components; -using Microsoft.Extensions.Localization; -using Microsoft.Extensions.Options; -using Microsoft.FluentUI.AspNetCore.Components; - -namespace Aspire.Dashboard.Components.Dialogs; - -public partial class McpServerDialog -{ - private readonly string _vsCopyButtonId = $"copy-{Guid.NewGuid():N}"; - private readonly string _vsCodeCopyButtonId = $"copy-{Guid.NewGuid():N}"; - - [CascadingParameter] - public FluentDialog Dialog { get; set; } = default!; - - [Inject] - public required IStringLocalizer ControlsStringsLoc { get; init; } - - [Inject] - public required IStringLocalizer Loc { get; init; } - - [Inject] - public required NavigationManager NavigationManager { get; init; } - - [Inject] - public required IOptions DashboardOptions { get; init; } - - private MarkdownProcessor _markdownProcessor = default!; - private string? _mcpServerInstallButtonJson; - private string? _mcpServerConfigFileJson; - private string? _mcpUrl; - private bool _isHttps; - private McpToolView _activeView; - private List _mcpConfigProperties = []; - - protected override void OnInitialized() - { - _markdownProcessor = new MarkdownProcessor(ControlsStringsLoc, MarkdownHelpers.SafeUrlSchemes, []); - - if (McpEnabled) - { - // Check if we should show CLI MCP instructions instead of dashboard MCP instructions - if (IsCliMcpMode) - { - // For CLI MCP mode, we don't need the HTTP endpoint configuration - (_mcpServerInstallButtonJson, _mcpServerConfigFileJson) = GetCliMcpServerInstallButtonJson(); - _mcpConfigProperties = - [ - new McpConfigPropertyViewModel { Name = "name", Value = "aspire" }, - new McpConfigPropertyViewModel { Name = "type", Value = "stdio" }, - new McpConfigPropertyViewModel { Name = "command", Value = "aspire" }, - new McpConfigPropertyViewModel { Name = "args", Value = @"[""mcp"", ""start""]" } - ]; - } - else - { - if ((DashboardOptions.Value.Mcp.PublicUrl ?? DashboardOptions.Value.Mcp.EndpointUrl) is { Length: > 0 } mcpUrl) - { - var uri = new Uri(baseUri: new Uri(mcpUrl), relativeUri: "/mcp"); - - _mcpUrl = uri.ToString(); - _isHttps = uri.Scheme == "https"; - } - - // Original dashboard MCP mode - (_mcpServerInstallButtonJson, _mcpServerConfigFileJson) = GetDashboardMcpServerInstallButtonJson(); - _mcpConfigProperties = - [ - new McpConfigPropertyViewModel { Name = "name", Value = "aspire-dashboard" }, - new McpConfigPropertyViewModel { Name = "type", Value = "http" }, - new McpConfigPropertyViewModel { Name = "url", Value = _mcpUrl! } - ]; - - if (DashboardOptions.Value.Mcp.AuthMode == McpAuthMode.ApiKey) - { - _mcpConfigProperties.Add(new McpConfigPropertyViewModel { Name = $"{McpApiKeyAuthenticationHandler.McpApiKeyHeaderName} (header)", Value = DashboardOptions.Value.Mcp.PrimaryApiKey! }); - } - } - } - else - { - throw new InvalidOperationException("MCP server is not enabled or configured."); - } - } - - [MemberNotNullWhen(true, nameof(_mcpServerInstallButtonJson))] - [MemberNotNullWhen(true, nameof(_mcpServerConfigFileJson))] - private bool McpEnabled => !DashboardOptions.Value.Mcp.Disabled.GetValueOrDefault(); - - private bool IsCliMcpMode => DashboardOptions.Value.Mcp.UseCliMcp == true; - - private (string InstallButtonJson, string ConfigFileJson) GetDashboardMcpServerInstallButtonJson() - { - Debug.Assert(_mcpUrl != null); - - Dictionary? headers = null; - List? inputs = null; - - if (DashboardOptions.Value.Mcp.AuthMode == McpAuthMode.ApiKey) - { - // Use input reference instead of hardcoded API key - headers = new Dictionary - { - [McpApiKeyAuthenticationHandler.McpApiKeyHeaderName] = "${input:aspire_mcp_api_key}" - }; - - // Define the input for the API key - // Don't localize the description here because this value flows out from the dashboard and is persisted. - // I don't think we should use the value of the dashboard's culture at the moment the button is clicked. Leave it as a static English value. - inputs = new List - { - new McpInputModel - { - Id = "aspire_mcp_api_key", - Type = "promptString", - Description = "Enter Aspire MCP API key", - Password = true - } - }; - } - - var name = "aspire-dashboard"; - - var installButtonJson = JsonSerializer.Serialize( - new McpInstallButtonServerModel - { - Name = name, - Inputs = inputs, - Type = "http", - Url = _mcpUrl, - Headers = headers - }, - McpInstallButtonModelContext.Default.McpInstallButtonServerModel); - - var configFileJson = JsonSerializer.Serialize( - new McpJsonFileServerModel - { - Inputs = inputs, - Servers = new() - { - [name] = new() - { - Type = "http", - Url = _mcpUrl, - Headers = headers - } - } - }, - McpConfigFileModelContext.Default.McpJsonFileServerModel); - - return (installButtonJson, configFileJson); - } - - private static (string InstallButtonJson, string ConfigFileJson) GetCliMcpServerInstallButtonJson() - { - var name = "aspire"; - - var installButtonJson = JsonSerializer.Serialize( - new McpInstallButtonServerModel - { - Name = name, - Type = "stdio", - Command = "aspire", - Args = ["mcp", "start"] - }, - McpInstallButtonModelContext.Default.McpInstallButtonServerModel); - - var configFileJson = JsonSerializer.Serialize( - new McpJsonFileServerModel - { - Servers = new() - { - [name] = new() - { - Type = "stdio", - Command = "aspire", - Args = ["mcp", "start"] - } - } - }, - McpConfigFileModelContext.Default.McpJsonFileServerModel); - - return (installButtonJson, configFileJson); - } - - private Task OnTabChangeAsync(FluentTab newTab) - { - var id = newTab.Id?.Substring("tab-".Length); - - if (id is null - || !Enum.TryParse(typeof(McpToolView), id, out var o) - || o is not McpToolView viewKind) - { - return Task.CompletedTask; - } - - _activeView = viewKind; - return Task.CompletedTask; - } - - private string GetJsonConfigurationMarkdown() => - $""" - ```json - {_mcpServerConfigFileJson} - ``` - """; - - public enum McpToolView - { - VSCode, - VisualStudio, - Other - } -} diff --git a/src/Aspire.Dashboard/Components/Dialogs/McpServerDialog.razor.css b/src/Aspire.Dashboard/Components/Dialogs/McpServerDialog.razor.css deleted file mode 100644 index 33e0f2c7759..00000000000 --- a/src/Aspire.Dashboard/Components/Dialogs/McpServerDialog.razor.css +++ /dev/null @@ -1,32 +0,0 @@ -::deep .mcp-tool-tab { - margin-top: 10px; -} - -::deep .markdown-container pre { - margin-right: 0; -} - -.mcp-server-dialog-content ::deep fluent-tab-panel { - max-height: 55vh; - overflow-y: auto; -} - -.mcp-server-dialog-content ::deep .api-key-container { - display: flex; - gap: 4px; -} - -::deep .tab-label > svg { - margin-right: calc(var(--design-unit) * 1px); -} - -::deep .api-key-help-image { - /* don't exceed available space and keep aspect ratio */ - max-width: 100%; - height: auto; -} - -.mcp-server-dialog-content ::deep .mcp-more-info-container { - padding: 16px; - padding-bottom: 0; -} diff --git a/src/Aspire.Dashboard/Components/Layout/MainLayout.razor b/src/Aspire.Dashboard/Components/Layout/MainLayout.razor index 684c1914edb..d8b881c611e 100644 --- a/src/Aspire.Dashboard/Components/Layout/MainLayout.razor +++ b/src/Aspire.Dashboard/Components/Layout/MainLayout.razor @@ -33,14 +33,6 @@ Title="@Loc[nameof(Layout.MainLayoutAspireDashboardHelpLink)]" aria-label="@Loc[nameof(Layout.MainLayoutAspireDashboardHelpLink)]"> - @if (Options.CurrentValue.Mcp.GetEndpointAddress() != null && !Options.CurrentValue.Mcp.Disabled.GetValueOrDefault()) - { - - - - } @if (AIContextProvider.Enabled) { (this, HandleDialogClose) - }; - - if (_openPageDialog is not null) - { - if (Equals(_openPageDialog.Id, McpDialogId) && !_openPageDialog.Result.IsCompleted) - { - return; - } - - await _openPageDialog.CloseAsync(); - } - - _openPageDialog = await DialogService.ShowDialogAsync(parameters).ConfigureAwait(true); - } - private async Task LaunchHelpAsync() { DialogParameters parameters = new() diff --git a/src/Aspire.Dashboard/Configuration/ApiAuthMode.cs b/src/Aspire.Dashboard/Configuration/ApiAuthMode.cs index cb6b8ca5aa8..2e7d6acaeee 100644 --- a/src/Aspire.Dashboard/Configuration/ApiAuthMode.cs +++ b/src/Aspire.Dashboard/Configuration/ApiAuthMode.cs @@ -4,7 +4,7 @@ namespace Aspire.Dashboard.Configuration; /// -/// Authentication mode for Dashboard API endpoints (MCP and Telemetry API). +/// Authentication mode for Dashboard API endpoints. /// public enum ApiAuthMode { diff --git a/src/Aspire.Dashboard/Configuration/DashboardOptions.cs b/src/Aspire.Dashboard/Configuration/DashboardOptions.cs index a91ee1d6187..f6c5167347c 100644 --- a/src/Aspire.Dashboard/Configuration/DashboardOptions.cs +++ b/src/Aspire.Dashboard/Configuration/DashboardOptions.cs @@ -13,7 +13,6 @@ public sealed class DashboardOptions { public string? ApplicationName { get; set; } public OtlpOptions Otlp { get; set; } = new(); - public McpOptions Mcp { get; set; } = new(); public ApiOptions Api { get; set; } = new(); public FrontendOptions Frontend { get; set; } = new(); public ResourceServiceClientOptions ResourceServiceClient { get; set; } = new(); @@ -140,7 +139,7 @@ internal bool TryParseOptions([NotNullWhen(false)] out string? errorMessage) } /// -/// Options for Dashboard API authentication (shared by MCP and Telemetry API). +/// Options for Dashboard API authentication. /// public sealed class ApiOptions { @@ -188,79 +187,6 @@ internal bool TryParseOptions([NotNullWhen(false)] out string? errorMessage) } } -public class McpOptions -{ - private BindingAddress? _parsedEndpointAddress; - private byte[]? _primaryApiKeyBytes; - private byte[]? _secondaryApiKeyBytes; - - public bool? Disabled { get; set; } - - /// - /// Gets or sets the MCP-specific auth mode. - /// - public McpAuthMode? AuthMode { get; set; } - - /// - /// Gets or sets the MCP-specific primary API key. - /// - public string? PrimaryApiKey { get; set; } - - /// - /// Gets or sets the MCP-specific secondary API key. - /// - public string? SecondaryApiKey { get; set; } - - public string? EndpointUrl { get; set; } - - // Public URL could be different from the endpoint URL (e.g., when behind a proxy). - public string? PublicUrl { get; set; } - - public bool SuppressUnsecuredMessage { get; set; } - - /// - /// When true, the dashboard will show instructions for configuring the Aspire CLI MCP server - /// instead of the dashboard's HTTP-based MCP server. - /// - public bool? UseCliMcp { get; set; } - - public BindingAddress? GetEndpointAddress() - { - return _parsedEndpointAddress; - } - - public byte[] GetPrimaryApiKeyBytes() - { - Debug.Assert(_primaryApiKeyBytes is not null, "Should have been parsed during validation."); - return _primaryApiKeyBytes; - } - - public byte[]? GetPrimaryApiKeyBytesOrNull() - { - return _primaryApiKeyBytes; - } - - public byte[]? GetSecondaryApiKeyBytes() - { - return _secondaryApiKeyBytes; - } - - internal bool TryParseOptions([NotNullWhen(false)] out string? errorMessage) - { - if (!string.IsNullOrEmpty(EndpointUrl) && !OptionsHelpers.TryParseBindingAddress(EndpointUrl, out _parsedEndpointAddress)) - { - errorMessage = $"Failed to parse MCP endpoint URL '{EndpointUrl}'."; - return false; - } - - _primaryApiKeyBytes = PrimaryApiKey != null ? Encoding.UTF8.GetBytes(PrimaryApiKey) : null; - _secondaryApiKeyBytes = SecondaryApiKey != null ? Encoding.UTF8.GetBytes(SecondaryApiKey) : null; - - errorMessage = null; - return true; - } -} - public sealed class OtlpCors { public string? AllowedOrigins { get; set; } diff --git a/src/Aspire.Dashboard/Configuration/McpAuthMode.cs b/src/Aspire.Dashboard/Configuration/McpAuthMode.cs deleted file mode 100644 index ff330a20581..00000000000 --- a/src/Aspire.Dashboard/Configuration/McpAuthMode.cs +++ /dev/null @@ -1,10 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. - -namespace Aspire.Dashboard.Configuration; - -public enum McpAuthMode -{ - Unsecured, - ApiKey, -} diff --git a/src/Aspire.Dashboard/Configuration/PostConfigureDashboardOptions.cs b/src/Aspire.Dashboard/Configuration/PostConfigureDashboardOptions.cs index 6f982a8b29a..3812cd1b316 100644 --- a/src/Aspire.Dashboard/Configuration/PostConfigureDashboardOptions.cs +++ b/src/Aspire.Dashboard/Configuration/PostConfigureDashboardOptions.cs @@ -40,12 +40,6 @@ public void PostConfigure(string? name, DashboardOptions options) options.Otlp.HttpEndpointUrl = otlpHttpUrl; } - // Copy aliased config values to the strongly typed options. - if (_configuration[DashboardConfigNames.DashboardMcpUrlName.ConfigKey] is { Length: > 0 } mcpUrl) - { - options.Mcp.EndpointUrl = mcpUrl; - } - if (_configuration[DashboardConfigNames.DashboardFrontendUrlName.ConfigKey] is { Length: > 0 } frontendUrls) { options.Frontend.EndpointUrls = frontendUrls; @@ -62,7 +56,6 @@ public void PostConfigure(string? name, DashboardOptions options) { options.Frontend.AuthMode = FrontendAuthMode.Unsecured; options.Otlp.AuthMode = OtlpAuthMode.Unsecured; - options.Mcp.AuthMode = McpAuthMode.Unsecured; options.Api.AuthMode = ApiAuthMode.Unsecured; } else @@ -70,8 +63,6 @@ public void PostConfigure(string? name, DashboardOptions options) options.Frontend.AuthMode ??= FrontendAuthMode.BrowserToken; options.Otlp.AuthMode ??= OtlpAuthMode.Unsecured; - // If an API key is configured, default to ApiKey auth mode instead of Unsecured. - options.Mcp.AuthMode ??= string.IsNullOrEmpty(options.Mcp.PrimaryApiKey) ? McpAuthMode.Unsecured : McpAuthMode.ApiKey; options.Api.AuthMode ??= string.IsNullOrEmpty(options.Api.PrimaryApiKey) ? ApiAuthMode.Unsecured : ApiAuthMode.ApiKey; } @@ -89,19 +80,6 @@ public void PostConfigure(string? name, DashboardOptions options) options.Api.Enabled ??= _configuration.GetBool(DashboardConfigNames.DashboardAspireApiEnabledName.ConfigKey); - // Normalize API keys: Api is canonical, falls back to Mcp if not set. - // Api -> Mcp fallback only (not bidirectional). - if (string.IsNullOrEmpty(options.Mcp.PrimaryApiKey) && !string.IsNullOrEmpty(options.Api.PrimaryApiKey)) - { - _logger.LogDebug("Defaulting Mcp.PrimaryApiKey from Api.PrimaryApiKey."); - options.Mcp.PrimaryApiKey = options.Api.PrimaryApiKey; - } - - if (string.IsNullOrEmpty(options.Mcp.SecondaryApiKey) && !string.IsNullOrEmpty(options.Api.SecondaryApiKey)) - { - options.Mcp.SecondaryApiKey = options.Api.SecondaryApiKey; - } - if (_configuration.GetBool(DashboardConfigNames.Legacy.DashboardOtlpSuppressUnsecuredTelemetryMessageName.ConfigKey) is { } suppressUnsecuredTelemetryMessage) { options.Otlp.SuppressUnsecuredMessage = suppressUnsecuredTelemetryMessage; diff --git a/src/Aspire.Dashboard/Configuration/ValidateDashboardOptions.cs b/src/Aspire.Dashboard/Configuration/ValidateDashboardOptions.cs index beb8acf3518..51b840ce3dc 100644 --- a/src/Aspire.Dashboard/Configuration/ValidateDashboardOptions.cs +++ b/src/Aspire.Dashboard/Configuration/ValidateDashboardOptions.cs @@ -98,12 +98,6 @@ public ValidateOptionsResult Validate(string? name, DashboardOptions options) } } - if (!options.Mcp.TryParseOptions(out var mcpParseErrorMessage)) - { - errorMessages.Add(mcpParseErrorMessage); - } - - // Parse Dashboard API options if (!options.Api.TryParseOptions(out var apiParseErrorMessage)) { errorMessages.Add(apiParseErrorMessage); @@ -111,24 +105,14 @@ public ValidateOptionsResult Validate(string? name, DashboardOptions options) // Validate API auth configuration var effectiveApiAuthMode = options.Api.AuthMode; - // Also check MCP-specific AuthMode for backward compatibility - if (effectiveApiAuthMode is null && options.Mcp.AuthMode is not null) - { - effectiveApiAuthMode = options.Mcp.AuthMode switch - { - McpAuthMode.ApiKey => ApiAuthMode.ApiKey, - McpAuthMode.Unsecured => ApiAuthMode.Unsecured, - _ => null - }; - } if (effectiveApiAuthMode is ApiAuthMode.ApiKey) { - // Check if any API key is configured (either in Api or Mcp section) - var hasApiKey = !string.IsNullOrEmpty(options.Api.PrimaryApiKey) || !string.IsNullOrEmpty(options.Mcp.PrimaryApiKey); + // Check if any API key is configured + var hasApiKey = !string.IsNullOrEmpty(options.Api.PrimaryApiKey); if (!hasApiKey) { - errorMessages.Add($"PrimaryApiKey is required when API authentication mode is ApiKey. Specify Dashboard:Api:PrimaryApiKey or Dashboard:Mcp:PrimaryApiKey."); + errorMessages.Add($"PrimaryApiKey is required when API authentication mode is ApiKey. Specify Dashboard:Api:PrimaryApiKey."); } } diff --git a/src/Aspire.Dashboard/DashboardEndpointsBuilder.cs b/src/Aspire.Dashboard/DashboardEndpointsBuilder.cs index 6b38baa1b7a..5777144f37a 100644 --- a/src/Aspire.Dashboard/DashboardEndpointsBuilder.cs +++ b/src/Aspire.Dashboard/DashboardEndpointsBuilder.cs @@ -3,7 +3,6 @@ using Aspire.Dashboard.Api; using Aspire.Dashboard.Configuration; -using Aspire.Dashboard.Mcp; using Aspire.Dashboard.Model; using Aspire.Dashboard.Utils; using Aspire.Otlp.Serialization; @@ -92,20 +91,6 @@ await Microsoft.AspNetCore.Authentication.AuthenticationHttpContextExtensions.Si }).SkipStatusCodePages(); } - public static void MapDashboardMcp(this IEndpointRouteBuilder endpoints, DashboardOptions dashboardOptions) - { - IEndpointConventionBuilder builder; - if (!dashboardOptions.Mcp.Disabled.GetValueOrDefault()) - { - builder = endpoints.MapMcp("/mcp").RequireAuthorization(McpApiKeyAuthenticationHandler.PolicyName); - } - else - { - builder = endpoints.MapPostNotFound("/mcp"); - } - builder.SkipStatusCodePages(); - } - public static void MapTelemetryApi(this IEndpointRouteBuilder endpoints, DashboardOptions dashboardOptions) { // Check if API is enabled (defaults to disabled if not specified) diff --git a/src/Aspire.Dashboard/DashboardWebApplication.cs b/src/Aspire.Dashboard/DashboardWebApplication.cs index 65733abc012..e7dbbd35382 100644 --- a/src/Aspire.Dashboard/DashboardWebApplication.cs +++ b/src/Aspire.Dashboard/DashboardWebApplication.cs @@ -14,7 +14,6 @@ using Aspire.Dashboard.Components; using Aspire.Dashboard.Components.Pages; using Aspire.Dashboard.Configuration; -using Aspire.Dashboard.Mcp; using Aspire.Dashboard.Model; using Aspire.Dashboard.Model.Assistant; using Aspire.Dashboard.Model.Assistant.Prompts; @@ -49,8 +48,6 @@ public sealed class DashboardWebApplication : IAsyncDisposable { private const string DashboardAuthCookieName = ".Aspire.Dashboard.Auth"; private const string DashboardAntiForgeryCookieName = ".Aspire.Dashboard.Antiforgery"; - //private static readonly List s_allConnectionTypes = [ConnectionType.Frontend, ConnectionType.Otlp, ConnectionType.Mcp]; - private readonly WebApplication _app; private readonly ILogger _logger; private readonly IOptionsMonitor _dashboardOptionsMonitor; @@ -58,7 +55,6 @@ public sealed class DashboardWebApplication : IAsyncDisposable private readonly List> _frontendEndPointAccessor = new(); private Func? _otlpServiceGrpcEndPointAccessor; private Func? _otlpServiceHttpEndPointAccessor; - private Func? _mcpEndPointAccessor; public List> FrontendEndPointsAccessor { @@ -100,11 +96,6 @@ public Func OtlpServiceHttpEndPointAccessor get => _otlpServiceHttpEndPointAccessor ?? throw new InvalidOperationException("WebApplication not started yet."); } - public Func McpEndPointAccessor - { - get => _mcpEndPointAccessor ?? throw new InvalidOperationException("WebApplication not started yet."); - } - public IOptionsMonitor DashboardOptionsMonitor => _dashboardOptionsMonitor; public IReadOnlyList ValidationFailures => _validationFailures; @@ -197,7 +188,7 @@ public DashboardWebApplication( ConfigureKestrelEndpoints(builder, dashboardOptions); var browserHttpsPort = dashboardOptions.Frontend.GetEndpointAddresses().FirstOrDefault(IsHttpsOrNull)?.Port; - var isAllHttps = browserHttpsPort is not null && IsHttpsOrNull(dashboardOptions.Otlp.GetGrpcEndpointAddress()) && IsHttpsOrNull(dashboardOptions.Otlp.GetHttpEndpointAddress()) && IsHttpsOrNull(dashboardOptions.Mcp.GetEndpointAddress()); + var isAllHttps = browserHttpsPort is not null && IsHttpsOrNull(dashboardOptions.Otlp.GetGrpcEndpointAddress()) && IsHttpsOrNull(dashboardOptions.Otlp.GetHttpEndpointAddress()); if (isAllHttps) { // Explicitly configure the HTTPS redirect port as we're possibly listening on multiple HTTPS addresses @@ -263,11 +254,6 @@ public DashboardWebApplication( // Data from the server. builder.Services.TryAddSingleton(); - // Host an in-process MCP server so the dashboard can expose MCP tools (resource listing, diagnostics). - // Register the MCP server directly via the SDK. - - builder.Services.AddAspireMcpTools(dashboardOptions); - builder.Services.TryAddScoped(); builder.Services.AddSingleton(); @@ -390,12 +376,6 @@ public DashboardWebApplication( // This isn't used by dotnet watch but still useful to have for debugging _logger.LogInformation("OTLP/HTTP listening on: {OtlpEndpointUri}", _otlpServiceHttpEndPointAccessor().GetResolvedAddress()); } - if (_mcpEndPointAccessor != null) - { - // This isn't used by dotnet watch but still useful to have for debugging - _logger.LogInformation("MCP listening on: {McpEndpointUri}", _mcpEndPointAccessor().GetResolvedAddress()); - } - // Only show OTLP security warning if OTLP endpoints are configured if ((_otlpServiceGrpcEndPointAccessor != null || _otlpServiceHttpEndPointAccessor != null) && _dashboardOptionsMonitor.CurrentValue.Otlp.AuthMode == OtlpAuthMode.Unsecured) @@ -403,14 +383,6 @@ public DashboardWebApplication( _logger.LogWarning("OTLP server is unsecured. Untrusted apps can send telemetry to the dashboard. For more information, visit https://go.microsoft.com/fwlink/?linkid=2267030"); } - // Only show MCP security warning if MCP endpoint is configured and MCP is not disabled - if (_mcpEndPointAccessor != null && - !_dashboardOptionsMonitor.CurrentValue.Mcp.Disabled.GetValueOrDefault() && - _dashboardOptionsMonitor.CurrentValue.Mcp.AuthMode == McpAuthMode.Unsecured) - { - _logger.LogWarning("MCP server is unsecured. Untrusted apps can access sensitive information."); - } - // Only show API security warning if API is enabled and unsecured // API runs on the frontend endpoint (no separate accessor needed) if (_dashboardOptionsMonitor.CurrentValue.Api.Enabled.GetValueOrDefault() && @@ -529,7 +501,6 @@ public DashboardWebApplication( _app.MapGrpcService(); _app.MapGrpcService(); - _app.MapDashboardMcp(dashboardOptions); _app.MapTelemetryApi(dashboardOptions); _app.MapDashboardApi(dashboardOptions); _app.MapDashboardHealthChecks(); @@ -595,7 +566,6 @@ private void ConfigureKestrelEndpoints(WebApplicationBuilder builder, DashboardO } EndpointInfo.TryAddEndpoint(endpoints, dashboardOptions.Otlp.GetGrpcEndpointAddress(), "OtlpGrpc", httpProtocols: HttpProtocols.Http2, requireCertificate: dashboardOptions.Otlp.AuthMode == OtlpAuthMode.ClientCertificate, connectionType: ConnectionType.OtlpGrpc); EndpointInfo.TryAddEndpoint(endpoints, dashboardOptions.Otlp.GetHttpEndpointAddress(), "OtlpHttp", httpProtocols: HttpProtocols.Http1AndHttp2, requireCertificate: dashboardOptions.Otlp.AuthMode == OtlpAuthMode.ClientCertificate, connectionType: ConnectionType.OtlpHttp); - EndpointInfo.TryAddEndpoint(endpoints, dashboardOptions.Mcp.GetEndpointAddress(), "Mcp", httpProtocols: HttpProtocols.Http1AndHttp2, requireCertificate: dashboardOptions.Otlp.AuthMode == OtlpAuthMode.ClientCertificate, connectionType: ConnectionType.Mcp); var initialValues = new Dictionary(); foreach (var (address, addressEndpoints) in EndpointInfo.GroupEndpointsByAddress(endpoints)) @@ -683,9 +653,6 @@ static void AddEndpointConfiguration(Dictionary values, string case ConnectionType.OtlpHttp: _otlpServiceHttpEndPointAccessor ??= CreateEndPointAccessor(endpointConfiguration); break; - case ConnectionType.Mcp: - _mcpEndPointAccessor ??= CreateEndPointAccessor(endpointConfiguration); - break; } } @@ -725,12 +692,9 @@ private static void ConfigureAuthentication(WebApplicationBuilder builder, Dashb .AddScheme(FrontendCompositeAuthenticationDefaults.AuthenticationScheme, o => { }) .AddScheme(OtlpCompositeAuthenticationDefaults.AuthenticationScheme, o => { }) .AddScheme(OtlpApiKeyAuthenticationDefaults.AuthenticationScheme, o => { }) - .AddScheme(McpCompositeAuthenticationDefaults.AuthenticationScheme, o => { }) - .AddScheme(McpApiKeyAuthenticationHandler.AuthenticationScheme, o => { }) .AddScheme(ApiAuthenticationHandler.AuthenticationScheme, o => { }) .AddScheme(ConnectionTypeAuthenticationDefaults.AuthenticationSchemeFrontend, o => o.RequiredConnectionTypes = [ConnectionType.Frontend]) .AddScheme(ConnectionTypeAuthenticationDefaults.AuthenticationSchemeOtlp, o => o.RequiredConnectionTypes = [ConnectionType.OtlpGrpc, ConnectionType.OtlpHttp]) - .AddScheme(ConnectionTypeAuthenticationDefaults.AuthenticationSchemeMcp, o => o.RequiredConnectionTypes = [ConnectionType.Mcp]) .AddCertificate(options => { // Bind options to configuration so they can be overridden by environment variables. @@ -870,12 +834,6 @@ private static void ConfigureAuthentication(WebApplicationBuilder builder, Dashb .RequireClaim(OtlpAuthorization.OtlpClaimName, [bool.TrueString]) .Build()); - options.AddPolicy( - name: McpApiKeyAuthenticationHandler.PolicyName, - policy: new AuthorizationPolicyBuilder(McpCompositeAuthenticationDefaults.AuthenticationScheme) - .RequireClaim(McpApiKeyAuthenticationHandler.McpClaimName, [bool.TrueString]) - .Build()); - options.AddPolicy( name: ApiAuthenticationHandler.PolicyName, policy: new AuthorizationPolicyBuilder(ApiAuthenticationHandler.AuthenticationScheme) diff --git a/src/Aspire.Dashboard/Mcp/AspireResourceMcpTools.cs b/src/Aspire.Dashboard/Mcp/AspireResourceMcpTools.cs deleted file mode 100644 index c19fc7f3090..00000000000 --- a/src/Aspire.Dashboard/Mcp/AspireResourceMcpTools.cs +++ /dev/null @@ -1,203 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. - -using System.ComponentModel; -using Aspire.Dashboard.Configuration; -using Aspire.Dashboard.Model; -using Aspire.Dashboard.Model.Assistant; -using Aspire.Shared.ConsoleLogs; -using Microsoft.Extensions.Options; -using ModelContextProtocol; -using ModelContextProtocol.Server; - -namespace Aspire.Dashboard.Mcp; - -/// -/// MCP tools that require a resource service to be configured. -/// -internal sealed class AspireResourceMcpTools -{ - private readonly IDashboardClient _dashboardClient; - private readonly IOptionsMonitor _dashboardOptions; - private readonly ILogger _logger; - - public AspireResourceMcpTools(IDashboardClient dashboardClient, - IOptionsMonitor dashboardOptions, - ILogger logger) - { - _dashboardClient = dashboardClient; - _dashboardOptions = dashboardOptions; - _logger = logger; - } - - [McpServerTool(Name = "list_resources")] - [Description("List the application resources. Includes information about their type (.NET project, container, executable), running state, source, HTTP endpoints, health status, commands, configured environment variables, and relationships.")] - public string ListResources() - { - _logger.LogDebug("MCP tool list_resources called"); - - try - { - var resources = _dashboardClient.GetResources().ToList(); - var filteredResources = GetFilteredResources(resources); - - var resourceGraphData = AIHelpers.GetResponseGraphJson( - filteredResources, - _dashboardOptions.CurrentValue, - includeDashboardUrl: true, - includeEnvironmentVariables: true, - getResourceName: r => ResourceViewModel.GetResourceName(r, resources)); - - var response = $""" - resource_name is the identifier of resources. Use the dashboard_link when displaying resource_name. For example: [`frontend-abcxyz`](https://localhost:1234/resource?name=frontend-abcxyz) - environment_variables is a list of environment variables configured for the resource. Environment variable values aren't provided because they could contain sensitive information. - Console logs for a resource can provide more information about why a resource is not in a running state. - - # RESOURCE DATA - - {resourceGraphData} - """; - - return response; - } - catch { } - - return "No resources found."; - } - - private static List GetFilteredResources(List resources) - { - return resources.Where(r => !AIHelpers.IsResourceAIOptOut(r)).ToList(); - } - - [McpServerTool(Name = "list_console_logs")] - [Description("List console logs for a resource. The console logs includes standard output from resources and resource commands. Known resource commands are 'start', 'stop' and 'restart' which are used to start and stop resources. Don't print the full console logs in the response to the user. Console logs should be examined when determining why a resource isn't running.")] - public async Task ListConsoleLogsAsync( - [Description("The resource name.")] - string resourceName, - CancellationToken cancellationToken) - { - _logger.LogDebug("MCP tool list_console_logs called with resource '{ResourceName}'.", resourceName); - - var resources = _dashboardClient.GetResources().ToList(); - var filteredResources = GetFilteredResources(resources); - - if (AIHelpers.TryGetResource(filteredResources, resourceName, out var resource)) - { - resourceName = resource.Name; - } - else - { - return $"Unable to find a resource named '{resourceName}'."; - } - - var logParser = new LogParser(ConsoleColor.Black, encodeForHtml: true); - var logEntries = new LogEntries(maximumEntryCount: AIHelpers.ConsoleLogsLimit) { BaseLineNumber = 1 }; - - // Add a timeout for getting all console logs. - using var subscribeConsoleLogsCts = CancellationTokenSource.CreateLinkedTokenSource(cancellationToken); - subscribeConsoleLogsCts.CancelAfter(TimeSpan.FromSeconds(20)); - - try - { - await foreach (var entry in _dashboardClient.GetConsoleLogs(resourceName, subscribeConsoleLogsCts.Token).ConfigureAwait(false)) - { - foreach (var logLine in entry) - { - logEntries.InsertSorted(logParser.CreateLogEntry(logLine.Content, logLine.IsErrorMessage, resourceName)); - } - } - } - catch (OperationCanceledException) - { - return $"Timeout getting console logs for `{resourceName}`"; - } - - var entries = logEntries.GetEntries().ToList(); - var totalLogsCount = entries.Count == 0 ? 0 : entries.Last().LineNumber; - var (trimmedItems, limitMessage) = SharedAIHelpers.GetLimitFromEndWithSummary( - entries, - totalLogsCount, - AIHelpers.ConsoleLogsLimit, - "console log", - "console logs", - SharedAIHelpers.SerializeLogEntry, - SharedAIHelpers.EstimateTokenCount); - var consoleLogsText = SharedAIHelpers.SerializeConsoleLogs(trimmedItems); - - var consoleLogsData = $""" - {limitMessage} - - # CONSOLE LOGS - - ```plaintext - {consoleLogsText.Trim()} - ``` - """; - - return consoleLogsData; - } - - [McpServerTool(Name = "execute_resource_command")] - [Description("Executes a command on a resource. If a resource needs to be restarted and is currently stopped, use the start command instead.")] - public async Task ExecuteResourceCommand([Description("The resource name")] string resourceName, [Description("The command name")] string commandName) - { - _logger.LogDebug("MCP tool execute_resource_command called with resource '{ResourceName}' and command '{CommandName}'.", resourceName, commandName); - - var resources = _dashboardClient.GetResources().ToList(); - var filteredResources = GetFilteredResources(resources); - - if (!AIHelpers.TryGetResource(filteredResources, resourceName, out var resource)) - { - throw new McpProtocolException($"Resource '{resourceName}' not found.", McpErrorCode.InvalidParams); - } - - var command = resource.Commands.FirstOrDefault(c => string.Equals(c.Name, commandName, StringComparisons.CommandName)); - - if (command is null) - { - throw new McpProtocolException($"Command '{commandName}' not found for resource '{resourceName}'.", McpErrorCode.InvalidParams); - } - - // Block execution when command isn't available. - if (command.State == CommandViewModelState.Hidden) - { - throw new McpProtocolException($"Command '{commandName}' is not available for resource '{resourceName}'.", McpErrorCode.InvalidParams); - } - - if (command.State == CommandViewModelState.Disabled) - { - if (command.Name == CommandViewModel.RestartCommand && resource.Commands.Any(c => c.Name == CommandViewModel.StartCommand && c.State == CommandViewModelState.Enabled)) - { - throw new McpProtocolException($"Resource '{resourceName}' is stopped. Use the '{CommandViewModel.StartCommand}' command instead of '{CommandViewModel.RestartCommand}'.", McpErrorCode.InvalidParams); - } - - throw new McpProtocolException($"Command '{commandName}' is currently disabled for resource '{resourceName}'.", McpErrorCode.InvalidParams); - } - - try - { - var response = await _dashboardClient.ExecuteResourceCommandAsync(resource.Name, resource.ResourceType, command, CancellationToken.None).ConfigureAwait(false); - - switch (response.Kind) - { - case ResourceCommandResponseKind.Succeeded: - return; - case ResourceCommandResponseKind.Cancelled: - throw new McpProtocolException($"Command '{commandName}' was cancelled.", McpErrorCode.InternalError); - case ResourceCommandResponseKind.Failed: - default: - var message = response.ErrorMessage is { Length: > 0 } ? response.ErrorMessage : "Unknown error. See logs for details."; - throw new McpProtocolException($"Command '{commandName}' failed for resource '{resourceName}': {message}", McpErrorCode.InternalError); - } - } - catch (McpProtocolException) - { - throw; - } - catch (Exception ex) - { - throw new McpProtocolException($"Error executing command '{commandName}' for resource '{resourceName}': {ex.Message}", McpErrorCode.InternalError); - } - } -} diff --git a/src/Aspire.Dashboard/Mcp/AspireTelemetryMcpTools.cs b/src/Aspire.Dashboard/Mcp/AspireTelemetryMcpTools.cs deleted file mode 100644 index b94a37944c4..00000000000 --- a/src/Aspire.Dashboard/Mcp/AspireTelemetryMcpTools.cs +++ /dev/null @@ -1,216 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. - -using System.ComponentModel; -using System.Diagnostics.CodeAnalysis; -using Aspire.Dashboard.Configuration; -using Aspire.Dashboard.Model; -using Aspire.Dashboard.Model.Assistant; -using Aspire.Dashboard.Model.Otlp; -using Aspire.Dashboard.Otlp.Model; -using Aspire.Dashboard.Otlp.Storage; -using Aspire.Shared.ConsoleLogs; -using Microsoft.Extensions.Options; -using ModelContextProtocol.Server; - -namespace Aspire.Dashboard.Mcp; - -/// -/// MCP tools for telemetry data that don't require a resource service. -/// -internal sealed class AspireTelemetryMcpTools -{ - private readonly TelemetryRepository _telemetryRepository; - private readonly IOutgoingPeerResolver[] _outgoingPeerResolvers; - private readonly IOptionsMonitor _dashboardOptions; - private readonly IDashboardClient _dashboardClient; - private readonly ILogger _logger; - - public AspireTelemetryMcpTools(TelemetryRepository telemetryRepository, - IEnumerable outgoingPeerResolvers, - IOptionsMonitor dashboardOptions, - IDashboardClient dashboardClient, - ILogger logger) - { - _telemetryRepository = telemetryRepository; - _outgoingPeerResolvers = outgoingPeerResolvers.ToArray(); - _dashboardOptions = dashboardOptions; - _dashboardClient = dashboardClient; - _logger = logger; - } - - [McpServerTool(Name = "list_structured_logs")] - [Description("List structured logs for resources.")] - public string ListStructuredLogs( - [Description("The resource name. This limits logs returned to the specified resource. If no resource name is specified then structured logs for all resources are returned.")] - string? resourceName = null) - { - _logger.LogDebug("MCP tool list_structured_logs called with resource '{ResourceName}'.", resourceName); - - if (!TryResolveResourceNameForTelemetry(resourceName, out var message, out var resourceKey)) - { - return message; - } - - // Get all logs because we want the most recent logs and they're at the end of the results. - // If support is added for ordering logs by timestamp then improve this. - var logs = _telemetryRepository.GetLogs(new GetLogsContext - { - ResourceKey = resourceKey, - StartIndex = 0, - Count = int.MaxValue, - Filters = [] - }).Items; - - if (_dashboardClient.IsEnabled) - { - var optOutResources = GetOptOutResources(_dashboardClient.GetResources()); - if (optOutResources.Count > 0) - { - logs = logs.Where(l => !optOutResources.Any(r => l.ResourceView.ResourceKey.EqualsCompositeName(r.Name))).ToList(); - } - } - - var otlpData = TelemetryExportService.ConvertLogsToOtlpJson(logs); - var resources = _telemetryRepository.GetResources(); - var (logsData, limitMessage) = AIHelpers.GetStructuredLogsJson( - otlpData, - _dashboardOptions.CurrentValue, - includeDashboardUrl: true, - getResourceName: r => OtlpHelpers.GetResourceName(r, resources)); - - var response = $""" - Always format log_id in the response as code like this: `log_id: 123`. - {limitMessage} - - # STRUCTURED LOGS DATA - - {logsData} - """; - - return response; - } - - [McpServerTool(Name = "list_traces")] - [Description("List distributed traces for resources. A distributed trace is used to track operations. A distributed trace can span multiple resources across a distributed system. Includes a list of distributed traces with their IDs, resources in the trace, duration and whether an error occurred in the trace.")] - public string ListTraces( - [Description("The resource name. This limits traces returned to the specified resource. If no resource name is specified then distributed traces for all resources are returned.")] - string? resourceName = null) - { - _logger.LogDebug("MCP tool list_traces called with resource '{ResourceName}'.", resourceName); - - if (!TryResolveResourceNameForTelemetry(resourceName, out var message, out var resourceKey)) - { - return message; - } - - var traces = _telemetryRepository.GetTraces(new GetTracesRequest - { - ResourceKey = resourceKey, - StartIndex = 0, - Count = int.MaxValue, - Filters = [], - FilterText = string.Empty - }).PagedResult.Items; - - if (_dashboardClient.IsEnabled) - { - var optOutResources = GetOptOutResources(_dashboardClient.GetResources()); - if (optOutResources.Count > 0) - { - traces = traces.Where(t => !optOutResources.Any(r => t.Spans.Any(s => s.Source.ResourceKey.EqualsCompositeName(r.Name)))).ToList(); - } - } - - var resources = _telemetryRepository.GetResources(); - - var (tracesData, limitMessage) = SharedAIHelpers.GetTracesJson( - TelemetryExportService.ConvertTracesToOtlpJson(traces, _outgoingPeerResolvers).ResourceSpans, - getResourceName: r => OtlpHelpers.GetResourceName(r, resources), - AIHelpers.GetDashboardUrl(_dashboardOptions.CurrentValue)); - - var response = $""" - {limitMessage} - - # TRACES DATA - - {tracesData} - """; - - return response; - } - - [McpServerTool(Name = "list_trace_structured_logs")] - [Description("List structured logs for a distributed trace. Logs for a distributed trace each belong to a span identified by 'span_id'. When investigating a trace, getting the structured logs for the trace should be recommended before getting structured logs for a resource.")] - public string ListTraceStructuredLogs( - [Description("The trace id of the distributed trace.")] - string traceId) - { - _logger.LogDebug("MCP tool list_trace_structured_logs called with trace '{TraceId}'.", traceId); - - // Condition of filter should be contains because a substring of the traceId might be provided. - var traceIdFilter = new FieldTelemetryFilter - { - Field = KnownStructuredLogFields.TraceIdField, - Value = traceId, - Condition = FilterCondition.Contains - }; - - var logs = _telemetryRepository.GetLogs(new GetLogsContext - { - ResourceKey = null, - Count = int.MaxValue, - StartIndex = 0, - Filters = [traceIdFilter] - }); - - var otlpData = TelemetryExportService.ConvertLogsToOtlpJson(logs.Items); - var resources = _telemetryRepository.GetResources(); - var (logsData, limitMessage) = AIHelpers.GetStructuredLogsJson( - otlpData, - _dashboardOptions.CurrentValue, - includeDashboardUrl: true, - getResourceName: r => OtlpHelpers.GetResourceName(r, resources)); - - var response = $""" - {limitMessage} - - # STRUCTURED LOGS DATA - - {logsData} - """; - - return response; - } - - private bool TryResolveResourceNameForTelemetry([NotNullWhen(false)] string? resourceName, [NotNullWhen(false)] out string? message, out ResourceKey? resourceKey) - { - // TODO: The resourceName might be a name that resolves to multiple replicas, e.g. catalogservice has two replicas. - // Support resolving to multiple replicas and getting data for them. - - if (AIHelpers.IsMissingValue(resourceName)) - { - message = null; - resourceKey = null; - return true; - } - - var resources = _telemetryRepository.GetResources(); - - if (!AIHelpers.TryGetResource(resources, resourceName, out var resource)) - { - message = $"Resource '{resourceName}' doesn't have any telemetry. The resource may not exist, may have failed to start or the resource might not support sending telemetry."; - resourceKey = null; - return false; - } - - message = null; - resourceKey = resource.ResourceKey; - return true; - } - - private static List GetOptOutResources(IEnumerable resources) - { - return resources.Where(AIHelpers.IsResourceAIOptOut).ToList(); - } -} diff --git a/src/Aspire.Dashboard/Mcp/McpApiKeyAuthenticationHandler.cs b/src/Aspire.Dashboard/Mcp/McpApiKeyAuthenticationHandler.cs deleted file mode 100644 index 4230f2a54de..00000000000 --- a/src/Aspire.Dashboard/Mcp/McpApiKeyAuthenticationHandler.cs +++ /dev/null @@ -1,75 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. - -using System.Text.Encodings.Web; -using Aspire.Dashboard.Api; -using Aspire.Dashboard.Configuration; -using Microsoft.AspNetCore.Authentication; -using Microsoft.Extensions.Options; - -namespace Aspire.Dashboard.Mcp; - -public class McpApiKeyAuthenticationHandler : AuthenticationHandler -{ - public const string PolicyName = "McpPolicy"; - public const string McpClaimName = "McpClaim"; - - public const string AuthenticationScheme = "McpApiKey"; - - /// - /// Legacy MCP-specific API key header (for backward compatibility). - /// - public const string McpApiKeyHeaderName = "x-mcp-api-key"; - - private readonly IOptionsMonitor _dashboardOptions; - - public McpApiKeyAuthenticationHandler(IOptionsMonitor dashboardOptions, IOptionsMonitor options, ILoggerFactory logger, UrlEncoder encoder) : base(options, logger, encoder) - { - _dashboardOptions = dashboardOptions; - } - - protected override Task HandleAuthenticateAsync() - { - var options = _dashboardOptions.CurrentValue.Mcp; - - // Try the new x-api-key header first, then fall back to legacy x-mcp-api-key - string? headerName = null; - Microsoft.Extensions.Primitives.StringValues apiKey; - - if (Context.Request.Headers.TryGetValue(ApiAuthenticationHandler.ApiKeyHeaderName, out apiKey)) - { - headerName = ApiAuthenticationHandler.ApiKeyHeaderName; - } - else if (Context.Request.Headers.TryGetValue(McpApiKeyHeaderName, out apiKey)) - { - headerName = McpApiKeyHeaderName; - } - - if (headerName is not null) - { - // There must be only one header with the API key. - if (apiKey.Count != 1) - { - return Task.FromResult(AuthenticateResult.Fail($"Multiple '{headerName}' headers in request.")); - } - - if (!CompareHelpers.CompareKey(options.GetPrimaryApiKeyBytes(), apiKey.ToString())) - { - if (options.GetSecondaryApiKeyBytes() is not { } secondaryBytes || !CompareHelpers.CompareKey(secondaryBytes, apiKey.ToString())) - { - return Task.FromResult(AuthenticateResult.Fail($"Incoming API key from '{headerName}' header doesn't match configured API key.")); - } - } - } - else - { - return Task.FromResult(AuthenticateResult.Fail($"API key header is missing. Use '{ApiAuthenticationHandler.ApiKeyHeaderName}' or '{McpApiKeyHeaderName}'.")); - } - - return Task.FromResult(AuthenticateResult.NoResult()); - } -} - -public sealed class McpApiKeyAuthenticationHandlerOptions : AuthenticationSchemeOptions -{ -} diff --git a/src/Aspire.Dashboard/Mcp/McpCompositeAuthenticationHandler.cs b/src/Aspire.Dashboard/Mcp/McpCompositeAuthenticationHandler.cs deleted file mode 100644 index 00bcfd10311..00000000000 --- a/src/Aspire.Dashboard/Mcp/McpCompositeAuthenticationHandler.cs +++ /dev/null @@ -1,57 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. - -using System.Security.Claims; -using System.Text.Encodings.Web; -using Aspire.Dashboard.Authentication.Connection; -using Aspire.Dashboard.Configuration; -using Microsoft.AspNetCore.Authentication; -using Microsoft.Extensions.Options; - -namespace Aspire.Dashboard.Mcp; - -public sealed class McpCompositeAuthenticationHandler( - IOptionsMonitor dashboardOptions, - IOptionsMonitor options, - ILoggerFactory logger, - UrlEncoder encoder) - : AuthenticationHandler(options, logger, encoder) -{ - protected override async Task HandleAuthenticateAsync() - { - var options = dashboardOptions.CurrentValue; - - foreach (var scheme in GetRelevantAuthenticationSchemes()) - { - var result = await Context.AuthenticateAsync(scheme).ConfigureAwait(false); - - if (result.Failure is not null) - { - return result; - } - } - - var id = new ClaimsIdentity([new Claim(McpApiKeyAuthenticationHandler.McpClaimName, bool.TrueString)]); - - return AuthenticateResult.Success(new AuthenticationTicket(new ClaimsPrincipal(id), Scheme.Name)); - - IEnumerable GetRelevantAuthenticationSchemes() - { - yield return ConnectionTypeAuthenticationDefaults.AuthenticationSchemeMcp; - - if (options.Mcp.AuthMode is McpAuthMode.ApiKey) - { - yield return McpApiKeyAuthenticationHandler.AuthenticationScheme; - } - } - } -} - -public static class McpCompositeAuthenticationDefaults -{ - public const string AuthenticationScheme = "McpComposite"; -} - -public sealed class McpCompositeAuthenticationHandlerOptions : AuthenticationSchemeOptions -{ -} diff --git a/src/Aspire.Dashboard/Mcp/McpConfigPropertyViewModel.cs b/src/Aspire.Dashboard/Mcp/McpConfigPropertyViewModel.cs deleted file mode 100644 index b338cbec100..00000000000 --- a/src/Aspire.Dashboard/Mcp/McpConfigPropertyViewModel.cs +++ /dev/null @@ -1,14 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. - -using System.Diagnostics; -using Aspire.Dashboard.Components.Controls; - -namespace Aspire.Dashboard.Mcp; - -[DebuggerDisplay("Name = {Name}, Value = {Value}")] -public sealed class McpConfigPropertyViewModel : IPropertyGridItem -{ - public required string Name { get; set; } - public required string Value { get; set; } -} diff --git a/src/Aspire.Dashboard/Mcp/McpExtensions.cs b/src/Aspire.Dashboard/Mcp/McpExtensions.cs deleted file mode 100644 index a307bf91b70..00000000000 --- a/src/Aspire.Dashboard/Mcp/McpExtensions.cs +++ /dev/null @@ -1,106 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. - -using Aspire.Dashboard.Configuration; -using Aspire.Dashboard.Telemetry; -using Aspire.Dashboard.Utils; -using Aspire.Shared.Mcp; -using ModelContextProtocol.Protocol; -using ModelContextProtocol.Server; - -namespace Aspire.Dashboard.Mcp; - -public static class McpExtensions -{ - public static IMcpServerBuilder AddAspireMcpTools(this IServiceCollection services, DashboardOptions dashboardOptions) - { - var builder = services.AddMcpServer(options => - { - var icons = McpIconHelper.GetAspireIcons(typeof(McpExtensions).Assembly, "Aspire.Dashboard.Mcp.Resources"); - - options.ServerInfo = new Implementation - { - Name = "Aspire MCP", - Version = VersionHelpers.DashboardDisplayVersion ?? "1.0.0", - Icons = icons - }; - options.ServerInstructions = - """ - ## Description - This MCP Server provides various tools for managing Aspire resources, logs, traces and commands. - - ## Instructions - - When a resource, structured log or trace is returned, include a link to the Aspire dashboard using dashboard_link - - When a resource state (running, stopped, starting, ...) is returned, and add an emoji colored badge next to it (green, red, orange, etc). - - ## Tools - - """; - }).WithHttpTransport(); - - // Always register telemetry tools - builder.WithTools(); - - // Only register resource tools if the resource service is configured - if (dashboardOptions.ResourceServiceClient.GetUri() is not null) - { - builder.WithTools(); - } - - builder - .WithRequestFilters(filters => filters - .AddListToolsFilter((next) => async (RequestContext request, CancellationToken cancellationToken) => - { - // Calls here are via the tools/list endpoint. See https://modelcontextprotocol.info/docs/concepts/tools/ - // There is no tool name so we hardcode name to list_tools here so we can reuse the same event. - // - // We want to track when users list tools as it's an indicator of whether Aspire MCP is configured (client tools refresh tools via it). - // It's called even if no Aspire tools end up being used. - return await RecordCallToolNameAsync(next, request, "list_tools", cancellationToken).ConfigureAwait(false); - }) - .AddCallToolFilter((next) => async (RequestContext request, CancellationToken cancellationToken) => - { - return await RecordCallToolNameAsync(next, request, request.Params?.Name, cancellationToken).ConfigureAwait(false); - })); - - return builder; - } - - private static async Task RecordCallToolNameAsync(McpRequestHandler next, RequestContext request, string? toolCallName, CancellationToken cancellationToken) - { - // Record the tool name to telemetry. - OperationContextProperty? operationId = null; - var telemetryService = request.Services?.GetService(); - if (telemetryService != null && toolCallName != null) - { - var startToolCall = telemetryService.StartOperation(TelemetryEventKeys.McpToolCall, - new Dictionary - { - { TelemetryPropertyKeys.McpToolName, new AspireTelemetryProperty(toolCallName) }, - }); - - operationId = startToolCall.Properties.FirstOrDefault(); - } - - try - { - var result = await next(request, cancellationToken).ConfigureAwait(false); - - if (telemetryService is not null && operationId is not null) - { - telemetryService.EndOperation(operationId, TelemetryResult.Success); - } - - return result; - } - catch (Exception ex) - { - if (telemetryService is not null && operationId is not null) - { - telemetryService.EndOperation(operationId, TelemetryResult.Failure, ex.Message); - } - - throw; - } - } -} diff --git a/src/Aspire.Dashboard/Mcp/McpInstallButtonServerModel.cs b/src/Aspire.Dashboard/Mcp/McpInstallButtonServerModel.cs deleted file mode 100644 index c4e9747b966..00000000000 --- a/src/Aspire.Dashboard/Mcp/McpInstallButtonServerModel.cs +++ /dev/null @@ -1,58 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. - -using System.Text.Json.Serialization; - -namespace Aspire.Dashboard.Mcp; - -// Represents an input configuration for MCP -public sealed class McpInputModel -{ - public required string Id { get; init; } - public required string Type { get; init; } - public required string Description { get; init; } - public bool? Password { get; init; } -} - -// Used by the VS Code install button. The server name is included in the JSON object. -public sealed class McpInstallButtonServerModel -{ - public required string Name { get; init; } - public List? Inputs { get; init; } - public required string Type { get; init; } - public string? Url { get; init; } - public string? Command { get; init; } - public List? Args { get; init; } - public Dictionary? Headers { get; init; } -} - -// Used by the VS Code mcp.json file config. Server names are keys in a JSON object. -public sealed class McpJsonFileServerModel -{ - public List? Inputs { get; init; } - public required Dictionary Servers { get; init; } -} - -public sealed class McpJsonFileServerInstanceModel -{ - public required string Type { get; init; } - public string? Url { get; init; } - public string? Command { get; init; } - public List? Args { get; init; } - public Dictionary? Headers { get; init; } -} - -[JsonSourceGenerationOptions(PropertyNamingPolicy = JsonKnownNamingPolicy.CamelCase, DefaultIgnoreCondition = JsonIgnoreCondition.WhenWritingNull)] -[JsonSerializable(typeof(McpInstallButtonServerModel))] -[JsonSerializable(typeof(McpInputModel))] -[JsonSerializable(typeof(List))] -[JsonSerializable(typeof(Dictionary))] -public sealed partial class McpInstallButtonModelContext : JsonSerializerContext; - -[JsonSourceGenerationOptions(PropertyNamingPolicy = JsonKnownNamingPolicy.CamelCase, DefaultIgnoreCondition = JsonIgnoreCondition.WhenWritingNull, WriteIndented = true)] -[JsonSerializable(typeof(McpJsonFileServerModel))] -[JsonSerializable(typeof(McpJsonFileServerInstanceModel))] -[JsonSerializable(typeof(McpInputModel))] -[JsonSerializable(typeof(List))] -[JsonSerializable(typeof(Dictionary))] -public sealed partial class McpConfigFileModelContext : JsonSerializerContext; diff --git a/src/Aspire.Dashboard/Resources/Dialogs.Designer.cs b/src/Aspire.Dashboard/Resources/Dialogs.Designer.cs index 95fcce88d83..3ad4c1d03a7 100644 --- a/src/Aspire.Dashboard/Resources/Dialogs.Designer.cs +++ b/src/Aspire.Dashboard/Resources/Dialogs.Designer.cs @@ -897,240 +897,6 @@ public static string ManageDataTraces { } } - /// - /// Looks up a localized string similar to Aspire MCP API key. - /// - public static string McpServerDialogApiKeyLabel { - get { - return ResourceManager.GetString("McpServerDialogApiKeyLabel", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to The fastest way to get started is to <a href="{0}" target="_blank">configure the Aspire MCP using the CLI</a>. - /// - public static string McpServerDialogCliInstructionsAbove { - get { - return ResourceManager.GetString("McpServerDialogCliInstructionsAbove", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to The <code>aspire mcp init</code> command writes MCP JSON to your local workspace. Alternatively, configure your local AI development tools using instructions below.. - /// - public static string McpServerDialogCliInstructionsBelow { - get { - return ResourceManager.GetString("McpServerDialogCliInstructionsBelow", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Aspire MCP configuration. - /// - public static string McpServerDialogConfigurationHeading { - get { - return ResourceManager.GetString("McpServerDialogConfigurationHeading", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Copy. - /// - public static string McpServerDialogCopyButton { - get { - return ResourceManager.GetString("McpServerDialogCopyButton", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Visual Studio: Install Aspire MCP Server. - /// - public static string McpServerDialogInstallButtonAriaLabelVisualStudio { - get { - return ResourceManager.GetString("McpServerDialogInstallButtonAriaLabelVisualStudio", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to VS Code: Install Aspire MCP Server. - /// - public static string McpServerDialogInstallButtonAriaLabelVSCode { - get { - return ResourceManager.GetString("McpServerDialogInstallButtonAriaLabelVSCode", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to VS Code Insiders: Install Aspire MCP Server. - /// - public static string McpServerDialogInstallButtonAriaLabelVSCodeInsiders { - get { - return ResourceManager.GetString("McpServerDialogInstallButtonAriaLabelVSCodeInsiders", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Aspire MCP connects AI assistants to Aspire app data. AI can use Aspire MCP to get information about app resources, health checks, commands, console logs and real-time telemetry.. - /// - public static string McpServerDialogIntroduction { - get { - return ResourceManager.GetString("McpServerDialogIntroduction", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Use Aspire MCP with AI. - /// - public static string McpServerDialogLearnMoreLink { - get { - return ResourceManager.GetString("McpServerDialogLearnMoreLink", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Manually updating <code>mcp.json</code>. - /// - public static string McpServerDialogManuallyUpdatingAccordionHeading { - get { - return ResourceManager.GetString("McpServerDialogManuallyUpdatingAccordionHeading", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Aspire MCP can be used with any AI tooling that supports streamable HTTP MCP servers.. - /// - public static string McpServerDialogOtherDescription { - get { - return ResourceManager.GetString("McpServerDialogOtherDescription", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Important details for configuring Aspire MCP are below. Please refer to your AI client's documentation for how to add an MCP server.. - /// - public static string McpServerDialogOtherInstructions { - get { - return ResourceManager.GetString("McpServerDialogOtherInstructions", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to For other options, such as updating <code>mcp.json</code>, see <a href="{0}" target="_blank">Add an MCP server to Visual Studio</a>.. - /// - public static string McpServerDialogOtherOptionsVisualStudio { - get { - return ResourceManager.GetString("McpServerDialogOtherOptionsVisualStudio", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to For other options, such as updating <code>mcp.json</code>, see <a href="{0}" target="_blank">Add an MCP server to VS Code</a>.. - /// - public static string McpServerDialogOtherOptionsVSCode { - get { - return ResourceManager.GetString("McpServerDialogOtherOptionsVSCode", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Other. - /// - public static string McpServerDialogOtherTab { - get { - return ResourceManager.GetString("McpServerDialogOtherTab", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Quickly add Aspire MCP to Visual Studio using a browser install button:. - /// - public static string McpServerDialogQuicklyAddVisualStudio { - get { - return ResourceManager.GetString("McpServerDialogQuicklyAddVisualStudio", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Quickly add Aspire MCP to VS Code using a browser install button:. - /// - public static string McpServerDialogQuicklyAddVSCode { - get { - return ResourceManager.GetString("McpServerDialogQuicklyAddVSCode", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to You need to add the API key to Aspire MCP before you can use it. In GitHub Copilot Chat, select the Tools button, then the Aspire MCP server. Enter the API key below in the text box.. - /// - public static string McpServerDialogVisualStudioApiKeyInstructions { - get { - return ResourceManager.GetString("McpServerDialogVisualStudioApiKeyInstructions", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Visual Studio. - /// - public static string McpServerDialogVisualStudioTab { - get { - return ResourceManager.GetString("McpServerDialogVisualStudioTab", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to The first time Aspire MCP starts, you'll be prompted by VS Code for the API key. Enter the API key below in the VS Code input text box.. - /// - public static string McpServerDialogVSCodeApiKeyInstructions { - get { - return ResourceManager.GetString("McpServerDialogVSCodeApiKeyInstructions", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to VS Code. - /// - public static string McpServerDialogVSCodeTab { - get { - return ResourceManager.GetString("McpServerDialogVSCodeTab", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to To use VS Code with Aspire MCP, configure the MCP endpoint to use HTTP instead of HTTPS. Note that this will remove transport security from Aspire MCP communication and could allow data to be read by a third party.. - /// - public static string McpServerDialogVSCodeWarningInstructions { - get { - return ResourceManager.GetString("McpServerDialogVSCodeWarningInstructions", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to As of October 2025, VS Code does not support using Aspire MCP over HTTPS.. - /// - public static string McpServerDialogVSCodeWarningMessage { - get { - return ResourceManager.GetString("McpServerDialogVSCodeWarningMessage", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to More information. - /// - public static string McpServerDialogVSCodeWarningMoreInfo { - get { - return ResourceManager.GetString("McpServerDialogVSCodeWarningMoreInfo", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to VS Code limitation. - /// - public static string McpServerDialogVSCodeWarningTitle { - get { - return ResourceManager.GetString("McpServerDialogVSCodeWarningTitle", resourceCulture); - } - } - /// /// Looks up a localized string similar to Open in text visualizer. /// diff --git a/src/Aspire.Dashboard/Resources/Dialogs.resx b/src/Aspire.Dashboard/Resources/Dialogs.resx index ac43ca2061d..0bde462b9ba 100644 --- a/src/Aspire.Dashboard/Resources/Dialogs.resx +++ b/src/Aspire.Dashboard/Resources/Dialogs.resx @@ -444,90 +444,9 @@ Unexpected or truncated message content. - - Aspire MCP connects AI assistants to Aspire app data. AI can use Aspire MCP to get information about app resources, health checks, commands, console logs and real-time telemetry. - - - Use Aspire MCP with AI - - - Visual Studio - - - VS Code - - - Other - - - Quickly add Aspire MCP to Visual Studio using a browser install button: - - - Quickly add Aspire MCP to VS Code using a browser install button: - - - Visual Studio: Install Aspire MCP Server - - - VS Code: Install Aspire MCP Server - - - VS Code Insiders: Install Aspire MCP Server - - - For other options, such as updating <code>mcp.json</code>, see <a href="{0}" target="_blank">Add an MCP server to Visual Studio</a>. - {0} is a URL to documentation - - - For other options, such as updating <code>mcp.json</code>, see <a href="{0}" target="_blank">Add an MCP server to VS Code</a>. - {0} is a URL to documentation - - - VS Code limitation - - - As of October 2025, VS Code does not support using Aspire MCP over HTTPS. - - - To use VS Code with Aspire MCP, configure the MCP endpoint to use HTTP instead of HTTPS. Note that this will remove transport security from Aspire MCP communication and could allow data to be read by a third party. - - - More information - - - Aspire MCP can be used with any AI tooling that supports streamable HTTP MCP servers. - - - Important details for configuring Aspire MCP are below. Please refer to your AI client's documentation for how to add an MCP server. - - - Aspire MCP configuration - - - The first time Aspire MCP starts, you'll be prompted by VS Code for the API key. Enter the API key below in the VS Code input text box. - - - Aspire MCP API key - - - Copy - - - Manually updating <code>mcp.json</code> - - - You need to add the API key to Aspire MCP before you can use it. In GitHub Copilot Chat, select the Tools button, then the Aspire MCP server. Enter the API key below in the text box. - Tool response - - The fastest way to get started is to <a href="{0}" target="_blank">configure the Aspire MCP using the CLI</a> - {0} is a URL - - - The <code>aspire mcp init</code> command writes MCP JSON to your local workspace. Alternatively, configure your local AI development tools using instructions below. - Manage logs and telemetry diff --git a/src/Aspire.Dashboard/Resources/Layout.Designer.cs b/src/Aspire.Dashboard/Resources/Layout.Designer.cs index 1558c5f72f9..5cf06ad088d 100644 --- a/src/Aspire.Dashboard/Resources/Layout.Designer.cs +++ b/src/Aspire.Dashboard/Resources/Layout.Designer.cs @@ -141,15 +141,6 @@ public static string MessageUnsecuredEndpointLink { } } - /// - /// Looks up a localized string similar to Untrusted apps can access sensitive information about the running services.. - /// - public static string MessageUnsecuredEndpointMcpBody { - get { - return ResourceManager.GetString("MessageUnsecuredEndpointMcpBody", resourceCulture); - } - } - /// /// Looks up a localized string similar to Untrusted apps can access telemetry data via the API.. /// diff --git a/src/Aspire.Dashboard/Resources/Layout.resx b/src/Aspire.Dashboard/Resources/Layout.resx index c4e921e108b..265a0431459 100644 --- a/src/Aspire.Dashboard/Resources/Layout.resx +++ b/src/Aspire.Dashboard/Resources/Layout.resx @@ -180,9 +180,6 @@ Endpoint is unsecured - - Untrusted apps can access sensitive information about the running services. - Untrusted apps can access telemetry data via the API. diff --git a/src/Aspire.Dashboard/Resources/xlf/Dialogs.cs.xlf b/src/Aspire.Dashboard/Resources/xlf/Dialogs.cs.xlf index 72bddbb317c..4abedf4c8cd 100644 --- a/src/Aspire.Dashboard/Resources/xlf/Dialogs.cs.xlf +++ b/src/Aspire.Dashboard/Resources/xlf/Dialogs.cs.xlf @@ -457,136 +457,6 @@ Trasování - - Aspire MCP API key - Klíč rozhraní API Aspirovat MCP - - - - The fastest way to get started is to <a href="{0}" target="_blank">configure the Aspire MCP using the CLI</a> - Nejrychlejší způsob, jak začít, je <a href="{0}" target="_blank">nakonfigurovat Aspire MCP pomocí CLI</a> - {0} is a URL - - - The <code>aspire mcp init</code> command writes MCP JSON to your local workspace. Alternatively, configure your local AI development tools using instructions below. - Příkaz <code>aspire mcp init</code> zapíše JSON MCP do místního pracovního prostoru. Další možností je nakonfigurovat místní nástroje pro vývoj AI podle následujících pokynů. - - - - Aspire MCP configuration - Konfigurace Aspire MCP - - - - Copy - Kopírovat - - - - VS Code: Install Aspire MCP Server - VS Code: Instalace serveru Aspire MCP - - - - VS Code Insiders: Install Aspire MCP Server - Účastníci programu Insiders VS Code: Instalace serveru Aspire MCP - - - - Visual Studio: Install Aspire MCP Server - Visual Studio: Instalace serveru Aspire MCP - - - - Aspire MCP connects AI assistants to Aspire app data. AI can use Aspire MCP to get information about app resources, health checks, commands, console logs and real-time telemetry. - Aspire MCP připojí asistenty AI k datům aplikace Aspire. AI může pomocí Aspire MCP získat informace o prostředcích aplikace, kontrolách stavu, příkazech, protokolech konzoly a telemetrii v reálném čase. - - - - Use Aspire MCP with AI - Použití Aspire MCP s AI - - - - Manually updating <code>mcp.json</code> - Ruční aktualizace <code>mcp.json</code> - - - - Aspire MCP can be used with any AI tooling that supports streamable HTTP MCP servers. - Aspire MCP se dá použít s libovolnými nástroji AI, které podporují streamovatelné servery HTTP MCP. - - - - Important details for configuring Aspire MCP are below. Please refer to your AI client's documentation for how to add an MCP server. - Důležité podrobnosti pro konfiguraci Aspire MCP najdete níže. Postup přidání serveru MCP najdete v klientově dokumentaci k AI. - - - - For other options, such as updating <code>mcp.json</code>, see <a href="{0}" target="_blank">Add an MCP server to VS Code</a>. - Další možnosti, jako je aktualizace <code>mcp.json</code>, najdete v tématu <a href="{0}" target="_blank">Přidání serveru MCP do VS Code</a>. - {0} is a URL to documentation - - - For other options, such as updating <code>mcp.json</code>, see <a href="{0}" target="_blank">Add an MCP server to Visual Studio</a>. - Další možnosti, například aktualizace <code>mcp.json</code>, najdete v tématu <a href="{0}" target="_blank">Přidání serveru MCP do Visual Studio</a>. - {0} is a URL to documentation - - - Other - Jiné - - - - Quickly add Aspire MCP to VS Code using a browser install button: - Rychle přidejte Aspire MCP do VS Code pomocí tlačítka pro instalaci v prohlížeči: - - - - Quickly add Aspire MCP to Visual Studio using a browser install button: - Rychle přidejte Aspire MCP do Visual Studio pomocí tlačítka pro instalaci v prohlížeči: - - - - The first time Aspire MCP starts, you'll be prompted by VS Code for the API key. Enter the API key below in the VS Code input text box. - Při prvním spuštění Aspire MCP vás VS Code vyzve k zadání klíče rozhraní API. Do vstupního textového pole ve VS Code zadejte níže klíč rozhraní API. - - - - VS Code - VS Code - - - - To use VS Code with Aspire MCP, configure the MCP endpoint to use HTTP instead of HTTPS. Note that this will remove transport security from Aspire MCP communication and could allow data to be read by a third party. - Pokud chcete používat VS Code s Aspire MCP, nakonfigurujte koncový bod MCP tak, aby používal HTTP místo HTTPS. Všimněte si, že se tím odebere zabezpečení přenosu z komunikace Aspire MCP a může umožnit čtení dat třetí stranou. - - - - As of October 2025, VS Code does not support using Aspire MCP over HTTPS. - Od října 2025 VS Code nepodporuje použití Aspire MCP přes HTTPS. - - - - More information - Další informace - - - - VS Code limitation - Omezení VS Code - - - - You need to add the API key to Aspire MCP before you can use it. In GitHub Copilot Chat, select the Tools button, then the Aspire MCP server. Enter the API key below in the text box. - Abyste mohli používat Aspire MCP, musíte do něj přidat klíč rozhraní API. V Copilot Chatu na GitHubu vyberte tlačítko Nástroje a pak server Aspire MCP. Do textového pole níže zadejte klíč rozhraní API. - - - - Visual Studio - Visual Studio - - Open in text visualizer Otevřít ve vizualizéru textu diff --git a/src/Aspire.Dashboard/Resources/xlf/Dialogs.de.xlf b/src/Aspire.Dashboard/Resources/xlf/Dialogs.de.xlf index 01f2d77b486..9edb168258e 100644 --- a/src/Aspire.Dashboard/Resources/xlf/Dialogs.de.xlf +++ b/src/Aspire.Dashboard/Resources/xlf/Dialogs.de.xlf @@ -457,136 +457,6 @@ Ablaufverfolgungen - - Aspire MCP API key - Aspire MCP-API-Schlüssel - - - - The fastest way to get started is to <a href="{0}" target="_blank">configure the Aspire MCP using the CLI</a> - Die schnellste Möglichkeit, um zu beginnen, <a href="{0}" target="_blank">ist die Konfiguration der Aspire MCP über das CLI</a> - {0} is a URL - - - The <code>aspire mcp init</code> command writes MCP JSON to your local workspace. Alternatively, configure your local AI development tools using instructions below. - Mit dem Befehl <code>aspire mcp init</code> wird MCP JSON in Ihren lokalen Arbeitsbereich geschrieben. Alternativ können Sie Ihre lokalen KI-Entwicklungstools mithilfe der folgenden Anweisungen konfigurieren. - - - - Aspire MCP configuration - Aspire MCP-Konfiguration - - - - Copy - Kopieren - - - - VS Code: Install Aspire MCP Server - VS Code: Installieren des Aspire-MCP-Servers - - - - VS Code Insiders: Install Aspire MCP Server - VS Code-Insider: Installieren von Aspire-MCP-Server - - - - Visual Studio: Install Aspire MCP Server - Visual Studio: Installieren von Aspire MCP Server - - - - Aspire MCP connects AI assistants to Aspire app data. AI can use Aspire MCP to get information about app resources, health checks, commands, console logs and real-time telemetry. - Aspire MCP verbindet KI-Assistenten mit Aspire App-Daten. KI kann mithilfe von Aspire MCP Informationen zu App-Ressourcen, Integritätsprüfungen, Befehlen, Konsolenprotokollen und Echtzeittelemetriedaten abrufen. - - - - Use Aspire MCP with AI - Verwenden von Aspire MCP mit KI - - - - Manually updating <code>mcp.json</code> - Manuelles Aktualisieren von <code>mcp.json</code> - - - - Aspire MCP can be used with any AI tooling that supports streamable HTTP MCP servers. - Aspire MCP kann mit allen KI-Tools verwendet werden, die streambare HTTP-MCP-Server unterstützen. - - - - Important details for configuring Aspire MCP are below. Please refer to your AI client's documentation for how to add an MCP server. - Wichtige Details zum Konfigurieren von Aspire-MCP finden Sie unten. Informationen zum Hinzufügen eines MCP-Servers finden Sie in der Dokumentation Ihres KI-Clients. - - - - For other options, such as updating <code>mcp.json</code>, see <a href="{0}" target="_blank">Add an MCP server to VS Code</a>. - Weitere Optionen wie das Aktualisieren von <code>mcp.json</code> finden Sie unter <a href="{0}" target="_blank">Hinzufügen eines MCP-Servers zu VS Code</a>. - {0} is a URL to documentation - - - For other options, such as updating <code>mcp.json</code>, see <a href="{0}" target="_blank">Add an MCP server to Visual Studio</a>. - Weitere Optionen wie das Aktualisieren von <code>mcp.json</code> finden Sie unter <a href="{0}" target="_blank">Hinzufügen eines MCP-Servers zu Visual Studio</a>. - {0} is a URL to documentation - - - Other - Sonstige - - - - Quickly add Aspire MCP to VS Code using a browser install button: - Fügen Sie Aspire MCP mithilfe einer Browserinstallationsschaltfläche schnell zu VS Code hinzu: - - - - Quickly add Aspire MCP to Visual Studio using a browser install button: - Fügen Sie mithilfe einer Browserinstallationsschaltfläche schnell Aspire MCP zu Visual Studio hinzu: - - - - The first time Aspire MCP starts, you'll be prompted by VS Code for the API key. Enter the API key below in the VS Code input text box. - Wenn Aspire MCP zum ersten Mal gestartet wird, werden Sie von VS Code zur Eingabe des API-Schlüssels aufgefordert. Geben Sie unten den API-Schlüssel in das Eingabetextfeld von VS Code ein. - - - - VS Code - VS Code - - - - To use VS Code with Aspire MCP, configure the MCP endpoint to use HTTP instead of HTTPS. Note that this will remove transport security from Aspire MCP communication and could allow data to be read by a third party. - Konfigurieren Sie den MCP-Endpunkt für die Verwendung von HTTP anstelle von HTTPS, um VS Code mit Aspire MCP zu verwenden. Beachten Sie, dass dadurch die Transportsicherheit aus der Aspire MCP-Kommunikation entfernt wird und das Lesen von Daten durch einen Drittanbieter ermöglicht werden kann. - - - - As of October 2025, VS Code does not support using Aspire MCP over HTTPS. - Ab Oktober 2025 unterstützt VS Code die Verwendung von Aspire MCP über HTTPS nicht. - - - - More information - Weitere Informationen - - - - VS Code limitation - VS Code Einschränkung - - - - You need to add the API key to Aspire MCP before you can use it. In GitHub Copilot Chat, select the Tools button, then the Aspire MCP server. Enter the API key below in the text box. - Sie müssen Aspire MCP den API-Schlüssel hinzufügen, bevor Sie ihn verwenden können. Wählen Sie im GitHub Copilot Chat die Schaltfläche „Tools“ und dann den Aspire MCP-Server aus. Geben Sie unten den API-Schlüssel in das Textfeld ein. - - - - Visual Studio - Visual Studio - - Open in text visualizer In Textschnellansicht öffnen diff --git a/src/Aspire.Dashboard/Resources/xlf/Dialogs.es.xlf b/src/Aspire.Dashboard/Resources/xlf/Dialogs.es.xlf index 15f3cbf8aa0..67c286a55ee 100644 --- a/src/Aspire.Dashboard/Resources/xlf/Dialogs.es.xlf +++ b/src/Aspire.Dashboard/Resources/xlf/Dialogs.es.xlf @@ -457,136 +457,6 @@ Seguimientos - - Aspire MCP API key - Clave API de Aspire MCP - - - - The fastest way to get started is to <a href="{0}" target="_blank">configure the Aspire MCP using the CLI</a> - La forma más rápida de empezar es <a href="{0}" target="_blank">Configurar Aspire MCP usando la CLI</a> - {0} is a URL - - - The <code>aspire mcp init</code> command writes MCP JSON to your local workspace. Alternatively, configure your local AI development tools using instructions below. - El comando <code>aspire mcp init</code> escribe MCP JSON en el área de trabajo local. También puede configurar las herramientas de desarrollo de IA local siguiendo las instrucciones que se indican a continuación. - - - - Aspire MCP configuration - Configuración del MCP de Aspire - - - - Copy - Copiar - - - - VS Code: Install Aspire MCP Server - VS Code: instalar el Servidor MCP de Aspire - - - - VS Code Insiders: Install Aspire MCP Server - VS Code Insiders: instalar el Servidor MCP de Aspire - - - - Visual Studio: Install Aspire MCP Server - Visual Studio: instalar el Servidor MCP de Aspire - - - - Aspire MCP connects AI assistants to Aspire app data. AI can use Aspire MCP to get information about app resources, health checks, commands, console logs and real-time telemetry. - MCP de Aspire conecta los asistentes de IA a los datos de la aplicación Aspire. La IA puede utilizar MCP de Aspire para obtener información sobre los recursos de las aplicaciones, comprobaciones de estado, comandos, registros de consola y telemetría en tiempo real. - - - - Use Aspire MCP with AI - Utilice el MCP de Aspire con IA - - - - Manually updating <code>mcp.json</code> - Actualizando <code>mcp.json</code> manualmente - - - - Aspire MCP can be used with any AI tooling that supports streamable HTTP MCP servers. - MCP de Aspire se puede utilizar con cualquier herramienta de IA que admita servidores MCP HTTP transmisibles. - - - - Important details for configuring Aspire MCP are below. Please refer to your AI client's documentation for how to add an MCP server. - A continuación se incluyen detalles importantes para configurar MCP de Aspire. Consulte la documentación de su cliente de IA para saber cómo agregar un servidor MCP. - - - - For other options, such as updating <code>mcp.json</code>, see <a href="{0}" target="_blank">Add an MCP server to VS Code</a>. - Para otras opciones, como actualizar <code>mcp.json</code>, consulta <a href="{0}" target="_blank">Agregar un servidor MCP a VS Code</a>. - {0} is a URL to documentation - - - For other options, such as updating <code>mcp.json</code>, see <a href="{0}" target="_blank">Add an MCP server to Visual Studio</a>. - Para otras opciones, como actualizar <code>mcp.json</code>, consulte <a href="{0}" target="_blank">Agregar un servidor MCP a Visual Studio</a>. - {0} is a URL to documentation - - - Other - Otros - - - - Quickly add Aspire MCP to VS Code using a browser install button: - Agregue de forma rápida MCP de Aspire a VS Code mediante un botón de instalación del navegador: - - - - Quickly add Aspire MCP to Visual Studio using a browser install button: - Agregue de forma rápida MCP de Aspire a Visual Studio mediante un botón de instalación del navegador: - - - - The first time Aspire MCP starts, you'll be prompted by VS Code for the API key. Enter the API key below in the VS Code input text box. - La primera vez que se inicie Aspire MCP, VS Code le pedirá la clave de API. Introduzca la clave de API en el cuadro de texto de entrada de VS Code que aparece a continuación. - - - - VS Code - VS Code - - - - To use VS Code with Aspire MCP, configure the MCP endpoint to use HTTP instead of HTTPS. Note that this will remove transport security from Aspire MCP communication and could allow data to be read by a third party. - Para utilizar VS Code con Aspire MCP, configure el punto de conexión MCP para que utilice HTTP en lugar de HTTPS. Tenga en cuenta que esto eliminará la seguridad de transporte de la comunicación Aspire MCP y podría permitir que un tercero lea los datos. - - - - As of October 2025, VS Code does not support using Aspire MCP over HTTPS. - A partir de octubre de 2025, VS Code no admite el uso de MCP de Aspire a través de HTTPS. - - - - More information - Más información - - - - VS Code limitation - limitación de VS Code - - - - You need to add the API key to Aspire MCP before you can use it. In GitHub Copilot Chat, select the Tools button, then the Aspire MCP server. Enter the API key below in the text box. - Debe agregar la clave de API a Aspire MCP antes de poder usarla. En GitHub Copilot Chat, seleccione el botón Herramientas y luego el servidor Aspire MCP. Introduzca la clave de API en el cuadro de texto que aparece a continuación. - - - - Visual Studio - Visual Studio - - Open in text visualizer Abrir en visualizador de texto diff --git a/src/Aspire.Dashboard/Resources/xlf/Dialogs.fr.xlf b/src/Aspire.Dashboard/Resources/xlf/Dialogs.fr.xlf index 563d23ca8d4..b4d45da519a 100644 --- a/src/Aspire.Dashboard/Resources/xlf/Dialogs.fr.xlf +++ b/src/Aspire.Dashboard/Resources/xlf/Dialogs.fr.xlf @@ -457,136 +457,6 @@ Traces - - Aspire MCP API key - Clé API Aspire MCP - - - - The fastest way to get started is to <a href="{0}" target="_blank">configure the Aspire MCP using the CLI</a> - Le moyen le plus rapide de démarrer est de <a href="{0}" target="_blank">configurer le MCP Aspire via la CLI</a> - {0} is a URL - - - The <code>aspire mcp init</code> command writes MCP JSON to your local workspace. Alternatively, configure your local AI development tools using instructions below. - La commande <code>aspire mcp init</code> écrit le JSON MCP dans votre espace de travail local. Vous pouvez également configurer vos outils de développement d’IA locaux en suivant les instructions ci-dessous. - - - - Aspire MCP configuration - Configuration Aspire MCP - - - - Copy - Copier - - - - VS Code: Install Aspire MCP Server - VS Code : installer le serveur Aspire MCP - - - - VS Code Insiders: Install Aspire MCP Server - VS Code Insiders : installer le serveur Aspire MCP - - - - Visual Studio: Install Aspire MCP Server - Visual Studio : installer le serveur Aspire MCP - - - - Aspire MCP connects AI assistants to Aspire app data. AI can use Aspire MCP to get information about app resources, health checks, commands, console logs and real-time telemetry. - Aspire MCP connecte les assistants IA aux données de l’application Aspire. L’IA peut utiliser Aspire MCP pour obtenir des informations sur les ressources de l’application, les contrôles d’intégrité, les commandes, les journaux de la console et la télémétrie en temps réel. - - - - Use Aspire MCP with AI - Utiliser Aspire MCP avec l’IA - - - - Manually updating <code>mcp.json</code> - Mise à jour manuelle de <code>mcp.json</code> - - - - Aspire MCP can be used with any AI tooling that supports streamable HTTP MCP servers. - Aspire MCP peut être utilisé avec tout outil IA qui prend en charge les serveurs MCP HTTP diffusables en continu. - - - - Important details for configuring Aspire MCP are below. Please refer to your AI client's documentation for how to add an MCP server. - Vous trouverez ci-dessous des détails importants pour la configuration d’Aspire MCP. Reportez-vous à la documentation de votre client IA pour savoir comment ajouter un serveur MCP. - - - - For other options, such as updating <code>mcp.json</code>, see <a href="{0}" target="_blank">Add an MCP server to VS Code</a>. - Pour d’autres options, telles que la mise à jour de <code>mcp.json</code>, consultez <a href="{0}" target="_blank">Ajouter un serveur MCP à VS Code</a>. - {0} is a URL to documentation - - - For other options, such as updating <code>mcp.json</code>, see <a href="{0}" target="_blank">Add an MCP server to Visual Studio</a>. - Pour d’autres options, telles que la mise à jour de <code>mcp.json</code>, consultez <a href="{0}" target="_blank">Ajouter un serveur MCP à Visual Studio</a>. - {0} is a URL to documentation - - - Other - Autre - - - - Quickly add Aspire MCP to VS Code using a browser install button: - Ajoutez rapidement Aspire MCP à VS Code à l’aide d’un bouton d’installation dans le navigateur : - - - - Quickly add Aspire MCP to Visual Studio using a browser install button: - Ajoutez rapidement Aspire MCP à Visual Studio à l’aide d’un bouton d’installation dans le navigateur : - - - - The first time Aspire MCP starts, you'll be prompted by VS Code for the API key. Enter the API key below in the VS Code input text box. - Lors du premier démarrage d’Aspire MCP, VS Code vous demande la clé API. Entrez la clé API ci-dessous dans la zone de texte de saisie de VS Code. - - - - VS Code - VS Code - - - - To use VS Code with Aspire MCP, configure the MCP endpoint to use HTTP instead of HTTPS. Note that this will remove transport security from Aspire MCP communication and could allow data to be read by a third party. - Pour utiliser VS Code avec Aspire MCP, configurez le point de terminaison MCP pour qu’il utilise HTTP au lieu de HTTPS. Notez que cela supprimera la sécurité de transport des communications Aspire MCP et pourrait permettre à un tiers de lire les données. - - - - As of October 2025, VS Code does not support using Aspire MCP over HTTPS. - Depuis octobre 2025, VS Code ne prend pas en charge l’utilisation d’Aspire MCP via HTTPS. - - - - More information - Autres informations - - - - VS Code limitation - Limitation de VS Code - - - - You need to add the API key to Aspire MCP before you can use it. In GitHub Copilot Chat, select the Tools button, then the Aspire MCP server. Enter the API key below in the text box. - Vous devez ajouter la clé API à Aspire MCP avant de pouvoir l’utiliser. Dans GitHub Copilot Chat, sélectionnez le bouton Outils, puis le serveur Aspire MCP. Entrez la clé API ci-dessous dans la zone de texte. - - - - Visual Studio - Visual Studio - - Open in text visualizer Ouvrir dans le visualiseur de texte diff --git a/src/Aspire.Dashboard/Resources/xlf/Dialogs.it.xlf b/src/Aspire.Dashboard/Resources/xlf/Dialogs.it.xlf index 3cdaeb2d7e6..bbd12577f8c 100644 --- a/src/Aspire.Dashboard/Resources/xlf/Dialogs.it.xlf +++ b/src/Aspire.Dashboard/Resources/xlf/Dialogs.it.xlf @@ -457,136 +457,6 @@ Tracce - - Aspire MCP API key - Chiave API di Aspire MCP - - - - The fastest way to get started is to <a href="{0}" target="_blank">configure the Aspire MCP using the CLI</a> - Il modo più rapido per iniziare consiste nel <a href="{0}" target="_blank">configurare Aspire MCP usando l'interfaccia della riga di comando</a> - {0} is a URL - - - The <code>aspire mcp init</code> command writes MCP JSON to your local workspace. Alternatively, configure your local AI development tools using instructions below. - Il comando <code>aspire mcp init</code> scrive codice JSON MCP nell'area di lavoro locale. In alternativa, configurare gli strumenti di sviluppo basati su IA locali usando le istruzioni riportate di seguito. - - - - Aspire MCP configuration - Configurazione di Aspire MCP - - - - Copy - Copia - - - - VS Code: Install Aspire MCP Server - VS Code: installare il server Aspire MCP - - - - VS Code Insiders: Install Aspire MCP Server - VS Code Insiders: installare il server Aspire MCP - - - - Visual Studio: Install Aspire MCP Server - Visual Studio: installare il server Aspire MCP - - - - Aspire MCP connects AI assistants to Aspire app data. AI can use Aspire MCP to get information about app resources, health checks, commands, console logs and real-time telemetry. - Aspire MCP connette gli assistenti IA ai dati dell'app Aspire. L'intelligenza artificiale può usare Aspire MCP per ottenere informazioni su risorse dell'app, controlli di integrità, comandi, log della console e dati di telemetria in tempo reale. - - - - Use Aspire MCP with AI - Usa Aspire MCP con intelligenza artificiale - - - - Manually updating <code>mcp.json</code> - Aggiornamento manuale di <code>mcp.json</code> in corso... - - - - Aspire MCP can be used with any AI tooling that supports streamable HTTP MCP servers. - Aspire MCP può essere usato con qualsiasi strumento di intelligenza artificiale che supporta server MCP HTTP abilitati per lo streaming. - - - - Important details for configuring Aspire MCP are below. Please refer to your AI client's documentation for how to add an MCP server. - Di seguito sono riportati i dettagli importanti per la configurazione di Aspire MCP. Per informazioni su come aggiungere un server MCP, vedere la documentazione del client di intelligenza artificiale. - - - - For other options, such as updating <code>mcp.json</code>, see <a href="{0}" target="_blank">Add an MCP server to VS Code</a>. - Per altre opzioni, ad esempio l'aggiornamento di <code>mcp.json</code>, vedere <a href="{0}" target="_blank">Aggiungere un server MCP a VS Code</a>. - {0} is a URL to documentation - - - For other options, such as updating <code>mcp.json</code>, see <a href="{0}" target="_blank">Add an MCP server to Visual Studio</a>. - Per altre opzioni, ad esempio l'aggiornamento di <code>mcp.json</code>, vedere <a href="{0}" target="_blank">Aggiungere un server MCP a Visual Studio</a>. - {0} is a URL to documentation - - - Other - Altro - - - - Quickly add Aspire MCP to VS Code using a browser install button: - Aggiungere rapidamente Aspire MCP a VS Code usando un pulsante di installazione del browser: - - - - Quickly add Aspire MCP to Visual Studio using a browser install button: - Aggiungere rapidamente Aspire MCP a Visual Studio usando un pulsante di installazione del browser: - - - - The first time Aspire MCP starts, you'll be prompted by VS Code for the API key. Enter the API key below in the VS Code input text box. - Al primo avvio di Aspire MCP, VS Code ti chiederà la chiave API. Immetti la chiave API qui sotto nella casella di immissione testo di VS Code. - - - - VS Code - VS Code - - - - To use VS Code with Aspire MCP, configure the MCP endpoint to use HTTP instead of HTTPS. Note that this will remove transport security from Aspire MCP communication and could allow data to be read by a third party. - Per usare VS Code con Aspire MCP, configurare l'endpoint MCP per l'uso di HTTP anziché HTTPS. Si noti che la sicurezza del trasporto verrà rimossa dalle comunicazioni di Aspire MCP e potrebbe consentire la lettura dei dati da parte di terze parti. - - - - As of October 2025, VS Code does not support using Aspire MCP over HTTPS. - A partire da ottobre 2025, VS Code non supporta l'uso di Aspire MCP su HTTPS. - - - - More information - Altre informazioni - - - - VS Code limitation - Limitazione di VS Code - - - - You need to add the API key to Aspire MCP before you can use it. In GitHub Copilot Chat, select the Tools button, then the Aspire MCP server. Enter the API key below in the text box. - Devi aggiungere la chiave API ad Aspire MCP prima di poterla usare. In GitHub Copilot Chat, seleziona il pulsante Strumenti, quindi il server Aspire MCP. Inserisci la chiave API qui sotto nella casella di testo. - - - - Visual Studio - Visual Studio - - Open in text visualizer Apri nel visualizzatore di testo diff --git a/src/Aspire.Dashboard/Resources/xlf/Dialogs.ja.xlf b/src/Aspire.Dashboard/Resources/xlf/Dialogs.ja.xlf index 190e8778616..c98700bc8c5 100644 --- a/src/Aspire.Dashboard/Resources/xlf/Dialogs.ja.xlf +++ b/src/Aspire.Dashboard/Resources/xlf/Dialogs.ja.xlf @@ -457,136 +457,6 @@ トレース - - Aspire MCP API key - Aspire MCP API キー - - - - The fastest way to get started is to <a href="{0}" target="_blank">configure the Aspire MCP using the CLI</a> - 作業を開始する最も簡単な方法は、<a href="{0}" target="_blank">CLI を使って Aspire MCP を構成する</a>ことです - {0} is a URL - - - The <code>aspire mcp init</code> command writes MCP JSON to your local workspace. Alternatively, configure your local AI development tools using instructions below. - <code>aspire mcp init</code> コマンドは、ローカル ワークスペースに MCP JSON を書き込みます。または、以下の手順を使用して、ローカルの AI 開発ツールを構成します。 - - - - Aspire MCP configuration - Aspire MCP 構成 - - - - Copy - コピー - - - - VS Code: Install Aspire MCP Server - VS Code: Aspire MCP サーバーのインストール - - - - VS Code Insiders: Install Aspire MCP Server - VS Code Insiders: Aspire MCP サーバーのインストール - - - - Visual Studio: Install Aspire MCP Server - Visual Studio: Aspire MCP サーバーのインストール - - - - Aspire MCP connects AI assistants to Aspire app data. AI can use Aspire MCP to get information about app resources, health checks, commands, console logs and real-time telemetry. - Aspire MCP により、AI アシスタントが Aspire アプリ データに接続されます。AI は Aspire MCP を使って、アプリのリソース、正常性チェック、コマンド、コンソール ログ、リアルタイム テレメトリに関する情報を取得できます。 - - - - Use Aspire MCP with AI - AI と Aspire MCP を使用する - - - - Manually updating <code>mcp.json</code> - <code>mcp.json</code> を手動で更新する - - - - Aspire MCP can be used with any AI tooling that supports streamable HTTP MCP servers. - Aspire MCP は、ストリーミング可能な HTTP MCP サーバーをサポートする任意の AI ツールで使用できます。 - - - - Important details for configuring Aspire MCP are below. Please refer to your AI client's documentation for how to add an MCP server. - Aspire MCP の構成に関する重要な詳細は以下のとおりです。MCP サーバーの追加方法については、AI クライアントのドキュメントを参照してください。 - - - - For other options, such as updating <code>mcp.json</code>, see <a href="{0}" target="_blank">Add an MCP server to VS Code</a>. - <code>mcp.json</code> の更新など、その他のオプションについては、「<a href="{0}" target="_blank">VS Code に MCP サーバーを追加する</a>」をご覧ください。 - {0} is a URL to documentation - - - For other options, such as updating <code>mcp.json</code>, see <a href="{0}" target="_blank">Add an MCP server to Visual Studio</a>. - <code>mcp.json</code> の更新など、その他のオプションについては、「<a href="{0}" target="_blank">Visual Studio に MCP サーバーを追加する</a>」をご覧ください。 - {0} is a URL to documentation - - - Other - その他 - - - - Quickly add Aspire MCP to VS Code using a browser install button: - ブラウザーのインストール ボタンを使用して、Aspire MCP を VS Code にすばやく追加します: - - - - Quickly add Aspire MCP to Visual Studio using a browser install button: - ブラウザーのインストール ボタンを使用して、Aspire MCP を Visual Studio にすばやく追加します: - - - - The first time Aspire MCP starts, you'll be prompted by VS Code for the API key. Enter the API key below in the VS Code input text box. - Aspire MCP の初回起動時に、VS Code から API キーの入力を求められます。VS Code 入力テキスト ボックスに以下の API キーを入力します。 - - - - VS Code - VS Code - - - - To use VS Code with Aspire MCP, configure the MCP endpoint to use HTTP instead of HTTPS. Note that this will remove transport security from Aspire MCP communication and could allow data to be read by a third party. - Aspire MCP でVS Codeを使用するには、HTTPS ではなく HTTP を使用するように MCP エンドポイントを構成します。これにより、Aspire MCP 通信からトランスポート セキュリティが削除され、第三者にデータを読み取られる可能性があることに注意してください。 - - - - As of October 2025, VS Code does not support using Aspire MCP over HTTPS. - 2025 年 10 月現在、VS Code では HTTPS 経由の Aspire MCP の使用はサポートされていません。 - - - - More information - 詳細情報 - - - - VS Code limitation - VS Code の制限 - - - - You need to add the API key to Aspire MCP before you can use it. In GitHub Copilot Chat, select the Tools button, then the Aspire MCP server. Enter the API key below in the text box. - Aspire MCP を使用するには、API キーを Aspire MCP に追加する必要があります。GitHub Copilot Chat で、[ツール] ボタン、Aspire MCP サーバーの順に選択します。テキスト ボックスに以下の API キーを入力します。 - - - - Visual Studio - Visual Studio - - Open in text visualizer テキスト ビジュアライザーで開く diff --git a/src/Aspire.Dashboard/Resources/xlf/Dialogs.ko.xlf b/src/Aspire.Dashboard/Resources/xlf/Dialogs.ko.xlf index 31676b73399..4005607a1d0 100644 --- a/src/Aspire.Dashboard/Resources/xlf/Dialogs.ko.xlf +++ b/src/Aspire.Dashboard/Resources/xlf/Dialogs.ko.xlf @@ -457,136 +457,6 @@ 추적 - - Aspire MCP API key - Aspire MCP API 키 - - - - The fastest way to get started is to <a href="{0}" target="_blank">configure the Aspire MCP using the CLI</a> - 가장 빠른 시작 방법은 CLI를 사용해 <a href="{0}" target="_blank">Aspire MCP를 구성하는 것입니다.</a> - {0} is a URL - - - The <code>aspire mcp init</code> command writes MCP JSON to your local workspace. Alternatively, configure your local AI development tools using instructions below. - <code>aspire mcp init</code> 명령은 MCP JSON을 여러분의 로컬 작업 영역에 저장합니다. 또는 아래 지침을 따라 로컬 AI 개발 도구를 구성할 수 있습니다. - - - - Aspire MCP configuration - Aspire MCP 구성 - - - - Copy - 복사 - - - - VS Code: Install Aspire MCP Server - VS Code: Aspire MCP 서버 설치 - - - - VS Code Insiders: Install Aspire MCP Server - VS Code 참가자: Aspire MCP 서버 설치 - - - - Visual Studio: Install Aspire MCP Server - Visual Studio: Aspire MCP 서버 설치 - - - - Aspire MCP connects AI assistants to Aspire app data. AI can use Aspire MCP to get information about app resources, health checks, commands, console logs and real-time telemetry. - Aspire MCP는 AI 도우미를 Aspire 앱 데이터에 연결합니다. AI는 Aspire MCP를 사용하여 앱 리소스, 상태 검사, 명령, 콘솔 로그 및 실시간 원격 분석에 대한 정보를 가져올 수 있습니다. - - - - Use Aspire MCP with AI - AI와 함께 Aspire MCP 사용 - - - - Manually updating <code>mcp.json</code> - 수동으로 <code>mcp.json</code> 업데이트 - - - - Aspire MCP can be used with any AI tooling that supports streamable HTTP MCP servers. - Aspire MCP는 스트리밍 가능한 HTTP MCP 서버를 지원하는 모든 AI 도구와 함께 사용할 수 있습니다. - - - - Important details for configuring Aspire MCP are below. Please refer to your AI client's documentation for how to add an MCP server. - Aspire MCP 구성에 대한 중요한 세부 정보는 다음과 같습니다. MCP 서버 추가 방법은 AI 클라이언트 설명서를 참조하세요. - - - - For other options, such as updating <code>mcp.json</code>, see <a href="{0}" target="_blank">Add an MCP server to VS Code</a>. - <code>mcp.json</code> 업데이트와 같은 기타 옵션은 <a href="{0}" target="_blank">VS Code에 MCP 서버 추가</a>를 참조하세요. - {0} is a URL to documentation - - - For other options, such as updating <code>mcp.json</code>, see <a href="{0}" target="_blank">Add an MCP server to Visual Studio</a>. - <code>mcp.json</code> 업데이트와 같은 기타 옵션은 <a href="{0}" target="_blank">Visual Studio에 MCP 서버 추가</a>를 참조하세요. - {0} is a URL to documentation - - - Other - 기타 - - - - Quickly add Aspire MCP to VS Code using a browser install button: - 브라우저 설치 단추를 사용하여 VS Code에 Aspire MCP를 빠르게 추가하세요. - - - - Quickly add Aspire MCP to Visual Studio using a browser install button: - 브라우저 설치 단추를 사용하여 Visual Studio에 Aspire MCP를 빠르게 추가하세요. - - - - The first time Aspire MCP starts, you'll be prompted by VS Code for the API key. Enter the API key below in the VS Code input text box. - Aspire MCP가 처음 시작되면 VS Code에서 API 키를 요청하는 메시지가 표시됩니다. VS Code 입력 텍스트 상자에 아래 API 키를 입력합니다. - - - - VS Code - VS Code - - - - To use VS Code with Aspire MCP, configure the MCP endpoint to use HTTP instead of HTTPS. Note that this will remove transport security from Aspire MCP communication and could allow data to be read by a third party. - VS Code를 사용하려면 HTTPS 대신 HTTP를 사용하도록 MCP 엔드포인트를 구성합니다. 이렇게 하면 Aspire MCP 통신에서 전송 보안이 제거되고 타사에서 데이터를 읽을 수 있습니다. - - - - As of October 2025, VS Code does not support using Aspire MCP over HTTPS. - 2025년 10월부터 VS Code는 HTTPS를 통한 Aspire MCP 사용을 지원하지 않습니다. - - - - More information - 자세한 정보 - - - - VS Code limitation - VS Code 제한 - - - - You need to add the API key to Aspire MCP before you can use it. In GitHub Copilot Chat, select the Tools button, then the Aspire MCP server. Enter the API key below in the text box. - API 키를 사용하려면 Aspire MCP에 API 키를 추가해야 합니다. GitHub Copilot Chat에서 도구 버튼을 선택한 후 Aspire MCP 서버를 선택하세요. 아래 텍스트 상자에 API 키를 입력하세요. - - - - Visual Studio - Visual Studio - - Open in text visualizer 텍스트 시각화 도우미에서 열기 diff --git a/src/Aspire.Dashboard/Resources/xlf/Dialogs.pl.xlf b/src/Aspire.Dashboard/Resources/xlf/Dialogs.pl.xlf index 52d010e521c..51968696c63 100644 --- a/src/Aspire.Dashboard/Resources/xlf/Dialogs.pl.xlf +++ b/src/Aspire.Dashboard/Resources/xlf/Dialogs.pl.xlf @@ -457,136 +457,6 @@ Ślady - - Aspire MCP API key - Klucz interfejsu API Aspire MCP - - - - The fastest way to get started is to <a href="{0}" target="_blank">configure the Aspire MCP using the CLI</a> - Najszybszym sposobem rozpoczęcia jest <a href="{0}" target="_blank">skonfigurowanie MSP platformy Aspire przy użyciu interfejsu wiersza polecenia</a> - {0} is a URL - - - The <code>aspire mcp init</code> command writes MCP JSON to your local workspace. Alternatively, configure your local AI development tools using instructions below. - Polecenie <code>aspire mcp init</code> zapisuje kod MCP JSON w lokalnym obszarze roboczym. Alternatywnie skonfiguruj lokalne narzędzia programistyczne sztucznej inteligencji, korzystając z poniższych instrukcji. - - - - Aspire MCP configuration - Konfiguracja Aspire MCP - - - - Copy - Kopiuj - - - - VS Code: Install Aspire MCP Server - Vs Code: instalowanie serwera Aspire MCP - - - - VS Code Insiders: Install Aspire MCP Server - Niejawni testerzy programu VS Code: instalowanie serwera Aspire MCP - - - - Visual Studio: Install Aspire MCP Server - Visual Studio: zainstaluj serwer Aspire MCP - - - - Aspire MCP connects AI assistants to Aspire app data. AI can use Aspire MCP to get information about app resources, health checks, commands, console logs and real-time telemetry. - Aspire MCP łączy asystentów AI z danymi aplikacji Aspire. AI może korzystać z Aspire MCP, aby uzyskać informacje o zasobach aplikacji, kontrolach stanu, poleceniach, dziennikach konsoli oraz telemetrii w czasie rzeczywistym. - - - - Use Aspire MCP with AI - Używaj Aspire MCP z AI - - - - Manually updating <code>mcp.json</code> - Ręczne aktualizowanie <code>mcp.json</code> - - - - Aspire MCP can be used with any AI tooling that supports streamable HTTP MCP servers. - Aspire MCP można używać z dowolnymi narzędziami AI, które obsługują strumieniowe serwery HTTP MCP. - - - - Important details for configuring Aspire MCP are below. Please refer to your AI client's documentation for how to add an MCP server. - Poniżej znajdziesz ważne informacje dotyczące konfigurowania Aspire MCP. Szczegóły dotyczące dodawania serwera MCP znajdziesz w dokumentacji klienta AI. - - - - For other options, such as updating <code>mcp.json</code>, see <a href="{0}" target="_blank">Add an MCP server to VS Code</a>. - Aby poznać inne opcje, takie jak aktualizacja <code>mcp.json</code>, zobacz <a href="{0}" target="_blank">Dodaj serwer MCP do VS Code</a>. - {0} is a URL to documentation - - - For other options, such as updating <code>mcp.json</code>, see <a href="{0}" target="_blank">Add an MCP server to Visual Studio</a>. - Aby uzyskać inne opcje, takie jak aktualizowanie <code>mcp.json</code>, zobacz <a href="{0}" target="_blank">Dodawanie serwera MCP do programu Visual Studio</a>. - {0} is a URL to documentation - - - Other - Inne - - - - Quickly add Aspire MCP to VS Code using a browser install button: - Szybko dodaj Aspire MCP do VS Code za pomocą przycisku instalacji w przeglądarce: - - - - Quickly add Aspire MCP to Visual Studio using a browser install button: - Szybko dodaj Aspire MCP do programu Visual Studio za pomocą przycisku instalacji w przeglądarce: - - - - The first time Aspire MCP starts, you'll be prompted by VS Code for the API key. Enter the API key below in the VS Code input text box. - Przy pierwszym uruchomieniu serwera Aspire MCP w programie Vs Code zostanie wyświetlony monit z prośbą o podanie klucza interfejsu API. Wprowadź poniżej klucz interfejsu API w polu tekstowym danych wejściowych programu VS Code. - - - - VS Code - VS Code - - - - To use VS Code with Aspire MCP, configure the MCP endpoint to use HTTP instead of HTTPS. Note that this will remove transport security from Aspire MCP communication and could allow data to be read by a third party. - Aby używać VS Code z Aspire MCP, skonfiguruj punkt końcowy MCP tak, aby korzystał z protokołu HTTP zamiast HTTPS. Pamiętaj, że spowoduje to usunięcie zabezpieczeń transportu w komunikacji Aspire MCP i może pozwolić osobom trzecim na odczytanie danych. - - - - As of October 2025, VS Code does not support using Aspire MCP over HTTPS. - Od października 2025 r. VS Code nie obsługuje korzystania z Aspire MCP przez HTTPS. - - - - More information - Więcej informacji - - - - VS Code limitation - Ograniczenie programu VS Code - - - - You need to add the API key to Aspire MCP before you can use it. In GitHub Copilot Chat, select the Tools button, then the Aspire MCP server. Enter the API key below in the text box. - Przed użyciem klucza interfejsu API musisz dodać go do serwera MCP. W środowisku GitHub Copilot Chat wybierz przycisk Narzędzia, a następnie serwer Aspire MCP. Wprowadź klucz interfejsu API poniżej w polu tekstowym. - - - - Visual Studio - Visual Studio - - Open in text visualizer Otwórz w wizualizatorze tekstu diff --git a/src/Aspire.Dashboard/Resources/xlf/Dialogs.pt-BR.xlf b/src/Aspire.Dashboard/Resources/xlf/Dialogs.pt-BR.xlf index 68f27e805f6..efcdf07c74b 100644 --- a/src/Aspire.Dashboard/Resources/xlf/Dialogs.pt-BR.xlf +++ b/src/Aspire.Dashboard/Resources/xlf/Dialogs.pt-BR.xlf @@ -457,136 +457,6 @@ Rastreamentos - - Aspire MCP API key - Chave de API do Aspire MCP - - - - The fastest way to get started is to <a href="{0}" target="_blank">configure the Aspire MCP using the CLI</a> - A maneira mais rápida de começar é <a href="{0}" target="_blank">configurar o Aspire MCP usando a CLI</a> - {0} is a URL - - - The <code>aspire mcp init</code> command writes MCP JSON to your local workspace. Alternatively, configure your local AI development tools using instructions below. - O comando <code>aspire mcp init</code> grava o JSON do MCP no seu workspace local. Como alternativa, configure suas ferramentas locais de desenvolvimento de IA usando as instruções abaixo. - - - - Aspire MCP configuration - Configuração do Aspire MCP - - - - Copy - Copiar - - - - VS Code: Install Aspire MCP Server - VS Code: Instalar o Servidor Aspire MCP - - - - VS Code Insiders: Install Aspire MCP Server - VS Code Insiders: Instalar o Servidor Aspire MCP - - - - Visual Studio: Install Aspire MCP Server - Visual Studio: Instalar o Servidor Aspire MCP - - - - Aspire MCP connects AI assistants to Aspire app data. AI can use Aspire MCP to get information about app resources, health checks, commands, console logs and real-time telemetry. - O Aspire MCP conecta assistentes de IA aos dados do aplicativo Aspire. A IA pode usar o Aspire MCP para obter informações sobre recursos do aplicativo, verificações de integridade, comandos, logs do console e telemetria em tempo real. - - - - Use Aspire MCP with AI - Usar o Aspire MCP com IA - - - - Manually updating <code>mcp.json</code> - Atualizando manualmente <code>mcp.json</code> - - - - Aspire MCP can be used with any AI tooling that supports streamable HTTP MCP servers. - O Aspire MCP pode ser usado com qualquer ferramenta de IA que dê suporte a servidores MCP HTTP com streaming. - - - - Important details for configuring Aspire MCP are below. Please refer to your AI client's documentation for how to add an MCP server. - Os detalhes importantes para configurar o Aspire MCP estão abaixo. Consulte a documentação do cliente de IA para saber como adicionar um servidor MCP. - - - - For other options, such as updating <code>mcp.json</code>, see <a href="{0}" target="_blank">Add an MCP server to VS Code</a>. - Para outras opções, como atualizar <code>mcp.json</code>, veja <a href="{0}" target="_blank">Adicionar um servidor MCP ao VS Code</a>. - {0} is a URL to documentation - - - For other options, such as updating <code>mcp.json</code>, see <a href="{0}" target="_blank">Add an MCP server to Visual Studio</a>. - Para outras opções, como atualizar <code>mcp.json</code>, veja <a href="{0}" target="_blank">Adicionar um servidor MCP ao Visual Studio</a>. - {0} is a URL to documentation - - - Other - Outro - - - - Quickly add Aspire MCP to VS Code using a browser install button: - Adicione rapidamente o Aspire MCP ao VS Code usando um botão de instalação do navegador: - - - - Quickly add Aspire MCP to Visual Studio using a browser install button: - Adicione rapidamente o Aspire MCP ao Visual Studio usando um botão de instalação do navegador: - - - - The first time Aspire MCP starts, you'll be prompted by VS Code for the API key. Enter the API key below in the VS Code input text box. - Na primeira vez que o Aspire MCP for iniciado, o VS Code vai pedir a chave de API. Insira a chave de API abaixo na caixa VS Code de texto de entrada. - - - - VS Code - VS Code - - - - To use VS Code with Aspire MCP, configure the MCP endpoint to use HTTP instead of HTTPS. Note that this will remove transport security from Aspire MCP communication and could allow data to be read by a third party. - Para usar o VS Code com o Aspire MCP, configure o ponto de extremidade do MCP para usar HTTP em vez de HTTPS. Lembre-se de que isso remove a segurança de transporte na comunicação do Aspire MCP e pode permitir que os dados sejam lidos por terceiros. - - - - As of October 2025, VS Code does not support using Aspire MCP over HTTPS. - A partir de outubro de 2025, o VS Code não dará suporte ao uso do Aspire MCP via HTTPS. - - - - More information - Mais informações - - - - VS Code limitation - Limitação do VS Code - - - - You need to add the API key to Aspire MCP before you can use it. In GitHub Copilot Chat, select the Tools button, then the Aspire MCP server. Enter the API key below in the text box. - Você precisa adicionar a chave de API ao MCP antes de poder usá-la. No GitHub Copilot Chat, selecione o botão Ferramentas e depois o servidor Aspire MCP. Insira a chave de API abaixo na caixa de texto. - - - - Visual Studio - Visual Studio - - Open in text visualizer Abrir no visualizador de texto diff --git a/src/Aspire.Dashboard/Resources/xlf/Dialogs.ru.xlf b/src/Aspire.Dashboard/Resources/xlf/Dialogs.ru.xlf index d5dc5983b4d..815849031c2 100644 --- a/src/Aspire.Dashboard/Resources/xlf/Dialogs.ru.xlf +++ b/src/Aspire.Dashboard/Resources/xlf/Dialogs.ru.xlf @@ -457,136 +457,6 @@ Трассировки - - Aspire MCP API key - Ключ API Aspire MCP - - - - The fastest way to get started is to <a href="{0}" target="_blank">configure the Aspire MCP using the CLI</a> - Самый быстрый способ начать работу — <a href="{0}" target="_blank">настроить Aspire MCP с помощью CLI</a> - {0} is a URL - - - The <code>aspire mcp init</code> command writes MCP JSON to your local workspace. Alternatively, configure your local AI development tools using instructions below. - Команда <code>aspire mcp init</code> записывает JSON MCP в локальную рабочую область. Кроме того, можно настроить локальные средства разработки ИИ, следуя приведенным ниже инструкциям. - - - - Aspire MCP configuration - Конфигурация Aspire MCP - - - - Copy - Копировать - - - - VS Code: Install Aspire MCP Server - VS Code: установка сервера Aspire MCP - - - - VS Code Insiders: Install Aspire MCP Server - VS Code Insiders: установка сервера Aspire MCP - - - - Visual Studio: Install Aspire MCP Server - Visual Studio: установка сервера Aspire MCP - - - - Aspire MCP connects AI assistants to Aspire app data. AI can use Aspire MCP to get information about app resources, health checks, commands, console logs and real-time telemetry. - Aspire MCP подключает ИИ-помощников к данным приложения Aspire. ИИ может использовать Aspire MCP для получения информации о ресурсах приложения, проверках работоспособности, командах, журналах консоли и телеметрии в реальном времени. - - - - Use Aspire MCP with AI - Использование Aspire MCP с ИИ - - - - Manually updating <code>mcp.json</code> - Ручное обновление <code>mcp.json</code> - - - - Aspire MCP can be used with any AI tooling that supports streamable HTTP MCP servers. - Aspire MCP можно использовать с любыми инструментами ИИ, поддерживающими HTTP-серверы MCP с возможностью потоковой передачи. - - - - Important details for configuring Aspire MCP are below. Please refer to your AI client's documentation for how to add an MCP server. - Ниже приведены важные сведения о настройке Aspire MCP. Обратитесь к документации клиента ИИ для получения сведений о добавлении сервера MCP. - - - - For other options, such as updating <code>mcp.json</code>, see <a href="{0}" target="_blank">Add an MCP server to VS Code</a>. - Сведения о других вариантах, таких как обновление <code>mcp.json</code>, см. в разделе <a href="{0}" target="_blank">Добавление сервера MCP в VS Code</a>. - {0} is a URL to documentation - - - For other options, such as updating <code>mcp.json</code>, see <a href="{0}" target="_blank">Add an MCP server to Visual Studio</a>. - Сведения о других вариантах, таких как обновление <code>mcp.json</code>, см. в разделе <a href="{0}" target="_blank">Добавление сервера MCP в Visual Studio</a>. - {0} is a URL to documentation - - - Other - Другое - - - - Quickly add Aspire MCP to VS Code using a browser install button: - Быстро добавьте Aspire MCP в VS Code с помощью кнопки установки в браузере: - - - - Quickly add Aspire MCP to Visual Studio using a browser install button: - Быстро добавьте Aspire MCP в Visual Studio с помощью кнопки установки в браузере: - - - - The first time Aspire MCP starts, you'll be prompted by VS Code for the API key. Enter the API key below in the VS Code input text box. - При первом запуске Aspire MCP в VS Code будет запрошен ключ API. Введите указанный ниже ключ API в текстовое поле ввода VS Code. - - - - VS Code - VS Code - - - - To use VS Code with Aspire MCP, configure the MCP endpoint to use HTTP instead of HTTPS. Note that this will remove transport security from Aspire MCP communication and could allow data to be read by a third party. - Чтобы использовать VS Code с Aspire MCP, настройте конечную точку MCP на использование HTTP вместо HTTPS. Обратите внимание, что это удалит защиту транспорта в коммуникации Aspire MCP и может позволить третьим лицам читать данные. - - - - As of October 2025, VS Code does not support using Aspire MCP over HTTPS. - По состоянию на октябрь 2025 года VS Code не поддерживает использование Aspire MCP через HTTPS. - - - - More information - Подробнее - - - - VS Code limitation - Ограничения VS Code - - - - You need to add the API key to Aspire MCP before you can use it. In GitHub Copilot Chat, select the Tools button, then the Aspire MCP server. Enter the API key below in the text box. - Необходимо добавить ключ API в Aspire MCP перед его использованием. В GitHub Copilot Chat нажмите кнопку "Инструменты" и выберите сервер Aspire MCP. Введите указанный ниже ключ API в текстовое поле. - - - - Visual Studio - Visual Studio - - Open in text visualizer Открыть в визуализаторе текста diff --git a/src/Aspire.Dashboard/Resources/xlf/Dialogs.tr.xlf b/src/Aspire.Dashboard/Resources/xlf/Dialogs.tr.xlf index 743d0b329fb..317a66232de 100644 --- a/src/Aspire.Dashboard/Resources/xlf/Dialogs.tr.xlf +++ b/src/Aspire.Dashboard/Resources/xlf/Dialogs.tr.xlf @@ -457,136 +457,6 @@ İzlemeler - - Aspire MCP API key - Aspire MCP API anahtarı - - - - The fastest way to get started is to <a href="{0}" target="_blank">configure the Aspire MCP using the CLI</a> - Başlamak için en hızlı yol <a href="{0}" target="_blank">Aspire MCP'yi CLI kullanarak yapılandırmaktır</a> - {0} is a URL - - - The <code>aspire mcp init</code> command writes MCP JSON to your local workspace. Alternatively, configure your local AI development tools using instructions below. - <code>aspire mcp init</code> komutu MCP JSON dosyasını yerel çalışma alanınıza yazar. Alternatif olarak, aşağıdaki talimatları kullanarak yerel yapay zeka geliştirme araçlarınızı yapılandırabilirsiniz. - - - - Aspire MCP configuration - Aspire MCP yapılandırması - - - - Copy - Kopyala - - - - VS Code: Install Aspire MCP Server - VS Code: Aspire MCP Sunucusunu Yükle - - - - VS Code Insiders: Install Aspire MCP Server - VS Code Insiders: Aspire MCP Sunucusunu Yükle - - - - Visual Studio: Install Aspire MCP Server - Visual Studio: Aspire MCP Sunucusunu Yükle - - - - Aspire MCP connects AI assistants to Aspire app data. AI can use Aspire MCP to get information about app resources, health checks, commands, console logs and real-time telemetry. - Aspire MCP, yapay zeka asistanlarını Aspire uygulama verilerine bağlar. Yapay zeka, Aspire MCP'yi kullanarak uygulama kaynakları, durum kontrolleri, komutlar, konsol günlükleri ve gerçek zamanlı telemetri hakkında bilgi edinebilir. - - - - Use Aspire MCP with AI - Aspire MCP'yi Yapay Zeka ile kullan - - - - Manually updating <code>mcp.json</code> - <code>mcp.json</code> el ile güncelleştiriliyor - - - - Aspire MCP can be used with any AI tooling that supports streamable HTTP MCP servers. - Aspire MCP, akışa uygun HTTP MCP sunucularını destekleyen tüm yapay zeka araçlarıyla kullanılabilir. - - - - Important details for configuring Aspire MCP are below. Please refer to your AI client's documentation for how to add an MCP server. - Aspire MCP'yi yapılandırmak için önemli ayrıntılar aşağıdadır. MCP sunucusunu eklemek için lütfen yapay zeka istemcinizin belgelerine bakın. - - - - For other options, such as updating <code>mcp.json</code>, see <a href="{0}" target="_blank">Add an MCP server to VS Code</a>. - <code>mcp.json</code> dosyasını güncelleştirme gibi diğer seçenekler için, <a href="{0}" target="_blank">VS Code'a MCP sunucusu ekleme</a> bölümüne bakın. - {0} is a URL to documentation - - - For other options, such as updating <code>mcp.json</code>, see <a href="{0}" target="_blank">Add an MCP server to Visual Studio</a>. - <code>mcp.json</code> dosyasını güncelleştirme gibi diğer seçenekler için, <a href="{0}" target="_blank">Visual Studio'ya MCP sunucusu ekleme</a> bölümüne bakın. - {0} is a URL to documentation - - - Other - Diğer - - - - Quickly add Aspire MCP to VS Code using a browser install button: - Tarayıcı yükleme düğmesini kullanarak Aspire MCP'yi VS Code'a hızlıca ekleyin: - - - - Quickly add Aspire MCP to Visual Studio using a browser install button: - Tarayıcı yükleme düğmesini kullanarak Aspire MCP'yi Visual Studio'ya hızlıca ekleyin: - - - - The first time Aspire MCP starts, you'll be prompted by VS Code for the API key. Enter the API key below in the VS Code input text box. - Aspire MCP ilk kez başlatıldığında, VS Code sizden API anahtarını girmenizi ister. Aşağıdaki API anahtarını VS Code metin girişi kutusuna girin. - - - - VS Code - VS Code - - - - To use VS Code with Aspire MCP, configure the MCP endpoint to use HTTP instead of HTTPS. Note that this will remove transport security from Aspire MCP communication and could allow data to be read by a third party. - VS Code'u Aspire MCP ile kullanmak için MCP uç noktasını HTTPS yerine HTTP kullanacak şekilde yapılandırın. Bu işlem, Aspire MCP iletişiminden taşıma güvenliğini kaldıracak ve verilerin üçüncü taraflarca okunmasına olanak sağlayabilecektir. - - - - As of October 2025, VS Code does not support using Aspire MCP over HTTPS. - Ekim 2025 itibarıyla VS Code, HTTPS üzerinden Aspire MCP kullanımını desteklememektedir. - - - - More information - Daha fazla bilgi - - - - VS Code limitation - VS Code sınırlaması - - - - You need to add the API key to Aspire MCP before you can use it. In GitHub Copilot Chat, select the Tools button, then the Aspire MCP server. Enter the API key below in the text box. - API anahtarını kullanabilmek için API anahtarını Aspire MCP’ye eklemeniz gerekir. GitHub Copilot Chat’te Araçlar düğmesini seçin, ardından Aspire MCP sunucusunu seçin. Aşağıdaki API anahtarını metin kutusuna girin. - - - - Visual Studio - Visual Studio - - Open in text visualizer Metin görselleştiricide aç diff --git a/src/Aspire.Dashboard/Resources/xlf/Dialogs.zh-Hans.xlf b/src/Aspire.Dashboard/Resources/xlf/Dialogs.zh-Hans.xlf index b25f0315216..192ce5dddd8 100644 --- a/src/Aspire.Dashboard/Resources/xlf/Dialogs.zh-Hans.xlf +++ b/src/Aspire.Dashboard/Resources/xlf/Dialogs.zh-Hans.xlf @@ -457,136 +457,6 @@ 跟踪 - - Aspire MCP API key - Aspire MCP API 密钥 - - - - The fastest way to get started is to <a href="{0}" target="_blank">configure the Aspire MCP using the CLI</a> - 最快开始的方法是<a href="{0}" target="_blank">使用 CLI 配置 Aspire MCP</a> - {0} is a URL - - - The <code>aspire mcp init</code> command writes MCP JSON to your local workspace. Alternatively, configure your local AI development tools using instructions below. - <code>aspire mcp init</code> 命令将 MCP JSON 写入你的本地工作区。或者,按照下面的说明来配置本地 AI 开发工具。 - - - - Aspire MCP configuration - Aspire MCP 配置 - - - - Copy - 复制 - - - - VS Code: Install Aspire MCP Server - VS Code: 安装 Aspire MCP 服务器 - - - - VS Code Insiders: Install Aspire MCP Server - VS Code Insiders: 安装 Aspire MCP 服务器 - - - - Visual Studio: Install Aspire MCP Server - Visual Studio: 安装 Aspire MCP 服务器 - - - - Aspire MCP connects AI assistants to Aspire app data. AI can use Aspire MCP to get information about app resources, health checks, commands, console logs and real-time telemetry. - Aspire MCP 将 AI 助手连接到 Aspire 应用数据。AI 可通过 Aspire MCP 获取应用资源、运行状况检查、命令、控制台日志和实时遥测信息。 - - - - Use Aspire MCP with AI - 将 Aspire MCP 与 AI 配合使用 - - - - Manually updating <code>mcp.json</code> - 手动更新 <code>mcp.json</code> - - - - Aspire MCP can be used with any AI tooling that supports streamable HTTP MCP servers. - Aspire MCP 可与任何支持可流式传输的 HTTP MCP 服务器的 AI 工具配合使用。 - - - - Important details for configuring Aspire MCP are below. Please refer to your AI client's documentation for how to add an MCP server. - 以下是配置 Aspire MCP 的重要详细信息。有关如何添加 MCP 服务器,请参阅 AI 客户端的文档。 - - - - For other options, such as updating <code>mcp.json</code>, see <a href="{0}" target="_blank">Add an MCP server to VS Code</a>. - 有关其他选项,例如更新 <code>mcp.json</code>,请参阅<a href="{0}" target="_blank">向 VS Code 添加 MCP 服务器</a>。 - {0} is a URL to documentation - - - For other options, such as updating <code>mcp.json</code>, see <a href="{0}" target="_blank">Add an MCP server to Visual Studio</a>. - 有关其他选项,例如更新 <code>mcp.json</code>,请参阅<a href="{0}" target="_blank">向 Visual Studio 添加 MCP 服务器</a>。 - {0} is a URL to documentation - - - Other - 其他 - - - - Quickly add Aspire MCP to VS Code using a browser install button: - 使用浏览器安装按钮快速将 Aspire MCP 添加到 VS Code: - - - - Quickly add Aspire MCP to Visual Studio using a browser install button: - 使用浏览器安装按钮快速将 Aspire MCP 添加到 Visual Studio: - - - - The first time Aspire MCP starts, you'll be prompted by VS Code for the API key. Enter the API key below in the VS Code input text box. - 首次启动 Aspire MCP 时,VS Code 会提示你输入 API 密钥。在下面的 VS Code 输入文本框中输入 API 密钥。 - - - - VS Code - VS Code - - - - To use VS Code with Aspire MCP, configure the MCP endpoint to use HTTP instead of HTTPS. Note that this will remove transport security from Aspire MCP communication and could allow data to be read by a third party. - 若要将 VS Code 与 Aspire MCP 一起使用,请将 MCP 终结点配置为使用 HTTP 而非 HTTPS。请注意,这会取消 Aspire MCP 通信的传输安全性,并可能导致数据被第三方读取。 - - - - As of October 2025, VS Code does not support using Aspire MCP over HTTPS. - 自 2025 年 10 月起,VS Code 不支持通过 HTTPS 使用 Aspire MCP。 - - - - More information - 详细信息 - - - - VS Code limitation - VS Code 限制 - - - - You need to add the API key to Aspire MCP before you can use it. In GitHub Copilot Chat, select the Tools button, then the Aspire MCP server. Enter the API key below in the text box. - 你需要先将 API 密钥添加到 Aspire MCP,然后才能使用它。在 GitHub Copilot 对话助手中,依次选择“工具”按钮和 Aspire MCP 服务器。在下面的文本框中输入 API 密钥。 - - - - Visual Studio - Visual Studio - - Open in text visualizer 在文本可视化工具中打开 diff --git a/src/Aspire.Dashboard/Resources/xlf/Dialogs.zh-Hant.xlf b/src/Aspire.Dashboard/Resources/xlf/Dialogs.zh-Hant.xlf index adb9a552fdf..3f53eb074ae 100644 --- a/src/Aspire.Dashboard/Resources/xlf/Dialogs.zh-Hant.xlf +++ b/src/Aspire.Dashboard/Resources/xlf/Dialogs.zh-Hant.xlf @@ -457,136 +457,6 @@ 追蹤 - - Aspire MCP API key - Aspire MCP API 金鑰 - - - - The fastest way to get started is to <a href="{0}" target="_blank">configure the Aspire MCP using the CLI</a> - 開始使用最快的方法,就是<a href="{0}" target="_blank">使用 CLI 設定 Aspire MCP</a> - {0} is a URL - - - The <code>aspire mcp init</code> command writes MCP JSON to your local workspace. Alternatively, configure your local AI development tools using instructions below. - <code>aspire mcp init</code> 命令會將 MCP JSON 寫入您的本機工作區。或者,使用下列指示設定您的本機 AI 開發工具。 - - - - Aspire MCP configuration - Aspire MCP 設定 - - - - Copy - 複製 - - - - VS Code: Install Aspire MCP Server - VS Code: 安裝 Aspire MCP 伺服器 - - - - VS Code Insiders: Install Aspire MCP Server - VS Code Insiders: 安裝 Aspire MCP 伺服器 - - - - Visual Studio: Install Aspire MCP Server - Visual Studio: 安裝 Aspire MCP 伺服器 - - - - Aspire MCP connects AI assistants to Aspire app data. AI can use Aspire MCP to get information about app resources, health checks, commands, console logs and real-time telemetry. - Aspire MCP 會將 AI 助理連線到 Aspire 應用程式資料。AI 可以使用 Aspire MCP 來取得應用程式資源、健康情況檢查、命令、主控台記錄及即時遙測的相關資訊。 - - - - Use Aspire MCP with AI - 使用 Aspire MCP 搭配 AI - - - - Manually updating <code>mcp.json</code> - 手動更新 <code>mcp.json</code> - - - - Aspire MCP can be used with any AI tooling that supports streamable HTTP MCP servers. - Aspire MCP 可以搭配支援可串流 HTTP MCP 伺服器的任何 AI 工具使用。 - - - - Important details for configuring Aspire MCP are below. Please refer to your AI client's documentation for how to add an MCP server. - 以下是設定 Aspire MCP 的重要詳細資料。若要了解如何新增 MCP 伺服器,請參閱 AI 用戶端的文件。 - - - - For other options, such as updating <code>mcp.json</code>, see <a href="{0}" target="_blank">Add an MCP server to VS Code</a>. - 針對其他選項,例如更新 <code>mcp.json</code>,請參閱<a href="{0}" target="_blank">將 MCP 伺服器新增至 VS Code</a>。 - {0} is a URL to documentation - - - For other options, such as updating <code>mcp.json</code>, see <a href="{0}" target="_blank">Add an MCP server to Visual Studio</a>. - 針對其他選項,例如更新 <code>mcp.json</code>,請參閱<a href="{0}" target="_blank">將 MCP 伺服器新增至 Visual Studio</a>。 - {0} is a URL to documentation - - - Other - 其他 - - - - Quickly add Aspire MCP to VS Code using a browser install button: - 使用瀏覽器安裝按鈕,快速將 Aspire MCP 新增至 VS Code: - - - - Quickly add Aspire MCP to Visual Studio using a browser install button: - 使用瀏覽器安裝按鈕,快速將 Aspire MCP 新增至 Visual Studio: - - - - The first time Aspire MCP starts, you'll be prompted by VS Code for the API key. Enter the API key below in the VS Code input text box. - Aspire MCP 第一次啟動時,VS Code 會提示您輸入 API 金鑰。請在下方 VS Code 的輸入文字方塊中輸入 API 金鑰。 - - - - VS Code - VS Code - - - - To use VS Code with Aspire MCP, configure the MCP endpoint to use HTTP instead of HTTPS. Note that this will remove transport security from Aspire MCP communication and could allow data to be read by a third party. - 若要使用 VS Code 搭配 Aspire MCP,請將 MCP 端點設定為使用 HTTP,而不是 HTTPS。請注意,這將會從 Aspire MCP 通訊移除傳輸安全性,並允許第三方讀取資料。 - - - - As of October 2025, VS Code does not support using Aspire MCP over HTTPS. - 截至 2025 年 10 月,VS Code 不支援透過 HTTPS 使用 Aspire MCP。 - - - - More information - 詳細資訊 - - - - VS Code limitation - VS Code 限制 - - - - You need to add the API key to Aspire MCP before you can use it. In GitHub Copilot Chat, select the Tools button, then the Aspire MCP server. Enter the API key below in the text box. - 您需要先將 API 金鑰加入 Aspire MCP,才能使用它。在 GitHub Copilot Chat 中,請選取 [工具] 按鈕,然後選取 [Aspire MCP 伺服器]。請在下方文字方塊中輸入 API 金鑰。 - - - - Visual Studio - Visual Studio - - Open in text visualizer 在文字視覺化工具中開啟 diff --git a/src/Aspire.Dashboard/Resources/xlf/Layout.cs.xlf b/src/Aspire.Dashboard/Resources/xlf/Layout.cs.xlf index f5d80912dba..e8b30000aaa 100644 --- a/src/Aspire.Dashboard/Resources/xlf/Layout.cs.xlf +++ b/src/Aspire.Dashboard/Resources/xlf/Layout.cs.xlf @@ -52,11 +52,6 @@ Další informace - - Untrusted apps can access sensitive information about the running services. - Nedůvěryhodné aplikace můžou přistupovat k citlivým informacím o spuštěných službách. - - Untrusted apps can send telemetry to the dashboard. Nedůvěryhodné aplikace můžou odesílat telemetrii na řídicí panel. diff --git a/src/Aspire.Dashboard/Resources/xlf/Layout.de.xlf b/src/Aspire.Dashboard/Resources/xlf/Layout.de.xlf index 3a5b0e804ae..dcf7ebd332b 100644 --- a/src/Aspire.Dashboard/Resources/xlf/Layout.de.xlf +++ b/src/Aspire.Dashboard/Resources/xlf/Layout.de.xlf @@ -52,11 +52,6 @@ Weitere Informationen - - Untrusted apps can access sensitive information about the running services. - Nicht vertrauenswürdige Apps können auf vertrauliche Informationen zu den ausgeführten Diensten zugreifen. - - Untrusted apps can send telemetry to the dashboard. Nicht vertrauenswürdige Apps können Telemetriedaten an das Dashboard senden. diff --git a/src/Aspire.Dashboard/Resources/xlf/Layout.es.xlf b/src/Aspire.Dashboard/Resources/xlf/Layout.es.xlf index 77802cee091..a7b4dc66cdf 100644 --- a/src/Aspire.Dashboard/Resources/xlf/Layout.es.xlf +++ b/src/Aspire.Dashboard/Resources/xlf/Layout.es.xlf @@ -52,11 +52,6 @@ Más información - - Untrusted apps can access sensitive information about the running services. - Las aplicaciones que no son de confianza pueden acceder a información confidencial sobre los servicios en ejecución. - - Untrusted apps can send telemetry to the dashboard. Las aplicaciones que no son de confianza pueden enviar telemetría al panel. diff --git a/src/Aspire.Dashboard/Resources/xlf/Layout.fr.xlf b/src/Aspire.Dashboard/Resources/xlf/Layout.fr.xlf index 01fcd38b3be..14ce1089dac 100644 --- a/src/Aspire.Dashboard/Resources/xlf/Layout.fr.xlf +++ b/src/Aspire.Dashboard/Resources/xlf/Layout.fr.xlf @@ -52,11 +52,6 @@ Autres informations - - Untrusted apps can access sensitive information about the running services. - Des applications non approuvées peuvent accéder à des informations sensibles sur les services en cours d’exécution. - - Untrusted apps can send telemetry to the dashboard. Les applications non approuvées peuvent envoyer des données de télémétrie au tableau de bord. diff --git a/src/Aspire.Dashboard/Resources/xlf/Layout.it.xlf b/src/Aspire.Dashboard/Resources/xlf/Layout.it.xlf index fd7f0388aa1..92797b80416 100644 --- a/src/Aspire.Dashboard/Resources/xlf/Layout.it.xlf +++ b/src/Aspire.Dashboard/Resources/xlf/Layout.it.xlf @@ -52,11 +52,6 @@ Altre informazioni - - Untrusted apps can access sensitive information about the running services. - Le app non attendibili possono accedere a informazioni sensibili sui servizi in esecuzione. - - Untrusted apps can send telemetry to the dashboard. Le app non attendibili possono inviare dati di telemetria al dashboard. diff --git a/src/Aspire.Dashboard/Resources/xlf/Layout.ja.xlf b/src/Aspire.Dashboard/Resources/xlf/Layout.ja.xlf index 0ff053804f9..690f394c922 100644 --- a/src/Aspire.Dashboard/Resources/xlf/Layout.ja.xlf +++ b/src/Aspire.Dashboard/Resources/xlf/Layout.ja.xlf @@ -52,11 +52,6 @@ 詳細情報 - - Untrusted apps can access sensitive information about the running services. - 信頼されていないアプリが実行中のサービスに関する機密情報にアクセス可能です。 - - Untrusted apps can send telemetry to the dashboard. 信頼されていないアプリは、テレメトリをダッシュボードに送信できます。 diff --git a/src/Aspire.Dashboard/Resources/xlf/Layout.ko.xlf b/src/Aspire.Dashboard/Resources/xlf/Layout.ko.xlf index 9d5e699b7d9..d4a3445aea8 100644 --- a/src/Aspire.Dashboard/Resources/xlf/Layout.ko.xlf +++ b/src/Aspire.Dashboard/Resources/xlf/Layout.ko.xlf @@ -52,11 +52,6 @@ 자세한 정보 - - Untrusted apps can access sensitive information about the running services. - 신뢰할 수 없는 앱이 실행 중인 서비스의 중요한 정보에 접근할 수 있습니다. - - Untrusted apps can send telemetry to the dashboard. 신뢰할 수 없는 앱은 대시보드에 원격 분석을 보낼 수 있습니다. diff --git a/src/Aspire.Dashboard/Resources/xlf/Layout.pl.xlf b/src/Aspire.Dashboard/Resources/xlf/Layout.pl.xlf index afdce8d5959..4e55919bd9b 100644 --- a/src/Aspire.Dashboard/Resources/xlf/Layout.pl.xlf +++ b/src/Aspire.Dashboard/Resources/xlf/Layout.pl.xlf @@ -52,11 +52,6 @@ Więcej informacji - - Untrusted apps can access sensitive information about the running services. - Niezaufane aplikacje mogą uzyskiwać dostęp do poufnych informacji o uruchomionych usługach. - - Untrusted apps can send telemetry to the dashboard. Niezaufane aplikacje mogą wysyłać dane telemetryczne do pulpitu nawigacyjnego. diff --git a/src/Aspire.Dashboard/Resources/xlf/Layout.pt-BR.xlf b/src/Aspire.Dashboard/Resources/xlf/Layout.pt-BR.xlf index 8f3c90d31d3..e9b9a33a638 100644 --- a/src/Aspire.Dashboard/Resources/xlf/Layout.pt-BR.xlf +++ b/src/Aspire.Dashboard/Resources/xlf/Layout.pt-BR.xlf @@ -52,11 +52,6 @@ Mais informações - - Untrusted apps can access sensitive information about the running services. - Aplicativos não confiáveis podem acessar informações confidenciais sobre os serviços em execução. - - Untrusted apps can send telemetry to the dashboard. Aplicativos não confiáveis podem enviar telemetria para o painel. diff --git a/src/Aspire.Dashboard/Resources/xlf/Layout.ru.xlf b/src/Aspire.Dashboard/Resources/xlf/Layout.ru.xlf index 9d3580f7868..f16dde28c02 100644 --- a/src/Aspire.Dashboard/Resources/xlf/Layout.ru.xlf +++ b/src/Aspire.Dashboard/Resources/xlf/Layout.ru.xlf @@ -52,11 +52,6 @@ Подробнее - - Untrusted apps can access sensitive information about the running services. - Недоверенные приложения могут получить доступ к конфиденциальной информации о запущенных службах. - - Untrusted apps can send telemetry to the dashboard. Недоверенные приложения могут отправлять телеметрию на панель мониторинга. diff --git a/src/Aspire.Dashboard/Resources/xlf/Layout.tr.xlf b/src/Aspire.Dashboard/Resources/xlf/Layout.tr.xlf index 819f85642dc..6b9931a8c37 100644 --- a/src/Aspire.Dashboard/Resources/xlf/Layout.tr.xlf +++ b/src/Aspire.Dashboard/Resources/xlf/Layout.tr.xlf @@ -52,11 +52,6 @@ Daha fazla bilgi - - Untrusted apps can access sensitive information about the running services. - Güvenilmeyen uygulamalar, çalışan hizmetler hakkındaki hassas bilgilere erişebilir. - - Untrusted apps can send telemetry to the dashboard. Güvenilmeyen uygulamalar panoya telemetri verileri gönderebilir. diff --git a/src/Aspire.Dashboard/Resources/xlf/Layout.zh-Hans.xlf b/src/Aspire.Dashboard/Resources/xlf/Layout.zh-Hans.xlf index f33eeca4128..5cb24e62d08 100644 --- a/src/Aspire.Dashboard/Resources/xlf/Layout.zh-Hans.xlf +++ b/src/Aspire.Dashboard/Resources/xlf/Layout.zh-Hans.xlf @@ -52,11 +52,6 @@ 详细信息 - - Untrusted apps can access sensitive information about the running services. - 不受信任的应用可以访问有关正在运行的服务的敏感信息。 - - Untrusted apps can send telemetry to the dashboard. 不受信任的应用可以将遥测数据发送到仪表板。 diff --git a/src/Aspire.Dashboard/Resources/xlf/Layout.zh-Hant.xlf b/src/Aspire.Dashboard/Resources/xlf/Layout.zh-Hant.xlf index 900976b6a25..0228089de12 100644 --- a/src/Aspire.Dashboard/Resources/xlf/Layout.zh-Hant.xlf +++ b/src/Aspire.Dashboard/Resources/xlf/Layout.zh-Hant.xlf @@ -52,11 +52,6 @@ 詳細資訊 - - Untrusted apps can access sensitive information about the running services. - 未受信任的應用程式可以存取與執行中服務相關的敏感性資訊。 - - Untrusted apps can send telemetry to the dashboard. 不受信任的應用程式可以將遙測傳送至儀表板。 diff --git a/src/Aspire.Dashboard/Telemetry/TelemetryEventKeys.cs b/src/Aspire.Dashboard/Telemetry/TelemetryEventKeys.cs index 50872b33500..e8fccb563ee 100644 --- a/src/Aspire.Dashboard/Telemetry/TelemetryEventKeys.cs +++ b/src/Aspire.Dashboard/Telemetry/TelemetryEventKeys.cs @@ -16,6 +16,4 @@ public static class TelemetryEventKeys public const string ExecuteCommand = AspireDashboardEventPrefix + "command"; public const string AIAssistantFeedback = AspireDashboardEventPrefix + "aiassistant/feedback"; - - public const string McpToolCall = AspireDashboardEventPrefix + "mcp/toolcall"; } diff --git a/src/Aspire.Dashboard/Telemetry/TelemetryPropertyKeys.cs b/src/Aspire.Dashboard/Telemetry/TelemetryPropertyKeys.cs index 6c31a29b432..1564538bd28 100644 --- a/src/Aspire.Dashboard/Telemetry/TelemetryPropertyKeys.cs +++ b/src/Aspire.Dashboard/Telemetry/TelemetryPropertyKeys.cs @@ -53,7 +53,4 @@ public static class TelemetryPropertyKeys public const string AIAssistantSelectedModel = AspireDashboardPropertyPrefix + "AIAssistant.SelectedModel"; public const string AIAssistantToolCalls = AspireDashboardPropertyPrefix + "AIAssistant.ToolCalls"; public const string AIAssistantFeedbackType = AspireDashboardPropertyPrefix + "AIAssistant.FeedbackType"; - - // MCP tool call properties - public const string McpToolName = AspireDashboardPropertyPrefix + "Mcp.ToolName"; } diff --git a/src/Aspire.Hosting/Backchannel/AuxiliaryBackchannelRpcTarget.cs b/src/Aspire.Hosting/Backchannel/AuxiliaryBackchannelRpcTarget.cs index 306419df6b5..f9a560da3d8 100644 --- a/src/Aspire.Hosting/Backchannel/AuxiliaryBackchannelRpcTarget.cs +++ b/src/Aspire.Hosting/Backchannel/AuxiliaryBackchannelRpcTarget.cs @@ -6,25 +6,22 @@ using System.Text.Json; using System.Threading.Channels; using Aspire.Hosting.ApplicationModel; -using Aspire.Hosting.Dashboard; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; using Microsoft.Extensions.Logging; -using Microsoft.Extensions.Options; using ModelContextProtocol.Client; using ModelContextProtocol.Protocol; namespace Aspire.Hosting.Backchannel; /// -/// RPC target for the auxiliary backchannel that provides MCP-related operations. +/// RPC target for the auxiliary backchannel. /// internal sealed class AuxiliaryBackchannelRpcTarget( ILogger logger, IServiceProvider serviceProvider) { - private const string McpEndpointName = "mcp"; private static readonly TimeSpan s_mcpDiscoveryTimeout = TimeSpan.FromSeconds(5); #region V2 API Methods @@ -94,8 +91,6 @@ public async Task GetDashboardInfoAsync(GetDashboardIn return new GetDashboardInfoResponse { - McpBaseUrl = info.McpBaseUrl, - McpApiToken = info.McpApiToken, ApiBaseUrl = info.ApiBaseUrl, ApiToken = info.ApiToken, DashboardUrls = urls.ToArray(), @@ -363,58 +358,6 @@ public Task GetAppHostInformationAsync(CancellationToken can }); } - /// - /// Gets the Dashboard MCP connection information including endpoint URL and API token. - /// - /// A cancellation token. - /// The MCP connection information, or null if the dashboard is not part of the application model. - public async Task GetDashboardMcpConnectionInfoAsync(CancellationToken cancellationToken = default) - { - var appModel = serviceProvider.GetService(); - if (appModel is null) - { - logger.LogWarning("Application model not found."); - return null; - } - - // Find the dashboard resource - if (appModel.Resources.SingleOrDefault(r => string.Equals(r.Name, KnownResourceNames.AspireDashboard, StringComparisons.ResourceName)) is not IResourceWithEndpoints dashboardResource) - { - logger.LogDebug("Dashboard resource not found in application model."); - return null; - } - - var mcpEndpoint = dashboardResource.GetEndpoint(McpEndpointName); - if (!mcpEndpoint.Exists) - { - logger.LogWarning("Dashboard MCP endpoint not found or not allocated."); - return null; - } - - var endpointUrl = await mcpEndpoint.GetValueAsync(cancellationToken).ConfigureAwait(false); - if (string.IsNullOrEmpty(endpointUrl)) - { - logger.LogWarning("Dashboard MCP endpoint URL is not allocated."); - return null; - } - - // Get the API key from dashboard options - var dashboardOptions = serviceProvider.GetService>(); - var mcpApiKey = dashboardOptions?.Value.McpApiKey; - - if (string.IsNullOrEmpty(mcpApiKey)) - { - logger.LogWarning("Dashboard MCP API key is not available."); - return null; - } - - return new DashboardMcpConnectionInfo - { - EndpointUrl = $"{endpointUrl}/mcp", - ApiToken = mcpApiKey - }; - } - /// /// Gets the Dashboard URLs including the login token. /// @@ -426,6 +369,18 @@ public async Task GetDashboardUrlsAsync(CancellationToken ca return await DashboardUrlsHelper.GetDashboardUrlsAsync(serviceProvider, logger, cancellationToken).ConfigureAwait(false); } + /// + /// Preserved for backwards compatibility with older CLI versions that call this RPC method. + /// Always returns because the dashboard MCP server has been removed. + /// +#pragma warning disable CA1822 // Mark members as static - RPC methods cannot be static + public Task GetDashboardMcpConnectionInfoAsync(CancellationToken cancellationToken = default) + { + _ = cancellationToken; + return Task.FromResult(null); + } +#pragma warning restore CA1822 + /// /// Gets the current resource snapshots for all resources. /// diff --git a/src/Aspire.Hosting/Backchannel/BackchannelDataTypes.cs b/src/Aspire.Hosting/Backchannel/BackchannelDataTypes.cs index 6cf43fcf694..2ca2154b73d 100644 --- a/src/Aspire.Hosting/Backchannel/BackchannelDataTypes.cs +++ b/src/Aspire.Hosting/Backchannel/BackchannelDataTypes.cs @@ -110,16 +110,6 @@ internal sealed class GetDashboardInfoRequest { } ///
internal sealed class GetDashboardInfoResponse { - /// - /// Gets the base URL of the Dashboard MCP endpoint. - /// - public string? McpBaseUrl { get; init; } - - /// - /// Gets the Dashboard MCP API token. - /// - public string? McpApiToken { get; init; } - /// /// Gets the base URL of the Dashboard API (without login token). /// Use this for API calls like /api/telemetry/*. diff --git a/src/Aspire.Hosting/Backchannel/DashboardUrlsHelper.cs b/src/Aspire.Hosting/Backchannel/DashboardUrlsHelper.cs index abc5939d1a8..35577bcb866 100644 --- a/src/Aspire.Hosting/Backchannel/DashboardUrlsHelper.cs +++ b/src/Aspire.Hosting/Backchannel/DashboardUrlsHelper.cs @@ -16,7 +16,6 @@ namespace Aspire.Hosting.Backchannel; /// internal static class DashboardUrlsHelper { - private const string McpEndpointName = "mcp"; /// /// Gets all dashboard connection information in a single call. @@ -60,7 +59,6 @@ await resourceNotificationService.WaitForResourceHealthyAsync( r => string.Equals(r.Name, KnownResourceNames.AspireDashboard, StringComparisons.ResourceName)) as IResourceWithEndpoints; string? apiBaseUrl = null; - string? mcpBaseUrl = null; if (dashboardResource is not null) { @@ -72,17 +70,6 @@ await resourceNotificationService.WaitForResourceHealthyAsync( { apiBaseUrl = await EndpointHostHelpers.GetUrlWithTargetHostAsync(apiEndpoint, cancellationToken).ConfigureAwait(false); } - - // MCP endpoint - var mcpEndpoint = dashboardResource.GetEndpoint(McpEndpointName); - if (mcpEndpoint.Exists) - { - var mcpUrl = await mcpEndpoint.GetValueAsync(cancellationToken).ConfigureAwait(false); - if (!string.IsNullOrEmpty(mcpUrl)) - { - mcpBaseUrl = $"{mcpUrl}/mcp"; - } - } } // Fall back to configured URL if we couldn't get it from the resource @@ -114,8 +101,6 @@ await resourceNotificationService.WaitForResourceHealthyAsync( IsHealthy = true, ApiBaseUrl = apiBaseUrl, ApiToken = dashboardOptions.ApiKey, - McpBaseUrl = mcpBaseUrl, - McpApiToken = dashboardOptions.McpApiKey, BaseUrlWithLoginToken = baseUrlWithLoginToken, CodespacesUrlWithLoginToken = codespacesUrlWithLoginToken }; @@ -154,8 +139,6 @@ internal sealed class DashboardConnectionInfo public bool IsHealthy { get; init; } public string? ApiBaseUrl { get; init; } public string? ApiToken { get; init; } - public string? McpBaseUrl { get; init; } - public string? McpApiToken { get; init; } public string? BaseUrlWithLoginToken { get; init; } public string? CodespacesUrlWithLoginToken { get; init; } } diff --git a/src/Aspire.Hosting/Dashboard/DashboardEventHandlers.cs b/src/Aspire.Hosting/Dashboard/DashboardEventHandlers.cs index 450e5149a99..26a2aa1735a 100644 --- a/src/Aspire.Hosting/Dashboard/DashboardEventHandlers.cs +++ b/src/Aspire.Hosting/Dashboard/DashboardEventHandlers.cs @@ -44,9 +44,6 @@ internal sealed class DashboardEventHandlers(IConfiguration configuration, IFileSystemService directoryService ) : IDistributedApplicationEventingSubscriber, IAsyncDisposable { - // Internal for testing - internal const string McpEndpointName = "mcp"; - // Fallback defaults for framework versions and TFM private const string FallbackTargetFrameworkMoniker = "net8.0"; private const string FallbackNetCoreVersion = "8.0.0"; @@ -367,7 +364,6 @@ private void ConfigureAspireDashboardResource(IResource dashboardResource) var dashboardUrls = options.DashboardUrl; var otlpGrpcEndpointUrl = options.OtlpGrpcEndpointUrl; var otlpHttpEndpointUrl = options.OtlpHttpEndpointUrl; - var mcpEndpointUrl = options.McpEndpointUrl; eventing.Subscribe(dashboardResource, async (@event, cancellationToken) => { @@ -438,16 +434,6 @@ private void ConfigureAspireDashboardResource(IResource dashboardResource) }); } - if (mcpEndpointUrl != null) - { - var address = BindingAddress.Parse(mcpEndpointUrl); - - dashboardResource.Annotations.Add(new EndpointAnnotation(ProtocolType.Tcp, name: McpEndpointName, uriScheme: address.Scheme, port: address.Port, isProxied: true) - { - TargetHost = address.Host - }); - } - // Determine whether any HTTPS endpoints are configured var hasHttpsEndpoint = dashboardResource.TryGetAnnotationsOfType(out var endpoints) && endpoints.Any(e => e.UriScheme is "https"); @@ -549,7 +535,6 @@ internal async Task ConfigureEnvironmentVariables(EnvironmentCallbackContext con var environment = options.AspNetCoreEnvironment; var browserToken = options.DashboardToken; var otlpApiKey = options.OtlpApiKey; - var mcpApiKey = options.McpApiKey; var apiKey = options.ApiKey; var resourceServiceUrl = await dashboardEndpointProvider.GetResourceServiceUriAsync(context.CancellationToken).ConfigureAwait(false); @@ -612,19 +597,7 @@ internal async Task ConfigureEnvironmentVariables(EnvironmentCallbackContext con context.EnvironmentVariables[DashboardConfigNames.DashboardOtlpAuthModeName.EnvVarName] = "Unsecured"; } - // Configure MCP API key. Falls back to ApiKey if McpApiKey not set. - var effectiveMcpApiKey = mcpApiKey ?? apiKey; - if (!string.IsNullOrEmpty(effectiveMcpApiKey)) - { - context.EnvironmentVariables[DashboardConfigNames.DashboardMcpAuthModeName.EnvVarName] = "ApiKey"; - context.EnvironmentVariables[DashboardConfigNames.DashboardMcpPrimaryApiKeyName.EnvVarName] = effectiveMcpApiKey; - } - else - { - context.EnvironmentVariables[DashboardConfigNames.DashboardMcpAuthModeName.EnvVarName] = "Unsecured"; - } - - // Configure API key (for Telemetry API). ApiKey is canonical, no fallback from McpApiKey. + // Configure API key (for Telemetry API). if (!string.IsNullOrEmpty(apiKey)) { context.EnvironmentVariables[DashboardConfigNames.DashboardApiAuthModeName.EnvVarName] = "ApiKey"; @@ -638,9 +611,6 @@ internal async Task ConfigureEnvironmentVariables(EnvironmentCallbackContext con // Enable dashboard API context.EnvironmentVariables[DashboardConfigNames.DashboardAspireApiEnabledName.EnvVarName] = "true"; - // Configure dashboard to show CLI MCP instructions when running with an AppHost (not in standalone mode) - context.EnvironmentVariables[DashboardConfigNames.DashboardMcpUseCliMcpName.EnvVarName] = "true"; - // Change the dashboard formatter to use JSON so we can parse the logs and render them in the // via the ILogger. context.EnvironmentVariables["LOGGING__CONSOLE__FORMATTERNAME"] = "json"; @@ -695,26 +665,6 @@ static ReferenceExpression GetTargetUrlExpression(EndpointReference e) => context.EnvironmentVariables[DashboardConfigNames.DashboardOtlpHttpUrlName.EnvVarName] = GetTargetUrlExpression(otlpHttp); } - var mcp = dashboardResource.GetEndpoint(McpEndpointName, KnownNetworkIdentifiers.LocalhostNetwork); - if (!mcp.Exists) - { - // Fallback to frontend https or http endpoint if not configured. - mcp = dashboardResource.GetEndpoint("https", KnownNetworkIdentifiers.LocalhostNetwork); - if (!mcp.Exists) - { - mcp = dashboardResource.GetEndpoint("http", KnownNetworkIdentifiers.LocalhostNetwork); - } - } - - if (mcp.Exists) - { - // The URL that the dashboard binds to is proxied. We need to set the public URL to the proxied URL. - // This lets the dashboard provide the correct URL to clients. - context.EnvironmentVariables[DashboardConfigNames.DashboardMcpPublicUrlName.EnvVarName] = mcp.Url; - - context.EnvironmentVariables[DashboardConfigNames.DashboardMcpUrlName.EnvVarName] = GetTargetUrlExpression(mcp); - } - var frontendEndpoints = dashboardResource.GetEndpoints(KnownNetworkIdentifiers.LocalhostNetwork).ToList(); var aspnetCoreUrls = new ReferenceExpressionBuilder(); var first = true; diff --git a/src/Aspire.Hosting/Dashboard/DashboardOptions.cs b/src/Aspire.Hosting/Dashboard/DashboardOptions.cs index 9b89d30fd9f..d581c6ae43e 100644 --- a/src/Aspire.Hosting/Dashboard/DashboardOptions.cs +++ b/src/Aspire.Hosting/Dashboard/DashboardOptions.cs @@ -15,8 +15,6 @@ internal class DashboardOptions public string? OtlpGrpcEndpointUrl { get; set; } public string? OtlpHttpEndpointUrl { get; set; } public string? OtlpApiKey { get; set; } - public string? McpEndpointUrl { get; set; } - public string? McpApiKey { get; set; } public string? ApiKey { get; set; } public string AspNetCoreEnvironment { get; set; } = "Production"; public bool? TelemetryOptOut { get; set; } @@ -32,9 +30,7 @@ public void Configure(DashboardOptions options) options.OtlpGrpcEndpointUrl = configuration.GetString(KnownConfigNames.DashboardOtlpGrpcEndpointUrl, KnownConfigNames.Legacy.DashboardOtlpGrpcEndpointUrl); options.OtlpHttpEndpointUrl = configuration.GetString(KnownConfigNames.DashboardOtlpHttpEndpointUrl, KnownConfigNames.Legacy.DashboardOtlpHttpEndpointUrl); - options.McpEndpointUrl = configuration[KnownConfigNames.DashboardMcpEndpointUrl]; options.OtlpApiKey = configuration["AppHost:OtlpApiKey"]; - options.McpApiKey = configuration["AppHost:McpApiKey"]; options.ApiKey = configuration["AppHost:DashboardApiKey"]; options.AspNetCoreEnvironment = configuration["ASPNETCORE_ENVIRONMENT"] ?? "Production"; diff --git a/src/Aspire.Hosting/Dashboard/TransportOptionsValidator.cs b/src/Aspire.Hosting/Dashboard/TransportOptionsValidator.cs index 6211f7859d4..1961f446608 100644 --- a/src/Aspire.Hosting/Dashboard/TransportOptionsValidator.cs +++ b/src/Aspire.Hosting/Dashboard/TransportOptionsValidator.cs @@ -55,13 +55,6 @@ public ValidateOptionsResult Validate(string? name, TransportOptions transportOp return resultHttp; } - // Validate ASPIRE_DASHBOARD_MCP_ENDPOINT_URL - var dashboardMcpEndpointUrl = configuration[KnownConfigNames.DashboardMcpEndpointUrl]; - if (!TryValidateEndpointUrl(KnownConfigNames.DashboardMcpEndpointUrl, dashboardMcpEndpointUrl, out var resultMcp)) - { - return resultMcp; - } - // Validate ASPIRE_DASHBOARD_RESOURCE_SERVER_ENDPOINT_URL var resourceServiceEndpointUrl = configuration.GetString(KnownConfigNames.ResourceServiceEndpointUrl, KnownConfigNames.Legacy.ResourceServiceEndpointUrl); if (string.IsNullOrEmpty(resourceServiceEndpointUrl)) diff --git a/src/Aspire.Hosting/DistributedApplicationBuilder.cs b/src/Aspire.Hosting/DistributedApplicationBuilder.cs index 5807fc48acf..f200184e3fd 100644 --- a/src/Aspire.Hosting/DistributedApplicationBuilder.cs +++ b/src/Aspire.Hosting/DistributedApplicationBuilder.cs @@ -406,14 +406,7 @@ public DistributedApplicationBuilder(DistributedApplicationOptions options) // of persistent containers (as a new key would be a spec change). _userSecretsManager.GetOrSetSecret(_innerBuilder.Configuration, "AppHost:OtlpApiKey", TokenGenerator.GenerateToken); - // Set a random API key for the MCP Server if one isn't already present in configuration. - // If a key is generated, it's stored in the user secrets store so that it will be auto-loaded - // on subsequent runs and not recreated. This is important to ensure it doesn't change the state - // of MCP clients. - _userSecretsManager.GetOrSetSecret(_innerBuilder.Configuration, "AppHost:McpApiKey", TokenGenerator.GenerateToken); - // Set a random API key for the Dashboard Telemetry API if one isn't already present in configuration. - // This is the canonical API key; it also falls back to McpApiKey for MCP if not set. _userSecretsManager.GetOrSetSecret(_innerBuilder.Configuration, "AppHost:DashboardApiKey", TokenGenerator.GenerateToken); // Determine the frontend browser token. diff --git a/src/Aspire.ProjectTemplates/templates/aspire-apphost-singlefile/.template.config/dotnetcli.host.json b/src/Aspire.ProjectTemplates/templates/aspire-apphost-singlefile/.template.config/dotnetcli.host.json index 1e56724e14d..1f14ec66d5a 100644 --- a/src/Aspire.ProjectTemplates/templates/aspire-apphost-singlefile/.template.config/dotnetcli.host.json +++ b/src/Aspire.ProjectTemplates/templates/aspire-apphost-singlefile/.template.config/dotnetcli.host.json @@ -16,12 +16,6 @@ "appHostOtlpHttpsPort": { "isHidden": true }, - "appHostMcpHttpPort": { - "isHidden": true - }, - "appHostMcpHttpsPort": { - "isHidden": true - }, "appHostResourceHttpPort": { "isHidden": true }, diff --git a/src/Aspire.ProjectTemplates/templates/aspire-apphost-singlefile/.template.config/localize/templatestrings.cs.json b/src/Aspire.ProjectTemplates/templates/aspire-apphost-singlefile/.template.config/localize/templatestrings.cs.json index c1bfa2cc707..4938e4f1528 100644 --- a/src/Aspire.ProjectTemplates/templates/aspire-apphost-singlefile/.template.config/localize/templatestrings.cs.json +++ b/src/Aspire.ProjectTemplates/templates/aspire-apphost-singlefile/.template.config/localize/templatestrings.cs.json @@ -1,15 +1,13 @@ -{ +{ "author": "Microsoft", "name": "Hostitel aplikací Aspire pro jednosouborové scénáře", "description": "Minimální Aspire AppHost pro scénáře s jedním souborem (.NET 10 a novější).", "symbols/Framework/choices/net10.0/description": "Cíl net10.0", "symbols/appHostHttpPort/description": "Číslo portu, který se má použít pro koncový bod HTTP v launchSettings.json projektu AppHost.", "symbols/appHostOtlpHttpPort/description": "Číslo portu, který se má použít pro koncový bod HTTP OTLP v launchSettings.json projektu AppHost.", - "symbols/appHostMcpHttpPort/description": "Číslo portu, který se má použít pro koncový bod MCP HTTP v launchSettings.json projektu AppHost.", "symbols/appHostResourceHttpPort/description": "Číslo portu, který se má použít pro koncový bod HTTP služby prostředků v launchSettings.json projektu AppHost.", "symbols/appHostHttpsPort/description": "Číslo portu, který se má použít pro koncový bod HTTPS v launchSettings.json projektu AppHost. Tato možnost se dá použít jenom v případě, že se nepoužívá parametr no-https.", "symbols/appHostOtlpHttpsPort/description": "Číslo portu, který se má použít pro koncový bod HTTPS OTLP v launchSettings.json projektu AppHost.", - "symbols/appHostMcpHttpsPort/description": "Číslo portu, který se má použít pro koncový bod MCP HTTPS v launchSettings.json projektu AppHost.", "symbols/appHostResourceHttpsPort/description": "Číslo portu, který se má použít pro koncový bod HTTPS služby prostředků v launchSettings.json projektu AppHost.", "symbols/NoHttps/description": "Určuje, jestli se má vypnout protokol HTTPS.", "symbols/LocalhostTld/displayName": "Použití TLD .dev.localhost v adrese URL aplikace", diff --git a/src/Aspire.ProjectTemplates/templates/aspire-apphost-singlefile/.template.config/localize/templatestrings.de.json b/src/Aspire.ProjectTemplates/templates/aspire-apphost-singlefile/.template.config/localize/templatestrings.de.json index f608cdd5b39..c1676b06b6e 100644 --- a/src/Aspire.ProjectTemplates/templates/aspire-apphost-singlefile/.template.config/localize/templatestrings.de.json +++ b/src/Aspire.ProjectTemplates/templates/aspire-apphost-singlefile/.template.config/localize/templatestrings.de.json @@ -1,15 +1,13 @@ -{ +{ "author": "Microsoft", "name": "Aspire App-Host für Einzeldateien", "description": "Ein minimaler Aspire AppHost für Einzeldateiszenarien (.NET 10 und höher).", "symbols/Framework/choices/net10.0/description": "Ziel.-NET10.0", "symbols/appHostHttpPort/description": "Portnummer, die für den HTTP-Endpunkt in launchSettings.json des AppHost-Projekts verwendet werden soll.", "symbols/appHostOtlpHttpPort/description": "Portnummer, die für den OTLP-HTTP-Endpunkt in launchSettings.json des AppHost-Projekts verwendet werden soll.", - "symbols/appHostMcpHttpPort/description": "Portnummer, die für den MCP-HTTP-Endpunkt in launchSettings.json des AppHost-Projekts verwendet werden soll.", "symbols/appHostResourceHttpPort/description": "Portnummer, die für den HTTP-Endpunkt des Ressourcendiensts in launchSettings.json des AppHost-Projekts verwendet werden soll.", "symbols/appHostHttpsPort/description": "Portnummer, die für den HTTPS-Endpunkt in launchSettings.json des AppHost-Projekts verwendet werden soll. Diese Option ist nur anwendbar, wenn der Parameter no-https nicht verwendet wird.", "symbols/appHostOtlpHttpsPort/description": "Portnummer, die für den OTLP-HTTPS-Endpunkt in launchSettings.json des AppHost-Projekts verwendet werden soll.", - "symbols/appHostMcpHttpsPort/description": "Portnummer, die für den MCP-HTTPS-Endpunkt in launchSettings.json des AppHost-Projekts verwendet werden soll.", "symbols/appHostResourceHttpsPort/description": "Portnummer, die für den HTTPS-Endpunkt des Ressourcendiensts in launchSettings.json des AppHost-Projekts verwendet werden soll.", "symbols/NoHttps/description": "Ob HTTPS deaktiviert werden soll.", "symbols/LocalhostTld/displayName": "Verwenden der .dev.localhost-TLD in der Anwendungs-URL", diff --git a/src/Aspire.ProjectTemplates/templates/aspire-apphost-singlefile/.template.config/localize/templatestrings.en.json b/src/Aspire.ProjectTemplates/templates/aspire-apphost-singlefile/.template.config/localize/templatestrings.en.json index a252afb4215..bfff1418139 100644 --- a/src/Aspire.ProjectTemplates/templates/aspire-apphost-singlefile/.template.config/localize/templatestrings.en.json +++ b/src/Aspire.ProjectTemplates/templates/aspire-apphost-singlefile/.template.config/localize/templatestrings.en.json @@ -5,11 +5,9 @@ "symbols/Framework/choices/net10.0/description": "Target net10.0", "symbols/appHostHttpPort/description": "Port number to use for the HTTP endpoint in launchSettings.json of the AppHost project.", "symbols/appHostOtlpHttpPort/description": "Port number to use for the OTLP HTTP endpoint in launchSettings.json of the AppHost project.", - "symbols/appHostMcpHttpPort/description": "Port number to use for the MCP HTTP endpoint in launchSettings.json of the AppHost project.", "symbols/appHostResourceHttpPort/description": "Port number to use for the resource service HTTP endpoint in launchSettings.json of the AppHost project.", "symbols/appHostHttpsPort/description": "Port number to use for the HTTPS endpoint in launchSettings.json of the AppHost project. This option is only applicable when the parameter no-https is not used.", "symbols/appHostOtlpHttpsPort/description": "Port number to use for the OTLP HTTPS endpoint in launchSettings.json of the AppHost project.", - "symbols/appHostMcpHttpsPort/description": "Port number to use for the MCP HTTPS endpoint in launchSettings.json of the AppHost project.", "symbols/appHostResourceHttpsPort/description": "Port number to use for the resource service HTTPS endpoint in launchSettings.json of the AppHost project.", "symbols/NoHttps/description": "Whether to turn off HTTPS.", "symbols/LocalhostTld/displayName": "Use the .dev.localhost TLD in the application URL", diff --git a/src/Aspire.ProjectTemplates/templates/aspire-apphost-singlefile/.template.config/localize/templatestrings.es.json b/src/Aspire.ProjectTemplates/templates/aspire-apphost-singlefile/.template.config/localize/templatestrings.es.json index 41488cfd5fd..cfab1534ced 100644 --- a/src/Aspire.ProjectTemplates/templates/aspire-apphost-singlefile/.template.config/localize/templatestrings.es.json +++ b/src/Aspire.ProjectTemplates/templates/aspire-apphost-singlefile/.template.config/localize/templatestrings.es.json @@ -1,15 +1,13 @@ -{ +{ "author": "Microsoft", "name": "Host de aplicaciones de Aspire de un solo archivo", "description": "AppHost mínimo para escenarios de archivo único (.NET 10+).", "symbols/Framework/choices/net10.0/description": "Destino net10.0", "symbols/appHostHttpPort/description": "Número de puerto que se va a usar para el punto de conexión HTTP en launchSettings.json del proyecto AppHost.", "symbols/appHostOtlpHttpPort/description": "Número de puerto que se va a usar para el punto de conexión HTTP de OTLP en launchSettings.json del proyecto AppHost.", - "symbols/appHostMcpHttpPort/description": "Número de puerto que se va a usar para el punto de conexión MCP HTTP en launchSettings.json del proyecto AppHost.", "symbols/appHostResourceHttpPort/description": "Número de puerto que se va a usar para el punto de conexión HTTP del servicio de recursos en launchSettings.json del proyecto AppHost.", "symbols/appHostHttpsPort/description": "Número de puerto que se va a usar para el punto de conexión HTTPS en launchSettings.json del proyecto AppHost. Esta opción solo es aplicable cuando no se usa el parámetro no-https.", "symbols/appHostOtlpHttpsPort/description": "Número de puerto que se va a usar para el punto de conexión HTTPS de OTLP en launchSettings.json del proyecto AppHost.", - "symbols/appHostMcpHttpsPort/description": "Número de puerto que se va a usar para el punto de conexión MCP HTTPS en launchSettings.json del proyecto AppHost.", "symbols/appHostResourceHttpsPort/description": "Número de puerto a usar para el punto de conexión HTTPS del servicio de recursos en launchSettings.json del proyecto AppHost.", "symbols/NoHttps/description": "Si se va a desactivar HTTPS.", "symbols/LocalhostTld/displayName": "Usar el TLD .dev.localhost en la dirección URL de la aplicación", diff --git a/src/Aspire.ProjectTemplates/templates/aspire-apphost-singlefile/.template.config/localize/templatestrings.fr.json b/src/Aspire.ProjectTemplates/templates/aspire-apphost-singlefile/.template.config/localize/templatestrings.fr.json index b8d60ddb09f..48312c124a7 100644 --- a/src/Aspire.ProjectTemplates/templates/aspire-apphost-singlefile/.template.config/localize/templatestrings.fr.json +++ b/src/Aspire.ProjectTemplates/templates/aspire-apphost-singlefile/.template.config/localize/templatestrings.fr.json @@ -1,15 +1,13 @@ -{ +{ "author": "Microsoft", "name": "Hôte d’application à fichier unique Aspire", "description": "AppHost minimal pour les scénarios à fichier unique (.NET 10+).", "symbols/Framework/choices/net10.0/description": "Net10.0 cible", "symbols/appHostHttpPort/description": "Numéro de port à utiliser pour le point de terminaison HTTP dans launchSettings.json du projet AppHost.", "symbols/appHostOtlpHttpPort/description": "Numéro de port à utiliser pour le point de terminaison HTTP OTLP dans launchSettings.json du projet AppHost.", - "symbols/appHostMcpHttpPort/description": "Numéro de port à utiliser pour le point de terminaison HTTP MCP dans launchSettings.json du projet AppHost.", "symbols/appHostResourceHttpPort/description": "Numéro de port à utiliser pour le point de terminaison HTTP du service de ressources dans launchSettings.json du projet AppHost.", "symbols/appHostHttpsPort/description": "Numéro de port à utiliser pour le point de terminaison HTTPS dans launchSettings.json du projet AppHost. Cette option n'est applicable que lorsque le paramètre no-https n'est pas utilisé.", "symbols/appHostOtlpHttpsPort/description": "Numéro de port à utiliser pour le point de terminaison HTTPS OTLP dans launchSettings.json du projet AppHost.", - "symbols/appHostMcpHttpsPort/description": "Numéro de port à utiliser pour le point de terminaison HTTPS MCP dans launchSettings.json du projet AppHost.", "symbols/appHostResourceHttpsPort/description": "Numéro de port à utiliser pour le point de terminaison HTTPS du service de ressources dans launchSettings.json du projet AppHost.", "symbols/NoHttps/description": "Indique s’il faut désactiver HTTPS.", "symbols/LocalhostTld/displayName": "Utilisez le TLD .dev.localhost dans l’URL de l’application", diff --git a/src/Aspire.ProjectTemplates/templates/aspire-apphost-singlefile/.template.config/localize/templatestrings.it.json b/src/Aspire.ProjectTemplates/templates/aspire-apphost-singlefile/.template.config/localize/templatestrings.it.json index 979353336a2..e3b6a0c9746 100644 --- a/src/Aspire.ProjectTemplates/templates/aspire-apphost-singlefile/.template.config/localize/templatestrings.it.json +++ b/src/Aspire.ProjectTemplates/templates/aspire-apphost-singlefile/.template.config/localize/templatestrings.it.json @@ -1,15 +1,13 @@ -{ +{ "author": "Microsoft", "name": "Host dell'app a file singolo Aspire", "description": "AppHost Aspire minimo per scenari a file singolo (.NET 10+).", "symbols/Framework/choices/net10.0/description": "Destinazione net10.0", "symbols/appHostHttpPort/description": "Numero di porta da usare per l'endpoint HTTP in launchSettings.json. del progetto AppHost.", "symbols/appHostOtlpHttpPort/description": "Numero di porta da usare per l'endpoint OTLP HTTP in launchSettings.json. del progetto AppHost.", - "symbols/appHostMcpHttpPort/description": "Numero di porta da usare per l'endpoint MCP HTTP in launchSettings.json. del progetto AppHost.", "symbols/appHostResourceHttpPort/description": "Numero di porta da usare per l'endpoint HTTP del servizio risorse in launchSettings.json del progetto AppHost.", "symbols/appHostHttpsPort/description": "Numero di porta da usare per l'endpoint HTTPS in launchSettings.json. del progetto AppHost. Questa opzione è applicabile solo quando il parametro no-https non viene usato.", "symbols/appHostOtlpHttpsPort/description": "Numero di porta da usare per l'endpoint OTLP HTTPS in launchSettings.json. del progetto AppHost.", - "symbols/appHostMcpHttpsPort/description": "Numero di porta da usare per l'endpoint MCP HTTPS in launchSettings.json. del progetto AppHost.", "symbols/appHostResourceHttpsPort/description": "Numero di porta da usare per l'endpoint HTTPS del servizio risorse in launchSettings.json del progetto AppHost.", "symbols/NoHttps/description": "Indica se disattivare HTTPS.", "symbols/LocalhostTld/displayName": "Usa il TLD .dev.localhost nell'URL dell'applicazione", diff --git a/src/Aspire.ProjectTemplates/templates/aspire-apphost-singlefile/.template.config/localize/templatestrings.ja.json b/src/Aspire.ProjectTemplates/templates/aspire-apphost-singlefile/.template.config/localize/templatestrings.ja.json index a1aaf60d624..e04dbeb6389 100644 --- a/src/Aspire.ProjectTemplates/templates/aspire-apphost-singlefile/.template.config/localize/templatestrings.ja.json +++ b/src/Aspire.ProjectTemplates/templates/aspire-apphost-singlefile/.template.config/localize/templatestrings.ja.json @@ -1,15 +1,13 @@ -{ +{ "author": "Microsoft", "name": "Aspire 単一ファイル アプリ ホスト", "description": "単一ファイル シナリオ向けの最小構成の Aspire AppHost (.NET 10 以降)。", "symbols/Framework/choices/net10.0/description": "ターゲット net10.0", "symbols/appHostHttpPort/description": "AppHost プロジェクトの launchSettings.json の HTTP エンドポイントに使用するポート番号。", "symbols/appHostOtlpHttpPort/description": "AppHost プロジェクトの launchSettings.json で OTLP HTTP エンドポイントに使用するポート番号。", - "symbols/appHostMcpHttpPort/description": "AppHost プロジェクトの launchSettings.json で MCP HTTP エンドポイントに使用するポート番号。", "symbols/appHostResourceHttpPort/description": "AppHost プロジェクトの launchSettings.json のリソース サービス HTTP エンドポイントに使用するポート番号。", "symbols/appHostHttpsPort/description": "AppHost プロジェクトの launchSettings.json の HTTPS エンドポイントに使用するポート番号。このオプションは、パラメーター no-https を使用しない場合にのみ適用されます。", "symbols/appHostOtlpHttpsPort/description": "AppHost プロジェクトの launchSettings.json で OTLP HTTPS エンドポイントに使用するポート番号。", - "symbols/appHostMcpHttpsPort/description": "AppHost プロジェクトの launchSettings.json で MCP HTTPS エンドポイントに使用するポート番号。", "symbols/appHostResourceHttpsPort/description": "AppHost プロジェクトの launchSettings.json のリソース サービス HTTPS エンドポイントに使用するポート番号。", "symbols/NoHttps/description": "HTTPS をオフにするかどうか。", "symbols/LocalhostTld/displayName": "アプリケーション URL で .dev.localhost TLD を使用する", diff --git a/src/Aspire.ProjectTemplates/templates/aspire-apphost-singlefile/.template.config/localize/templatestrings.ko.json b/src/Aspire.ProjectTemplates/templates/aspire-apphost-singlefile/.template.config/localize/templatestrings.ko.json index c837c8b6872..0cdc8555360 100644 --- a/src/Aspire.ProjectTemplates/templates/aspire-apphost-singlefile/.template.config/localize/templatestrings.ko.json +++ b/src/Aspire.ProjectTemplates/templates/aspire-apphost-singlefile/.template.config/localize/templatestrings.ko.json @@ -1,15 +1,13 @@ -{ +{ "author": "Microsoft", "name": "Aspire 단일 파일 앱 호스트", "description": "단일 파일 시나리오(.NET 10+)를 위한 최소한의 Aspire AppHost입니다.", "symbols/Framework/choices/net10.0/description": "대상 net10.0", "symbols/appHostHttpPort/description": "AppHost 프로젝트의 launchSettings.json HTTP 엔드포인트에 사용할 포트 번호입니다.", "symbols/appHostOtlpHttpPort/description": "AppHost 프로젝트의 launchSettings.json OTLP HTTP 엔드포인트에 사용할 포트 번호입니다.", - "symbols/appHostMcpHttpPort/description": "AppHost 프로젝트의 launchSettings.json에서 MCP HTTP 엔드포인트에 사용할 포트 번호입니다.", "symbols/appHostResourceHttpPort/description": "AppHost 프로젝트의 launchSettings.json 리소스 서비스 HTTP 엔드포인트에 사용할 포트 번호입니다.", "symbols/appHostHttpsPort/description": "AppHost 프로젝트의 launchSettings.json HTTPS 엔드포인트에 사용할 포트 번호입니다. 이 옵션은 no-https 매개 변수가 사용되지 않는 경우에만 적용됩니다.", "symbols/appHostOtlpHttpsPort/description": "AppHost 프로젝트의 launchSettings.json OTLP HTTPS 엔드포인트에 사용할 포트 번호입니다.", - "symbols/appHostMcpHttpsPort/description": "AppHost 프로젝트의 launchSettings.json에서 MCP HTTPS 엔드포인트에 사용할 포트 번호입니다.", "symbols/appHostResourceHttpsPort/description": "AppHost 프로젝트의 launchSettings.json 리소스 서비스 HTTPS 엔드포인트에 사용할 포트 번호입니다.", "symbols/NoHttps/description": "HTTPS를 끌지 여부입니다.", "symbols/LocalhostTld/displayName": "애플리케이션 URL에서 .dev.localhost TLD를 사용하세요.", diff --git a/src/Aspire.ProjectTemplates/templates/aspire-apphost-singlefile/.template.config/localize/templatestrings.pl.json b/src/Aspire.ProjectTemplates/templates/aspire-apphost-singlefile/.template.config/localize/templatestrings.pl.json index eb9fc09c06d..8e323d2db0b 100644 --- a/src/Aspire.ProjectTemplates/templates/aspire-apphost-singlefile/.template.config/localize/templatestrings.pl.json +++ b/src/Aspire.ProjectTemplates/templates/aspire-apphost-singlefile/.template.config/localize/templatestrings.pl.json @@ -1,15 +1,13 @@ -{ +{ "author": "Microsoft", "name": "Host AppHost z jednym plikiem platformy Aspire", "description": "Minimalna wersja hosta Aspire AppHost dla scenariuszy z pojedynczym plikiem (co najmniej .NET 10).", "symbols/Framework/choices/net10.0/description": "Docelowa platforma net10.0", "symbols/appHostHttpPort/description": "Numer portu do użycia dla punktu końcowego HTTP w pliku launchSettings.json projektu AppHost.", "symbols/appHostOtlpHttpPort/description": "Numer portu do użycia dla punktu końcowego HTTP OTLP w pliku launchSettings.json projektu AppHost.", - "symbols/appHostMcpHttpPort/description": "Numer portu do użycia dla punktu końcowego HTTP MCP w pliku launchSettings.json projektu AppHost.", "symbols/appHostResourceHttpPort/description": "Numer portu do użycia dla punktu końcowego HTTP usługi zasobów w pliku launchSettings.json projektu AppHost.", "symbols/appHostHttpsPort/description": "Numer portu do użycia dla punktu końcowego HTTPS w pliku launchSettings.json projektu AppHost. Ta opcja ma zastosowanie tylko wtedy, gdy parametr no-https nie jest używany.", "symbols/appHostOtlpHttpsPort/description": "Numer portu do użycia dla punktu końcowego HTTPS OTLP w pliku launchSettings.json projektu AppHost.", - "symbols/appHostMcpHttpsPort/description": "Numer portu do użycia dla punktu końcowego HTTPS MCP w pliku launchSettings.json projektu AppHost.", "symbols/appHostResourceHttpsPort/description": "Numer portu do użycia dla punktu końcowego HTTPS usługi zasobów w pliku launchSettings.json projektu AppHost.", "symbols/NoHttps/description": "Określa, czy wyłączyć protokół HTTPS.", "symbols/LocalhostTld/displayName": "Użyj pliku .dev.localhost TLD w adresie URL aplikacji", diff --git a/src/Aspire.ProjectTemplates/templates/aspire-apphost-singlefile/.template.config/localize/templatestrings.pt-BR.json b/src/Aspire.ProjectTemplates/templates/aspire-apphost-singlefile/.template.config/localize/templatestrings.pt-BR.json index 09e26d6dd20..976fe903ad3 100644 --- a/src/Aspire.ProjectTemplates/templates/aspire-apphost-singlefile/.template.config/localize/templatestrings.pt-BR.json +++ b/src/Aspire.ProjectTemplates/templates/aspire-apphost-singlefile/.template.config/localize/templatestrings.pt-BR.json @@ -1,15 +1,13 @@ -{ +{ "author": "Microsoft", "name": "Host de Aplicativo de Arquivo Único Aspire", "description": "Um AppHost Aspire mínimo para cenários de arquivo único (.NET 10+).", "symbols/Framework/choices/net10.0/description": "Net10.0 de destino", "symbols/appHostHttpPort/description": "Número da porta a ser usado para o ponto de extremidade HTTP launchSettings.json do projeto AppHost.", "symbols/appHostOtlpHttpPort/description": "Número da porta a ser usado para o ponto de extremidade HTTP OTLP launchSettings.json do projeto AppHost.", - "symbols/appHostMcpHttpPort/description": "Número da porta a ser usado para o ponto de extremidade HTTP do MCP launchSettings.json do projeto AppHost.", "symbols/appHostResourceHttpPort/description": "Número da porta a ser usado para o ponto de extremidade HTTP do serviço de recurso launchSettings.json do projeto AppHost.", "symbols/appHostHttpsPort/description": "Número da porta a ser usado para o ponto de extremidade HTTPS launchSettings.json do projeto AppHost. Essa opção só é aplicável quando o parâmetro no-https não é usado.", "symbols/appHostOtlpHttpsPort/description": "Número da porta a ser usado para o ponto de extremidade HTTPS OTLP launchSettings.json do projeto AppHost.", - "symbols/appHostMcpHttpsPort/description": "Número da porta a ser usado para o ponto de extremidade HTTPS do MCP launchSettings.json do projeto AppHost.", "symbols/appHostResourceHttpsPort/description": "Número da porta a ser usado para o ponto de extremidade HTTPS do serviço de recurso launchSettings.json do projeto AppHost.", "symbols/NoHttps/description": "Se o HTTPS deve ser desativado.", "symbols/LocalhostTld/displayName": "Usar o TLD .dev.localhost na URL do aplicativo", diff --git a/src/Aspire.ProjectTemplates/templates/aspire-apphost-singlefile/.template.config/localize/templatestrings.ru.json b/src/Aspire.ProjectTemplates/templates/aspire-apphost-singlefile/.template.config/localize/templatestrings.ru.json index 7981b7adc5b..eeff03436b7 100644 --- a/src/Aspire.ProjectTemplates/templates/aspire-apphost-singlefile/.template.config/localize/templatestrings.ru.json +++ b/src/Aspire.ProjectTemplates/templates/aspire-apphost-singlefile/.template.config/localize/templatestrings.ru.json @@ -1,15 +1,13 @@ -{ +{ "author": "Майкрософт", "name": "Хост однофайловых приложений Aspire", "description": "Минимальный Aspire AppHost для сценариев с одним файлом (.NET 10+).", "symbols/Framework/choices/net10.0/description": "Целевая платформа .NET 10.0", "symbols/appHostHttpPort/description": "Номер порта, который будет использоваться для конечной точки HTTP в файле launchSettings.json проекта AppHost.", "symbols/appHostOtlpHttpPort/description": "Номер порта, который будет использоваться для конечной точки HTTP OTLP в файле launchSettings.json проекта AppHost.", - "symbols/appHostMcpHttpPort/description": "Номер порта для использования в конечной точке MCP HTTP в launchSettings.json проекта AppHost.", "symbols/appHostResourceHttpPort/description": "Номер порта, который будет использоваться для конечной точки HTTP службы ресурсов в файле launchSettings.json проекта AppHost.", "symbols/appHostHttpsPort/description": "Номер порта, который будет использоваться для конечной точки HTTPS в файле launchSettings.json проекта AppHost. Этот параметр применим только в том случае, если NO-HTTP не используется.", "symbols/appHostOtlpHttpsPort/description": "Номер порта, который будет использоваться для конечной точки OTLP HTTPS в файле launchSettings.json проекта AppHost.", - "symbols/appHostMcpHttpsPort/description": "Номер порта для использования в конечной точке MCP HTTPS в launchSettings.json проекта AppHost.", "symbols/appHostResourceHttpsPort/description": "Номер порта, который будет использоваться для конечной точки HTTPS службы ресурсов в файле launchSettings.json проекта AppHost.", "symbols/NoHttps/description": "Следует ли отключить HTTPS.", "symbols/LocalhostTld/displayName": "Используйте домен верхнего уровня .dev.localhost в URL-адресе приложения", diff --git a/src/Aspire.ProjectTemplates/templates/aspire-apphost-singlefile/.template.config/localize/templatestrings.tr.json b/src/Aspire.ProjectTemplates/templates/aspire-apphost-singlefile/.template.config/localize/templatestrings.tr.json index f15fd91c66e..5004e070889 100644 --- a/src/Aspire.ProjectTemplates/templates/aspire-apphost-singlefile/.template.config/localize/templatestrings.tr.json +++ b/src/Aspire.ProjectTemplates/templates/aspire-apphost-singlefile/.template.config/localize/templatestrings.tr.json @@ -1,15 +1,13 @@ -{ +{ "author": "Microsoft", "name": "Aspire Tek Dosya Uygulama Ana İşlemi", "description": "Tek dosya senaryoları için minimal Aspire Uygulama Ana İşlemi (.NET 10+).", "symbols/Framework/choices/net10.0/description": "Hedef net10.0", "symbols/appHostHttpPort/description": "AppHost projesinin HTTP uç noktası launchSettings.json bağlantı noktası numarası.", "symbols/appHostOtlpHttpPort/description": "AppHost projesinin OTLP HTTP uç noktası launchSettings.json bağlantı noktası numarası.", - "symbols/appHostMcpHttpPort/description": "AppHost projesinin launchSettings.json dosyasında MCP HTTP uç noktası için kullanılacak bağlantı noktası numarası.", "symbols/appHostResourceHttpPort/description": "AppHost projesinin kaynak hizmeti HTTP uç noktası launchSettings.json bağlantı noktası numarası.", "symbols/appHostHttpsPort/description": "AppHost projesinin HTTPS uç noktası launchSettings.json bağlantı noktası numarası. Bu seçenek yalnızca no-https parametresi kullanılmadığında uygulanabilir.", "symbols/appHostOtlpHttpsPort/description": "AppHost projesinin OTLP HTTPS uç noktası launchSettings.json bağlantı noktası numarası.", - "symbols/appHostMcpHttpsPort/description": "AppHost projesinin launchSettings.json dosyasında MCP HTTPS uç noktası için kullanılacak bağlantı noktası numarası.", "symbols/appHostResourceHttpsPort/description": "AppHost projesinin kaynak hizmeti HTTPS uç noktası launchSettings.json bağlantı noktası numarası.", "symbols/NoHttps/description": "HTTPS'nin kapatılıp kapatılmayacağı.", "symbols/LocalhostTld/displayName": "Uygulama URL'sinde .dev.localhost TLD'sini kullanın.", diff --git a/src/Aspire.ProjectTemplates/templates/aspire-apphost-singlefile/.template.config/localize/templatestrings.zh-Hans.json b/src/Aspire.ProjectTemplates/templates/aspire-apphost-singlefile/.template.config/localize/templatestrings.zh-Hans.json index 5883bbec563..e3110c65f33 100644 --- a/src/Aspire.ProjectTemplates/templates/aspire-apphost-singlefile/.template.config/localize/templatestrings.zh-Hans.json +++ b/src/Aspire.ProjectTemplates/templates/aspire-apphost-singlefile/.template.config/localize/templatestrings.zh-Hans.json @@ -1,15 +1,13 @@ -{ +{ "author": "Microsoft", "name": "Aspire 单文件应用主机", "description": "适用于单文件方案的最小 Aspire AppHost (.NET 10+)。", "symbols/Framework/choices/net10.0/description": "目标 net10.0", "symbols/appHostHttpPort/description": "该端口号将用于 AppHost 项目的 launchSettings.json 中的 HTTP 终结点。", "symbols/appHostOtlpHttpPort/description": "该端口号将用于 AppHost 项目的 launchSettings.json 中的 OTLP HTTP 终结点。", - "symbols/appHostMcpHttpPort/description": "用于 AppHost 项目的 launchSettings.json 中 MCP HTTP 终结点的端口号。", "symbols/appHostResourceHttpPort/description": "该端口号将用于 AppHost 项目的 launchSettings.json 中的资源服务 HTTP 终结点。", "symbols/appHostHttpsPort/description": "该端口号将用于 AppHost 项目的 launchSettings.json 中的 HTTPS 终结点。仅当不使用参数 no-https 时,此选项才适用。", "symbols/appHostOtlpHttpsPort/description": "该端口号将用于 AppHost 项目的 launchSettings.json 中的 OTLP HTTPS 终结点。", - "symbols/appHostMcpHttpsPort/description": "用于 AppHost 项目的 launchSettings.json 中 MCP HTTPS 终结点的端口号。", "symbols/appHostResourceHttpsPort/description": "该端口号将用于 AppHost 项目的 launchSettings.json 中的资源服务 HTTPS 终结点。", "symbols/NoHttps/description": "是否禁用 HTTPS。", "symbols/LocalhostTld/displayName": "在应用程序 URL 中使用 .dev.localhost TLD", diff --git a/src/Aspire.ProjectTemplates/templates/aspire-apphost-singlefile/.template.config/localize/templatestrings.zh-Hant.json b/src/Aspire.ProjectTemplates/templates/aspire-apphost-singlefile/.template.config/localize/templatestrings.zh-Hant.json index a1a47ce6523..120d6343f0e 100644 --- a/src/Aspire.ProjectTemplates/templates/aspire-apphost-singlefile/.template.config/localize/templatestrings.zh-Hant.json +++ b/src/Aspire.ProjectTemplates/templates/aspire-apphost-singlefile/.template.config/localize/templatestrings.zh-Hant.json @@ -1,15 +1,13 @@ -{ +{ "author": "Microsoft", "name": "Aspire 單一檔案主控處理程序", "description": "適用於單一檔案案例的精簡版 Aspire AppHost (.NET 10+)。", "symbols/Framework/choices/net10.0/description": "目標 net10.0", "symbols/appHostHttpPort/description": "要用於 AppHost 專案 launchSettings.json 中 HTTP 端點的連接埠號碼。", "symbols/appHostOtlpHttpPort/description": "要用於 AppHost 專案 launchSettings.json 中 OTLP HTTP 端點的連接埠號碼。", - "symbols/appHostMcpHttpPort/description": "要用於 AppHost 專案 launchSettings.json 中 MCP HTTP 端點的連接埠號碼。", "symbols/appHostResourceHttpPort/description": "要用於 AppHost 專案 launchSettings.json 中資源服務 HTTP 端點的連接埠號碼。", "symbols/appHostHttpsPort/description": "要用於 AppHost 專案 launchSettings.json 中 HTTPS 端點的連接埠號碼。只有在未使用參數 no-https 時,才適用此選項。", "symbols/appHostOtlpHttpsPort/description": "要用於 AppHost 專案 launchSettings.json 中 OTLP HTTPS 端點的連接埠號碼。", - "symbols/appHostMcpHttpsPort/description": "要用於 AppHost 專案 launchSettings.json 中 MCP HTTPS 端點的連接埠號碼。", "symbols/appHostResourceHttpsPort/description": "要用於 AppHost 專案 launchSettings.json 中資源服務 HTTPS 端點的連接埠號碼。", "symbols/NoHttps/description": "是否要關閉 HTTPS。", "symbols/LocalhostTld/displayName": "在應用程式 URL 中使用 .dev.localhost TLD", diff --git a/src/Aspire.ProjectTemplates/templates/aspire-apphost-singlefile/.template.config/template.json b/src/Aspire.ProjectTemplates/templates/aspire-apphost-singlefile/.template.config/template.json index e044e2f9b22..fda39187330 100644 --- a/src/Aspire.ProjectTemplates/templates/aspire-apphost-singlefile/.template.config/template.json +++ b/src/Aspire.ProjectTemplates/templates/aspire-apphost-singlefile/.template.config/template.json @@ -93,28 +93,6 @@ }, "replaces": "19000" }, - "appHostMcpHttpPort": { - "type": "parameter", - "datatype": "integer", - "description": "Port number to use for the MCP HTTP endpoint in launchSettings.json of the AppHost project." - }, - "appHostMcpHttpPortGenerated": { - "type": "generated", - "generator": "port", - "parameters": { - "low": 18000, - "high": 18300 - } - }, - "appHostMcpHttpPortReplacer": { - "type": "generated", - "generator": "coalesce", - "parameters": { - "sourceVariableName": "appHostMcpHttpPort", - "fallbackVariableName": "appHostMcpHttpPortGenerated" - }, - "replaces": "18000" - }, "appHostResourceHttpPort": { "type": "parameter", "datatype": "integer", @@ -181,28 +159,6 @@ }, "replaces": "21000" }, - "appHostMcpHttpsPort": { - "type": "parameter", - "datatype": "integer", - "description": "Port number to use for the MCP HTTPS endpoint in launchSettings.json of the AppHost project." - }, - "appHostMcpHttpsPortGenerated": { - "type": "generated", - "generator": "port", - "parameters": { - "low": 23000, - "high": 23300 - } - }, - "appHostMcpHttpsPortReplacer": { - "type": "generated", - "generator": "coalesce", - "parameters": { - "sourceVariableName": "appHostMcpHttpsPort", - "fallbackVariableName": "appHostMcpHttpsPortGenerated" - }, - "replaces": "23000" - }, "appHostResourceHttpsPort": { "type": "parameter", "datatype": "integer", diff --git a/src/Aspire.ProjectTemplates/templates/aspire-apphost-singlefile/apphost.run.json b/src/Aspire.ProjectTemplates/templates/aspire-apphost-singlefile/apphost.run.json index 70d9b9ae359..83df4bced7d 100644 --- a/src/Aspire.ProjectTemplates/templates/aspire-apphost-singlefile/apphost.run.json +++ b/src/Aspire.ProjectTemplates/templates/aspire-apphost-singlefile/apphost.run.json @@ -15,7 +15,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "https://localhost:21000", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "https://localhost:23000", "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "https://localhost:22000" } }, @@ -33,7 +32,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "http://localhost:19000", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "http://localhost:18000", "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "http://localhost:20000" } } diff --git a/src/Aspire.ProjectTemplates/templates/aspire-apphost/.template.config/dotnetcli.host.json b/src/Aspire.ProjectTemplates/templates/aspire-apphost/.template.config/dotnetcli.host.json index 94c9b2b29bd..231bda117a0 100644 --- a/src/Aspire.ProjectTemplates/templates/aspire-apphost/.template.config/dotnetcli.host.json +++ b/src/Aspire.ProjectTemplates/templates/aspire-apphost/.template.config/dotnetcli.host.json @@ -20,12 +20,6 @@ "appHostOtlpHttpsPort": { "isHidden": true }, - "appHostMcpHttpPort": { - "isHidden": true - }, - "appHostMcpHttpsPort": { - "isHidden": true - }, "appHostResourceHttpPort": { "isHidden": true }, diff --git a/src/Aspire.ProjectTemplates/templates/aspire-apphost/.template.config/localize/templatestrings.cs.json b/src/Aspire.ProjectTemplates/templates/aspire-apphost/.template.config/localize/templatestrings.cs.json index b26536f0841..b174fdeffe6 100644 --- a/src/Aspire.ProjectTemplates/templates/aspire-apphost/.template.config/localize/templatestrings.cs.json +++ b/src/Aspire.ProjectTemplates/templates/aspire-apphost/.template.config/localize/templatestrings.cs.json @@ -1,4 +1,4 @@ -{ +{ "author": "Microsoft", "name": "Aspire AppHost", "description": "Šablona projektu pro vytvoření projektu Aspire AppHost (orchestrátor).", @@ -8,11 +8,9 @@ "symbols/Framework/choices/net10.0/description": "Cíl net10.0", "symbols/appHostHttpPort/description": "Číslo portu, který se má použít pro koncový bod HTTP v launchSettings.json projektu AppHost.", "symbols/appHostOtlpHttpPort/description": "Číslo portu, který se má použít pro koncový bod HTTP OTLP v launchSettings.json projektu AppHost.", - "symbols/appHostMcpHttpPort/description": "Číslo portu, který se má použít pro koncový bod MCP HTTP v launchSettings.json projektu AppHost.", "symbols/appHostResourceHttpPort/description": "Číslo portu, který se má použít pro koncový bod HTTP služby prostředků v launchSettings.json projektu AppHost.", "symbols/appHostHttpsPort/description": "Číslo portu, který se má použít pro koncový bod HTTPS v launchSettings.json projektu AppHost. Tato možnost se dá použít jenom v případě, že se nepoužívá parametr no-https.", "symbols/appHostOtlpHttpsPort/description": "Číslo portu, který se má použít pro koncový bod HTTPS OTLP v launchSettings.json projektu AppHost.", - "symbols/appHostMcpHttpsPort/description": "Číslo portu, který se má použít pro koncový bod MCP HTTPS v launchSettings.json projektu AppHost.", "symbols/appHostResourceHttpsPort/description": "Číslo portu, který se má použít pro koncový bod HTTPS služby prostředků v launchSettings.json projektu AppHost.", "symbols/skipRestore/description": "Pokud se tato možnost zadá, přeskočí automatické obnovení projektu při vytvoření.", "symbols/NoHttps/description": "Určuje, jestli se má vypnout protokol HTTPS.", diff --git a/src/Aspire.ProjectTemplates/templates/aspire-apphost/.template.config/localize/templatestrings.de.json b/src/Aspire.ProjectTemplates/templates/aspire-apphost/.template.config/localize/templatestrings.de.json index 22cb160fde3..5facdd8be14 100644 --- a/src/Aspire.ProjectTemplates/templates/aspire-apphost/.template.config/localize/templatestrings.de.json +++ b/src/Aspire.ProjectTemplates/templates/aspire-apphost/.template.config/localize/templatestrings.de.json @@ -1,4 +1,4 @@ -{ +{ "author": "Microsoft", "name": "Aspire-AppHost", "description": "Eine Projektvorlage zum Erstellen eines Aspire-AppHost-Projekts (Orchestrator).", @@ -8,11 +8,9 @@ "symbols/Framework/choices/net10.0/description": "Ziel.-NET10.0", "symbols/appHostHttpPort/description": "Portnummer, die für den HTTP-Endpunkt in launchSettings.json des AppHost-Projekts verwendet werden soll.", "symbols/appHostOtlpHttpPort/description": "Portnummer, die für den OTLP-HTTP-Endpunkt in launchSettings.json des AppHost-Projekts verwendet werden soll.", - "symbols/appHostMcpHttpPort/description": "Portnummer, die für den MCP-HTTP-Endpunkt in launchSettings.json des AppHost-Projekts verwendet werden soll.", "symbols/appHostResourceHttpPort/description": "Portnummer, die für den HTTP-Endpunkt des Ressourcendiensts in launchSettings.json des AppHost-Projekts verwendet werden soll.", "symbols/appHostHttpsPort/description": "Portnummer, die für den HTTPS-Endpunkt in launchSettings.json des AppHost-Projekts verwendet werden soll. Diese Option ist nur anwendbar, wenn der Parameter no-https nicht verwendet wird.", "symbols/appHostOtlpHttpsPort/description": "Portnummer, die für den OTLP-HTTPS-Endpunkt in launchSettings.json des AppHost-Projekts verwendet werden soll.", - "symbols/appHostMcpHttpsPort/description": "Portnummer, die für den MCP-HTTPS-Endpunkt in launchSettings.json des AppHost-Projekts verwendet werden soll.", "symbols/appHostResourceHttpsPort/description": "Portnummer, die für den HTTPS-Endpunkt des Ressourcendiensts in launchSettings.json des AppHost-Projekts verwendet werden soll.", "symbols/skipRestore/description": "Wenn angegeben, wird die automatische Wiederherstellung des Projekts beim Erstellen übersprungen.", "symbols/NoHttps/description": "Ob HTTPS deaktiviert werden soll.", diff --git a/src/Aspire.ProjectTemplates/templates/aspire-apphost/.template.config/localize/templatestrings.en.json b/src/Aspire.ProjectTemplates/templates/aspire-apphost/.template.config/localize/templatestrings.en.json index ea50bced5d8..3e0ed7d2bcd 100644 --- a/src/Aspire.ProjectTemplates/templates/aspire-apphost/.template.config/localize/templatestrings.en.json +++ b/src/Aspire.ProjectTemplates/templates/aspire-apphost/.template.config/localize/templatestrings.en.json @@ -8,11 +8,9 @@ "symbols/Framework/choices/net10.0/description": "Target net10.0", "symbols/appHostHttpPort/description": "Port number to use for the HTTP endpoint in launchSettings.json of the AppHost project.", "symbols/appHostOtlpHttpPort/description": "Port number to use for the OTLP HTTP endpoint in launchSettings.json of the AppHost project.", - "symbols/appHostMcpHttpPort/description": "Port number to use for the MCP HTTP endpoint in launchSettings.json of the AppHost project.", "symbols/appHostResourceHttpPort/description": "Port number to use for the resource service HTTP endpoint in launchSettings.json of the AppHost project.", "symbols/appHostHttpsPort/description": "Port number to use for the HTTPS endpoint in launchSettings.json of the AppHost project. This option is only applicable when the parameter no-https is not used.", "symbols/appHostOtlpHttpsPort/description": "Port number to use for the OTLP HTTPS endpoint in launchSettings.json of the AppHost project.", - "symbols/appHostMcpHttpsPort/description": "Port number to use for the MCP HTTPS endpoint in launchSettings.json of the AppHost project.", "symbols/appHostResourceHttpsPort/description": "Port number to use for the resource service HTTPS endpoint in launchSettings.json of the AppHost project.", "symbols/skipRestore/description": "If specified, skips the automatic restore of the project on create.", "symbols/NoHttps/description": "Whether to turn off HTTPS.", diff --git a/src/Aspire.ProjectTemplates/templates/aspire-apphost/.template.config/localize/templatestrings.es.json b/src/Aspire.ProjectTemplates/templates/aspire-apphost/.template.config/localize/templatestrings.es.json index 283a96bad6b..5df6e3d49fb 100644 --- a/src/Aspire.ProjectTemplates/templates/aspire-apphost/.template.config/localize/templatestrings.es.json +++ b/src/Aspire.ProjectTemplates/templates/aspire-apphost/.template.config/localize/templatestrings.es.json @@ -1,4 +1,4 @@ -{ +{ "author": "Microsoft", "name": "Aspire AppHost", "description": "Una plantilla de proyecto para crear un proyecto de Aspire AppHost (orquestador).", @@ -8,11 +8,9 @@ "symbols/Framework/choices/net10.0/description": "Destino net10.0", "symbols/appHostHttpPort/description": "Número de puerto que se va a usar para el punto de conexión HTTP en launchSettings.json del proyecto AppHost.", "symbols/appHostOtlpHttpPort/description": "Número de puerto que se va a usar para el punto de conexión HTTP de OTLP en launchSettings.json del proyecto AppHost.", - "symbols/appHostMcpHttpPort/description": "Número de puerto que se va a usar para el punto de conexión MCP HTTP en launchSettings.json del proyecto AppHost.", "symbols/appHostResourceHttpPort/description": "Número de puerto que se va a usar para el punto de conexión HTTP del servicio de recursos en launchSettings.json del proyecto AppHost.", "symbols/appHostHttpsPort/description": "Número de puerto que se va a usar para el punto de conexión HTTPS en launchSettings.json del proyecto AppHost. Esta opción solo es aplicable cuando no se usa el parámetro no-https.", "symbols/appHostOtlpHttpsPort/description": "Número de puerto a usar para el punto de conexión HTTPS de la OTLP en launchSettings.json del proyecto AppHost.", - "symbols/appHostMcpHttpsPort/description": "Número de puerto que se va a usar para el punto de conexión MCP HTTPS en launchSettings.json del proyecto AppHost.", "symbols/appHostResourceHttpsPort/description": "Número de puerto a usar para el punto de conexión HTTPS del servicio de recursos en launchSettings.json del proyecto AppHost.", "symbols/skipRestore/description": "Si se especifica, se omite la restauración automática del proyecto durante la creación.", "symbols/NoHttps/description": "Si se va a desactivar HTTPS.", diff --git a/src/Aspire.ProjectTemplates/templates/aspire-apphost/.template.config/localize/templatestrings.fr.json b/src/Aspire.ProjectTemplates/templates/aspire-apphost/.template.config/localize/templatestrings.fr.json index 3173ca041b8..63fe8a839c9 100644 --- a/src/Aspire.ProjectTemplates/templates/aspire-apphost/.template.config/localize/templatestrings.fr.json +++ b/src/Aspire.ProjectTemplates/templates/aspire-apphost/.template.config/localize/templatestrings.fr.json @@ -1,4 +1,4 @@ -{ +{ "author": "Microsoft", "name": "AppHost Aspire", "description": "Modèle de projet pour la création d’un projet AppHost Aspire (orchestrateur).", @@ -8,11 +8,9 @@ "symbols/Framework/choices/net10.0/description": "Net10.0 cible", "symbols/appHostHttpPort/description": "Numéro de port à utiliser pour le point de terminaison HTTP dans launchSettings.json du projet AppHost.", "symbols/appHostOtlpHttpPort/description": "Numéro de port à utiliser pour le point de terminaison HTTP OTLP dans launchSettings.json du projet AppHost.", - "symbols/appHostMcpHttpPort/description": "Numéro de port à utiliser pour le point de terminaison HTTP MCP dans launchSettings.json du projet AppHost.", "symbols/appHostResourceHttpPort/description": "Numéro de port à utiliser pour le point de terminaison HTTP du service de ressources dans launchSettings.json du projet AppHost.", "symbols/appHostHttpsPort/description": "Numéro de port à utiliser pour le point de terminaison HTTPS dans launchSettings.json du projet AppHost. Cette option n'est applicable que lorsque le paramètre no-https n'est pas utilisé.", "symbols/appHostOtlpHttpsPort/description": "Numéro de port à utiliser pour le point de terminaison HTTPS OTLP dans launchSettings.json du projet AppHost.", - "symbols/appHostMcpHttpsPort/description": "Numéro de port à utiliser pour le point de terminaison HTTPS MCP dans launchSettings.json du projet AppHost.", "symbols/appHostResourceHttpsPort/description": "Numéro de port à utiliser pour le point de terminaison HTTPS du service de ressources dans launchSettings.json du projet AppHost.", "symbols/skipRestore/description": "S’il est spécifié, ignore la restauration automatique du projet lors de la création.", "symbols/NoHttps/description": "Indique s’il faut désactiver HTTPS.", diff --git a/src/Aspire.ProjectTemplates/templates/aspire-apphost/.template.config/localize/templatestrings.it.json b/src/Aspire.ProjectTemplates/templates/aspire-apphost/.template.config/localize/templatestrings.it.json index f5b5d8334f0..184234a17b5 100644 --- a/src/Aspire.ProjectTemplates/templates/aspire-apphost/.template.config/localize/templatestrings.it.json +++ b/src/Aspire.ProjectTemplates/templates/aspire-apphost/.template.config/localize/templatestrings.it.json @@ -1,4 +1,4 @@ -{ +{ "author": "Microsoft", "name": "AppHost di Aspire", "description": "Modello di progetto per la creazione di un progetto AppHost di Aspire (agente di orchestrazione).", @@ -8,11 +8,9 @@ "symbols/Framework/choices/net10.0/description": "Destinazione net10.0", "symbols/appHostHttpPort/description": "Numero di porta da usare per l'endpoint HTTP in launchSettings.json. del progetto AppHost.", "symbols/appHostOtlpHttpPort/description": "Numero di porta da usare per l'endpoint OTLP HTTP in launchSettings.json. del progetto AppHost.", - "symbols/appHostMcpHttpPort/description": "Numero di porta da usare per l'endpoint MCP HTTP in launchSettings.json. del progetto AppHost.", "symbols/appHostResourceHttpPort/description": "Numero di porta da usare per l'endpoint HTTP del servizio risorse in launchSettings.json del progetto AppHost.", "symbols/appHostHttpsPort/description": "Numero di porta da usare per l'endpoint HTTPS in launchSettings.json. del progetto AppHost. Questa opzione è applicabile solo quando il parametro no-https non viene usato.", "symbols/appHostOtlpHttpsPort/description": "Numero di porta da usare per l'endpoint OTLP HTTPS in launchSettings.json. del progetto AppHost.", - "symbols/appHostMcpHttpsPort/description": "Numero di porta da usare per l'endpoint MCP HTTPS in launchSettings.json. del progetto AppHost.", "symbols/appHostResourceHttpsPort/description": "Numero di porta da usare per l'endpoint HTTPS del servizio risorse in launchSettings.json del progetto AppHost.", "symbols/skipRestore/description": "Se specificato, ignora il ripristino automatico del progetto durante la creazione.", "symbols/NoHttps/description": "Indica se disattivare HTTPS.", diff --git a/src/Aspire.ProjectTemplates/templates/aspire-apphost/.template.config/localize/templatestrings.ja.json b/src/Aspire.ProjectTemplates/templates/aspire-apphost/.template.config/localize/templatestrings.ja.json index 0ea38d501c1..2513464c4ff 100644 --- a/src/Aspire.ProjectTemplates/templates/aspire-apphost/.template.config/localize/templatestrings.ja.json +++ b/src/Aspire.ProjectTemplates/templates/aspire-apphost/.template.config/localize/templatestrings.ja.json @@ -1,4 +1,4 @@ -{ +{ "author": "Microsoft", "name": "Aspire AppHost", "description": "Aspire AppHost (オーケストレーター) プロジェクトを作成するためのプロジェクト テンプレート。", @@ -8,11 +8,9 @@ "symbols/Framework/choices/net10.0/description": "ターゲット net10.0", "symbols/appHostHttpPort/description": "AppHost プロジェクトの launchSettings.json の HTTP エンドポイントに使用するポート番号。", "symbols/appHostOtlpHttpPort/description": "AppHost プロジェクトの launchSettings.json で OTLP HTTP エンドポイントに使用するポート番号。", - "symbols/appHostMcpHttpPort/description": "AppHost プロジェクトの launchSettings.json で MCP HTTP エンドポイント向けに使用するポート番号。", "symbols/appHostResourceHttpPort/description": "AppHost プロジェクトの launchSettings.json のリソース サービス HTTP エンドポイントに使用するポート番号。", "symbols/appHostHttpsPort/description": "AppHost プロジェクトの launchSettings.json の HTTPS エンドポイントに使用するポート番号。このオプションは、パラメーター no-https を使用しない場合にのみ適用されます。", "symbols/appHostOtlpHttpsPort/description": "AppHost プロジェクトの launchSettings.json で OTLP HTTPS エンドポイントに使用するポート番号。", - "symbols/appHostMcpHttpsPort/description": "AppHost プロジェクトの launchSettings.json で MCP HTTPS エンドポイント向けに使用するポート番号。", "symbols/appHostResourceHttpsPort/description": "AppHost プロジェクトの launchSettings.json のリソース サービス HTTPS エンドポイントに使用するポート番号。", "symbols/skipRestore/description": "指定した場合、作成時にプロジェクトの自動復元がスキップされます。", "symbols/NoHttps/description": "HTTPS をオフにするかどうか。", diff --git a/src/Aspire.ProjectTemplates/templates/aspire-apphost/.template.config/localize/templatestrings.ko.json b/src/Aspire.ProjectTemplates/templates/aspire-apphost/.template.config/localize/templatestrings.ko.json index 3eeae76f96d..79fcc37b1b2 100644 --- a/src/Aspire.ProjectTemplates/templates/aspire-apphost/.template.config/localize/templatestrings.ko.json +++ b/src/Aspire.ProjectTemplates/templates/aspire-apphost/.template.config/localize/templatestrings.ko.json @@ -1,4 +1,4 @@ -{ +{ "author": "Microsoft", "name": "Aspire AppHost", "description": "Aspire 앱 호스트(오케스트레이터) 프로젝트를 만들기 위한 프로젝트 템플릿입니다.", @@ -8,11 +8,9 @@ "symbols/Framework/choices/net10.0/description": "대상 net10.0", "symbols/appHostHttpPort/description": "AppHost 프로젝트의 launchSettings.json HTTP 엔드포인트에 사용할 포트 번호입니다.", "symbols/appHostOtlpHttpPort/description": "AppHost 프로젝트의 launchSettings.json OTLP HTTP 엔드포인트에 사용할 포트 번호입니다.", - "symbols/appHostMcpHttpPort/description": "AppHost 프로젝트의 launchSettings.json에서 MCP HTTP 엔드포인트에 사용할 포트 번호입니다.", "symbols/appHostResourceHttpPort/description": "AppHost 프로젝트의 launchSettings.json 리소스 서비스 HTTP 엔드포인트에 사용할 포트 번호입니다.", "symbols/appHostHttpsPort/description": "AppHost 프로젝트의 launchSettings.json HTTPS 엔드포인트에 사용할 포트 번호입니다. 이 옵션은 no-https 매개 변수가 사용되지 않는 경우에만 적용됩니다.", "symbols/appHostOtlpHttpsPort/description": "AppHost 프로젝트의 launchSettings.json OTLP HTTPS 엔드포인트에 사용할 포트 번호입니다.", - "symbols/appHostMcpHttpsPort/description": "AppHost 프로젝트의 launchSettings.json에서 MCP HTTPS 엔드포인트에 사용할 포트 번호입니다.", "symbols/appHostResourceHttpsPort/description": "AppHost 프로젝트의 launchSettings.json 리소스 서비스 HTTPS 엔드포인트에 사용할 포트 번호입니다.", "symbols/skipRestore/description": "지정된 경우, 프로젝트 생성 시 자동 복원을 건너뜁니다.", "symbols/NoHttps/description": "HTTPS를 끌지 여부입니다.", diff --git a/src/Aspire.ProjectTemplates/templates/aspire-apphost/.template.config/localize/templatestrings.pl.json b/src/Aspire.ProjectTemplates/templates/aspire-apphost/.template.config/localize/templatestrings.pl.json index 6fe3ea57d7a..696d704e292 100644 --- a/src/Aspire.ProjectTemplates/templates/aspire-apphost/.template.config/localize/templatestrings.pl.json +++ b/src/Aspire.ProjectTemplates/templates/aspire-apphost/.template.config/localize/templatestrings.pl.json @@ -1,4 +1,4 @@ -{ +{ "author": "Microsoft", "name": "Aspire AppHost", "description": "Szablon projektu służący do tworzenia projektu Aspire AppHost (orchestrator).", @@ -8,11 +8,9 @@ "symbols/Framework/choices/net10.0/description": "Docelowa platforma net10.0", "symbols/appHostHttpPort/description": "Numer portu do użycia dla punktu końcowego HTTP w pliku launchSettings.json projektu AppHost.", "symbols/appHostOtlpHttpPort/description": "Numer portu do użycia dla punktu końcowego HTTP OTLP w pliku launchSettings.json projektu AppHost.", - "symbols/appHostMcpHttpPort/description": "Numer portu do użycia dla punktu końcowego HTTP MCP w pliku launchSettings.json projektu AppHost.", "symbols/appHostResourceHttpPort/description": "Numer portu do użycia dla punktu końcowego HTTP usługi zasobów w pliku launchSettings.json projektu AppHost.", "symbols/appHostHttpsPort/description": "Numer portu do użycia dla punktu końcowego HTTPS w pliku launchSettings.json projektu AppHost. Ta opcja ma zastosowanie tylko wtedy, gdy parametr no-https nie jest używany.", "symbols/appHostOtlpHttpsPort/description": "Numer portu do użycia dla punktu końcowego HTTPS OTLP w pliku launchSettings.json projektu AppHost.", - "symbols/appHostMcpHttpsPort/description": "Numer portu do użycia dla punktu końcowego HTTPS MCP w pliku launchSettings.json projektu AppHost.", "symbols/appHostResourceHttpsPort/description": "Numer portu do użycia dla punktu końcowego HTTPS usługi zasobów w pliku launchSettings.json projektu AppHost.", "symbols/skipRestore/description": "Jeśli ta opcja jest określona, pomija automatyczne przywracanie projektu podczas tworzenia.", "symbols/NoHttps/description": "Określa, czy wyłączyć protokół HTTPS.", diff --git a/src/Aspire.ProjectTemplates/templates/aspire-apphost/.template.config/localize/templatestrings.pt-BR.json b/src/Aspire.ProjectTemplates/templates/aspire-apphost/.template.config/localize/templatestrings.pt-BR.json index 6380d00a2cb..64eb3ebb104 100644 --- a/src/Aspire.ProjectTemplates/templates/aspire-apphost/.template.config/localize/templatestrings.pt-BR.json +++ b/src/Aspire.ProjectTemplates/templates/aspire-apphost/.template.config/localize/templatestrings.pt-BR.json @@ -1,4 +1,4 @@ -{ +{ "author": "Microsoft", "name": "Aspire AppHost", "description": "Um modelo de projeto para criar um projeto Aspire AppHost (orquestrador).", @@ -8,11 +8,9 @@ "symbols/Framework/choices/net10.0/description": "Net10.0 de destino", "symbols/appHostHttpPort/description": "Número da porta a ser usado para o ponto de extremidade HTTP launchSettings.json do projeto AppHost.", "symbols/appHostOtlpHttpPort/description": "Número da porta a ser usado para o ponto de extremidade HTTP OTLP launchSettings.json do projeto AppHost.", - "symbols/appHostMcpHttpPort/description": "Número da porta a ser usado para o ponto de extremidade HTTP do MCP launchSettings.json do projeto AppHost.", "symbols/appHostResourceHttpPort/description": "Número da porta a ser usado para o ponto de extremidade HTTP do serviço de recurso launchSettings.json do projeto AppHost.", "symbols/appHostHttpsPort/description": "Número da porta a ser usado para o ponto de extremidade HTTPS launchSettings.json do projeto AppHost. Essa opção só é aplicável quando o parâmetro no-https não é usado.", "symbols/appHostOtlpHttpsPort/description": "Número da porta a ser usado para o ponto de extremidade HTTPS OTLP launchSettings.json do projeto AppHost.", - "symbols/appHostMcpHttpsPort/description": "Número da porta a ser usado para o ponto de extremidade HTTPS do MCP launchSettings.json do projeto AppHost.", "symbols/appHostResourceHttpsPort/description": "Número da porta a ser usado para o ponto de extremidade HTTPS do serviço de recurso launchSettings.json do projeto AppHost.", "symbols/skipRestore/description": "Se especificado, ignora a restauração automática do projeto sendo criado.", "symbols/NoHttps/description": "Se o HTTPS deve ser desativado.", diff --git a/src/Aspire.ProjectTemplates/templates/aspire-apphost/.template.config/localize/templatestrings.ru.json b/src/Aspire.ProjectTemplates/templates/aspire-apphost/.template.config/localize/templatestrings.ru.json index ac5734563a7..5487fb94051 100644 --- a/src/Aspire.ProjectTemplates/templates/aspire-apphost/.template.config/localize/templatestrings.ru.json +++ b/src/Aspire.ProjectTemplates/templates/aspire-apphost/.template.config/localize/templatestrings.ru.json @@ -1,4 +1,4 @@ -{ +{ "author": "Майкрософт", "name": "Aspire AppHost", "description": "Шаблон проекта для создания проекта Aspire AppHost (оркестратор).", @@ -8,11 +8,9 @@ "symbols/Framework/choices/net10.0/description": "Целевая платформа .NET 10.0", "symbols/appHostHttpPort/description": "Номер порта, который будет использоваться для конечной точки HTTP в файле launchSettings.json проекта AppHost.", "symbols/appHostOtlpHttpPort/description": "Номер порта, который будет использоваться для конечной точки HTTP OTLP в файле launchSettings.json проекта AppHost.", - "symbols/appHostMcpHttpPort/description": "Номер порта для использования в конечной точке MCP HTTP в launchSettings.json проекта AppHost.", "symbols/appHostResourceHttpPort/description": "Номер порта, который будет использоваться для конечной точки HTTP службы ресурсов в файле launchSettings.json проекта AppHost.", "symbols/appHostHttpsPort/description": "Номер порта, который будет использоваться для конечной точки HTTPS в файле launchSettings.json проекта AppHost. Этот параметр применим только в том случае, если NO-HTTP не используется.", "symbols/appHostOtlpHttpsPort/description": "Номер порта, который будет использоваться для конечной точки OTLP HTTPS в файле launchSettings.json проекта AppHost.", - "symbols/appHostMcpHttpsPort/description": "Номер порта для использования в конечной точке MCP HTTPS в launchSettings.json проекта AppHost.", "symbols/appHostResourceHttpsPort/description": "Номер порта, который будет использоваться для конечной точки HTTPS службы ресурсов в файле launchSettings.json проекта AppHost.", "symbols/skipRestore/description": "Если установлено, автоматическое восстановление проекта при создании пропускается.", "symbols/NoHttps/description": "Следует ли отключить HTTPS.", diff --git a/src/Aspire.ProjectTemplates/templates/aspire-apphost/.template.config/localize/templatestrings.tr.json b/src/Aspire.ProjectTemplates/templates/aspire-apphost/.template.config/localize/templatestrings.tr.json index 8ba18764064..4cd91a7e0bf 100644 --- a/src/Aspire.ProjectTemplates/templates/aspire-apphost/.template.config/localize/templatestrings.tr.json +++ b/src/Aspire.ProjectTemplates/templates/aspire-apphost/.template.config/localize/templatestrings.tr.json @@ -1,4 +1,4 @@ -{ +{ "author": "Microsoft", "name": "Aspire AppHost", "description": "Aspire AppHost (düzenleyici) projesi oluşturmak için bir proje şablonu.", @@ -8,11 +8,9 @@ "symbols/Framework/choices/net10.0/description": "Hedef net10.0", "symbols/appHostHttpPort/description": "AppHost projesinin HTTP uç noktası launchSettings.json bağlantı noktası numarası.", "symbols/appHostOtlpHttpPort/description": "AppHost projesinin OTLP HTTP uç noktası launchSettings.json bağlantı noktası numarası.", - "symbols/appHostMcpHttpPort/description": "AppHost projesinin launchSettings.json dosyasında MCP HTTP uç noktası için kullanılacak bağlantı noktası numarası.", "symbols/appHostResourceHttpPort/description": "AppHost projesinin kaynak hizmeti HTTP uç noktası launchSettings.json bağlantı noktası numarası.", "symbols/appHostHttpsPort/description": "AppHost projesinin HTTPS uç noktası launchSettings.json bağlantı noktası numarası. Bu seçenek yalnızca no-https parametresi kullanılmadığında uygulanabilir.", "symbols/appHostOtlpHttpsPort/description": "AppHost projesinin OTLP HTTPS uç noktası launchSettings.json bağlantı noktası numarası.", - "symbols/appHostMcpHttpsPort/description": "AppHost projesinin launchSettings.json dosyasında MCP HTTPS uç noktası için kullanılacak bağlantı noktası numarası.", "symbols/appHostResourceHttpsPort/description": "AppHost projesinin kaynak hizmeti HTTPS uç noktası launchSettings.json bağlantı noktası numarası.", "symbols/skipRestore/description": "Belirtilirse, oluşturma sırasında projenin otomatik geri yüklenmesini atlar.", "symbols/NoHttps/description": "HTTPS'nin kapatılıp kapatılmayacağı.", diff --git a/src/Aspire.ProjectTemplates/templates/aspire-apphost/.template.config/localize/templatestrings.zh-Hans.json b/src/Aspire.ProjectTemplates/templates/aspire-apphost/.template.config/localize/templatestrings.zh-Hans.json index b5fa0af3e78..db0c1e8d0d0 100644 --- a/src/Aspire.ProjectTemplates/templates/aspire-apphost/.template.config/localize/templatestrings.zh-Hans.json +++ b/src/Aspire.ProjectTemplates/templates/aspire-apphost/.template.config/localize/templatestrings.zh-Hans.json @@ -1,4 +1,4 @@ -{ +{ "author": "Microsoft", "name": "Aspire AppHost", "description": "用于创建 Aspire AppHost (业务流程协调程序)项目的项目模板。", @@ -8,11 +8,9 @@ "symbols/Framework/choices/net10.0/description": "目标 net10.0", "symbols/appHostHttpPort/description": "该端口号将用于 AppHost 项目的 launchSettings.json 中的 HTTP 终结点。", "symbols/appHostOtlpHttpPort/description": "该端口号将用于 AppHost 项目的 launchSettings.json 中的 OTLP HTTP 终结点。", - "symbols/appHostMcpHttpPort/description": "用于 AppHost 项目的 launchSettings.json 中 MCP HTTP 终结点的端口号。", "symbols/appHostResourceHttpPort/description": "该端口号将用于 AppHost 项目的 launchSettings.json 中的资源服务 HTTP 终结点。", "symbols/appHostHttpsPort/description": "该端口号将用于 AppHost 项目的 launchSettings.json 中的 HTTPS 终结点。仅当不使用参数 no-https 时,此选项才适用。", "symbols/appHostOtlpHttpsPort/description": "该端口号将用于 AppHost 项目的 launchSettings.json 中的 OTLP HTTPS 终结点。", - "symbols/appHostMcpHttpsPort/description": "用于 AppHost 项目的 launchSettings.json 中 MCP HTTPS 终结点的端口号。", "symbols/appHostResourceHttpsPort/description": "该端口号将用于 AppHost 项目的 launchSettings.json 中的资源服务 HTTPS 终结点。", "symbols/skipRestore/description": "如果指定,则在创建时跳过项目的自动还原。", "symbols/NoHttps/description": "是否禁用 HTTPS。", diff --git a/src/Aspire.ProjectTemplates/templates/aspire-apphost/.template.config/localize/templatestrings.zh-Hant.json b/src/Aspire.ProjectTemplates/templates/aspire-apphost/.template.config/localize/templatestrings.zh-Hant.json index 57009cf06b4..a9b5fd06d8a 100644 --- a/src/Aspire.ProjectTemplates/templates/aspire-apphost/.template.config/localize/templatestrings.zh-Hant.json +++ b/src/Aspire.ProjectTemplates/templates/aspire-apphost/.template.config/localize/templatestrings.zh-Hant.json @@ -1,4 +1,4 @@ -{ +{ "author": "Microsoft", "name": "Aspire AppHost", "description": "用於建立 Aspire AppHost (協調器) 專案的專案範本。", @@ -8,11 +8,9 @@ "symbols/Framework/choices/net10.0/description": "目標 net10.0", "symbols/appHostHttpPort/description": "要用於 AppHost 專案 launchSettings.json 中 HTTP 端點的連接埠號碼。", "symbols/appHostOtlpHttpPort/description": "要用於 AppHost 專案 launchSettings.json 中 OTLP HTTP 端點的連接埠號碼。", - "symbols/appHostMcpHttpPort/description": "要用於 AppHost 專案 launchSettings.json 中 MCP HTTP 端點的連接埠號碼。", "symbols/appHostResourceHttpPort/description": "要用於 AppHost 專案 launchSettings.json 中資源服務 HTTP 端點的連接埠號碼。", "symbols/appHostHttpsPort/description": "要用於 AppHost 專案 launchSettings.json 中 HTTPS 端點的連接埠號碼。只有在未使用參數 no-https 時,才適用此選項。", "symbols/appHostOtlpHttpsPort/description": "要用於 AppHost 專案 launchSettings.json 中 OTLP HTTPS 端點的連接埠號碼。", - "symbols/appHostMcpHttpsPort/description": "要用於 AppHost 專案 launchSettings.json 中 MCP HTTPS 端點的連接埠號碼。", "symbols/appHostResourceHttpsPort/description": "要用於 AppHost 專案 launchSettings.json 中資源服務 HTTPS 端點的連接埠號碼。", "symbols/skipRestore/description": "若指定,會在建立時跳過專案的自動還原。", "symbols/NoHttps/description": "是否要關閉 HTTPS。", diff --git a/src/Aspire.ProjectTemplates/templates/aspire-apphost/.template.config/template.json b/src/Aspire.ProjectTemplates/templates/aspire-apphost/.template.config/template.json index 2c005cc5349..0f1bdc58b48 100644 --- a/src/Aspire.ProjectTemplates/templates/aspire-apphost/.template.config/template.json +++ b/src/Aspire.ProjectTemplates/templates/aspire-apphost/.template.config/template.json @@ -99,28 +99,6 @@ }, "replaces": "19000" }, - "appHostMcpHttpPort": { - "type": "parameter", - "datatype": "integer", - "description": "Port number to use for the MCP HTTP endpoint in launchSettings.json of the AppHost project." - }, - "appHostMcpHttpPortGenerated": { - "type": "generated", - "generator": "port", - "parameters": { - "low": 18000, - "high": 18300 - } - }, - "appHostMcpHttpPortReplacer": { - "type": "generated", - "generator": "coalesce", - "parameters": { - "sourceVariableName": "appHostMcpHttpPort", - "fallbackVariableName": "appHostMcpHttpPortGenerated" - }, - "replaces": "18000" - }, "appHostResourceHttpPort": { "type": "parameter", "datatype": "integer", @@ -187,28 +165,6 @@ }, "replaces": "21000" }, - "appHostMcpHttpsPort": { - "type": "parameter", - "datatype": "integer", - "description": "Port number to use for the MCP HTTPS endpoint in launchSettings.json of the AppHost project." - }, - "appHostMcpHttpsPortGenerated": { - "type": "generated", - "generator": "port", - "parameters": { - "low": 23000, - "high": 23300 - } - }, - "appHostMcpHttpsPortReplacer": { - "type": "generated", - "generator": "coalesce", - "parameters": { - "sourceVariableName": "appHostMcpHttpsPort", - "fallbackVariableName": "appHostMcpHttpsPortGenerated" - }, - "replaces": "23000" - }, "appHostResourceHttpsPort": { "type": "parameter", "datatype": "integer", diff --git a/src/Aspire.ProjectTemplates/templates/aspire-apphost/Properties/launchSettings.json b/src/Aspire.ProjectTemplates/templates/aspire-apphost/Properties/launchSettings.json index 70d9b9ae359..83df4bced7d 100644 --- a/src/Aspire.ProjectTemplates/templates/aspire-apphost/Properties/launchSettings.json +++ b/src/Aspire.ProjectTemplates/templates/aspire-apphost/Properties/launchSettings.json @@ -15,7 +15,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "https://localhost:21000", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "https://localhost:23000", "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "https://localhost:22000" } }, @@ -33,7 +32,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "http://localhost:19000", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "http://localhost:18000", "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "http://localhost:20000" } } diff --git a/src/Aspire.ProjectTemplates/templates/aspire-empty/.template.config/dotnetcli.host.json b/src/Aspire.ProjectTemplates/templates/aspire-empty/.template.config/dotnetcli.host.json index 7a28a2eae1e..caa3fe664a3 100644 --- a/src/Aspire.ProjectTemplates/templates/aspire-empty/.template.config/dotnetcli.host.json +++ b/src/Aspire.ProjectTemplates/templates/aspire-empty/.template.config/dotnetcli.host.json @@ -23,12 +23,6 @@ "appHostOtlpHttpsPort": { "isHidden": true }, - "appHostMcpHttpPort": { - "isHidden": true - }, - "appHostMcpHttpsPort": { - "isHidden": true - }, "appHostResourceHttpPort": { "isHidden": true }, diff --git a/src/Aspire.ProjectTemplates/templates/aspire-empty/.template.config/localize/templatestrings.cs.json b/src/Aspire.ProjectTemplates/templates/aspire-empty/.template.config/localize/templatestrings.cs.json index 588e921cf9c..2b0814473c2 100644 --- a/src/Aspire.ProjectTemplates/templates/aspire-empty/.template.config/localize/templatestrings.cs.json +++ b/src/Aspire.ProjectTemplates/templates/aspire-empty/.template.config/localize/templatestrings.cs.json @@ -1,4 +1,4 @@ -{ +{ "author": "Microsoft", "name": "Prázdná aplikace Aspire", "description": "Šablona projektu pro vytvoření prázdné aplikace Aspire.", @@ -12,11 +12,9 @@ "symbols/AspireVersion/choices/!!REPLACE_WITH_LATEST_MAJOR_MINOR_VERSION!!/description": "Zvolí Aspire !!REPLACE_WITH_LATEST_MAJOR_MINOR_VERSION!!", "symbols/appHostHttpPort/description": "Číslo portu, který se má použít pro koncový bod HTTP v launchSettings.json projektu AppHost.", "symbols/appHostOtlpHttpPort/description": "Číslo portu, který se má použít pro koncový bod HTTP OTLP v launchSettings.json projektu AppHost.", - "symbols/appHostMcpHttpPort/description": "Číslo portu, který se má použít pro koncový bod MCP HTTP v launchSettings.json projektu AppHost.", "symbols/appHostResourceHttpPort/description": "Číslo portu, který se má použít pro koncový bod HTTP služby prostředků v launchSettings.json projektu AppHost.", "symbols/appHostHttpsPort/description": "Číslo portu, který se má použít pro koncový bod HTTPS v launchSettings.json projektu AppHost. Tato možnost se dá použít jenom v případě, že se nepoužívá parametr no-https.", "symbols/appHostOtlpHttpsPort/description": "Číslo portu, který se má použít pro koncový bod HTTPS OTLP v launchSettings.json projektu AppHost.", - "symbols/appHostMcpHttpsPort/description": "Číslo portu, který se má použít pro koncový bod MCP HTTPS v launchSettings.json projektu AppHost.", "symbols/appHostResourceHttpsPort/description": "Číslo portu, který se má použít pro koncový bod HTTPS služby prostředků v launchSettings.json projektu AppHost.", "symbols/skipRestore/description": "Pokud se tato možnost zadá, přeskočí automatické obnovení projektu při vytvoření.", "symbols/NoHttps/description": "Určuje, jestli se má vypnout protokol HTTPS.", diff --git a/src/Aspire.ProjectTemplates/templates/aspire-empty/.template.config/localize/templatestrings.de.json b/src/Aspire.ProjectTemplates/templates/aspire-empty/.template.config/localize/templatestrings.de.json index 22bc4552e84..aadfbb83b59 100644 --- a/src/Aspire.ProjectTemplates/templates/aspire-empty/.template.config/localize/templatestrings.de.json +++ b/src/Aspire.ProjectTemplates/templates/aspire-empty/.template.config/localize/templatestrings.de.json @@ -1,4 +1,4 @@ -{ +{ "author": "Microsoft", "name": "Leere Aspire-App", "description": "Eine Projektvorlage zum Erstellen einer leeren Aspire-App.", @@ -12,11 +12,9 @@ "symbols/AspireVersion/choices/!!REPLACE_WITH_LATEST_MAJOR_MINOR_VERSION!!/description": "Wählt Aspire !!REPLACE_WITH_LATEST_MAJOR_MINOR_VERSION!! aus", "symbols/appHostHttpPort/description": "Portnummer, die für den HTTP-Endpunkt in launchSettings.json des AppHost-Projekts verwendet werden soll.", "symbols/appHostOtlpHttpPort/description": "Portnummer, die für den OTLP-HTTP-Endpunkt in launchSettings.json des AppHost-Projekts verwendet werden soll.", - "symbols/appHostMcpHttpPort/description": "Portnummer, die für den MCP-HTTP-Endpunkt in launchSettings.json des AppHost-Projekts verwendet werden soll.", "symbols/appHostResourceHttpPort/description": "Portnummer, die für den HTTP-Endpunkt des Ressourcendiensts in launchSettings.json des AppHost-Projekts verwendet werden soll.", "symbols/appHostHttpsPort/description": "Portnummer, die für den HTTPS-Endpunkt in launchSettings.json des AppHost-Projekts verwendet werden soll. Diese Option ist nur anwendbar, wenn der Parameter no-https nicht verwendet wird.", "symbols/appHostOtlpHttpsPort/description": "Portnummer, die für den OTLP-HTTPS-Endpunkt in launchSettings.json des AppHost-Projekts verwendet werden soll.", - "symbols/appHostMcpHttpsPort/description": "Portnummer, die für den MCP-HTTPS-Endpunkt in launchSettings.json des AppHost-Projekts verwendet werden soll.", "symbols/appHostResourceHttpsPort/description": "Portnummer, die für den HTTPS-Endpunkt des Ressourcendiensts in launchSettings.json des AppHost-Projekts verwendet werden soll.", "symbols/skipRestore/description": "Wenn angegeben, wird die automatische Wiederherstellung des Projekts beim Erstellen übersprungen.", "symbols/NoHttps/description": "Ob HTTPS deaktiviert werden soll.", diff --git a/src/Aspire.ProjectTemplates/templates/aspire-empty/.template.config/localize/templatestrings.en.json b/src/Aspire.ProjectTemplates/templates/aspire-empty/.template.config/localize/templatestrings.en.json index 909a7a4b0ec..4ba6cd11cc4 100644 --- a/src/Aspire.ProjectTemplates/templates/aspire-empty/.template.config/localize/templatestrings.en.json +++ b/src/Aspire.ProjectTemplates/templates/aspire-empty/.template.config/localize/templatestrings.en.json @@ -12,11 +12,9 @@ "symbols/AspireVersion/choices/!!REPLACE_WITH_LATEST_MAJOR_MINOR_VERSION!!/description": "Chooses Aspire !!REPLACE_WITH_LATEST_MAJOR_MINOR_VERSION!!", "symbols/appHostHttpPort/description": "Port number to use for the HTTP endpoint in launchSettings.json of the AppHost project.", "symbols/appHostOtlpHttpPort/description": "Port number to use for the OTLP HTTP endpoint in launchSettings.json of the AppHost project.", - "symbols/appHostMcpHttpPort/description": "Port number to use for the MCP HTTP endpoint in launchSettings.json of the AppHost project.", "symbols/appHostResourceHttpPort/description": "Port number to use for the resource service HTTP endpoint in launchSettings.json of the AppHost project.", "symbols/appHostHttpsPort/description": "Port number to use for the HTTPS endpoint in launchSettings.json of the AppHost project. This option is only applicable when the parameter no-https is not used.", "symbols/appHostOtlpHttpsPort/description": "Port number to use for the OTLP HTTPS endpoint in launchSettings.json of the AppHost project.", - "symbols/appHostMcpHttpsPort/description": "Port number to use for the MCP HTTPS endpoint in launchSettings.json of the AppHost project.", "symbols/appHostResourceHttpsPort/description": "Port number to use for the resource service HTTPS endpoint in launchSettings.json of the AppHost project.", "symbols/skipRestore/description": "If specified, skips the automatic restore of the project on create.", "symbols/NoHttps/description": "Whether to turn off HTTPS.", diff --git a/src/Aspire.ProjectTemplates/templates/aspire-empty/.template.config/localize/templatestrings.es.json b/src/Aspire.ProjectTemplates/templates/aspire-empty/.template.config/localize/templatestrings.es.json index 6edfa44a561..b5e305e1413 100644 --- a/src/Aspire.ProjectTemplates/templates/aspire-empty/.template.config/localize/templatestrings.es.json +++ b/src/Aspire.ProjectTemplates/templates/aspire-empty/.template.config/localize/templatestrings.es.json @@ -1,4 +1,4 @@ -{ +{ "author": "Microsoft", "name": "Aplicación vacía de Aspire", "description": "Una plantilla de proyecto para crear una aplicación vacía de Aspire.", @@ -12,11 +12,9 @@ "symbols/AspireVersion/choices/!!REPLACE_WITH_LATEST_MAJOR_MINOR_VERSION!!/description": "Elige Aspire !! REPLACE_WITH_LATEST_MAJOR_MINOR_VERSION!!", "symbols/appHostHttpPort/description": "Número de puerto que se va a usar para el punto de conexión HTTP en launchSettings.json del proyecto AppHost.", "symbols/appHostOtlpHttpPort/description": "Número de puerto que se va a usar para el punto de conexión HTTP de OTLP en launchSettings.json del proyecto AppHost.", - "symbols/appHostMcpHttpPort/description": "Número de puerto que se va a usar para el punto de conexión MCP HTTP en launchSettings.json del proyecto AppHost.", "symbols/appHostResourceHttpPort/description": "Número de puerto que se va a usar para el punto de conexión HTTP del servicio de recursos en launchSettings.json del proyecto AppHost.", "symbols/appHostHttpsPort/description": "Número de puerto que se va a usar para el punto de conexión HTTPS en launchSettings.json del proyecto AppHost. Esta opción solo es aplicable cuando no se usa el parámetro no-https.", "symbols/appHostOtlpHttpsPort/description": "Número de puerto que se va a usar para el punto de conexión HTTPS de OTLP en launchSettings.json del proyecto AppHost.", - "symbols/appHostMcpHttpsPort/description": "Número de puerto que se va a usar para el punto de conexión MCP HTTPS en launchSettings.json del proyecto AppHost.", "symbols/appHostResourceHttpsPort/description": "Número de puerto a usar para el punto de conexión HTTPS del servicio de recursos en launchSettings.json del proyecto AppHost.", "symbols/skipRestore/description": "Si se especifica, se omite la restauración automática del proyecto durante la creación.", "symbols/NoHttps/description": "Si se va a desactivar HTTPS.", diff --git a/src/Aspire.ProjectTemplates/templates/aspire-empty/.template.config/localize/templatestrings.fr.json b/src/Aspire.ProjectTemplates/templates/aspire-empty/.template.config/localize/templatestrings.fr.json index 8e2e597ace6..ee6f24697e9 100644 --- a/src/Aspire.ProjectTemplates/templates/aspire-empty/.template.config/localize/templatestrings.fr.json +++ b/src/Aspire.ProjectTemplates/templates/aspire-empty/.template.config/localize/templatestrings.fr.json @@ -1,4 +1,4 @@ -{ +{ "author": "Microsoft", "name": "Application vide Aspire", "description": "Modèle de projet pour créer une application Aspire vide.", @@ -12,11 +12,9 @@ "symbols/AspireVersion/choices/!!REPLACE_WITH_LATEST_MAJOR_MINOR_VERSION!!/description": "Chooses Aspire !!REPLACE_WITH_LATEST_MAJOR_MINOR_VERSION!!", "symbols/appHostHttpPort/description": "Numéro de port à utiliser pour le point de terminaison HTTP dans launchSettings.json du projet AppHost.", "symbols/appHostOtlpHttpPort/description": "Numéro de port à utiliser pour le point de terminaison HTTP OTLP dans launchSettings.json du projet AppHost.", - "symbols/appHostMcpHttpPort/description": "Numéro de port à utiliser pour le point de terminaison HTTP MCP dans launchSettings.json du projet AppHost.", "symbols/appHostResourceHttpPort/description": "Numéro de port à utiliser pour le point de terminaison HTTP du service de ressources dans launchSettings.json du projet AppHost.", "symbols/appHostHttpsPort/description": "Numéro de port à utiliser pour le point de terminaison HTTPS dans launchSettings.json du projet AppHost. Cette option n'est applicable que lorsque le paramètre no-https n'est pas utilisé.", "symbols/appHostOtlpHttpsPort/description": "Numéro de port à utiliser pour le point de terminaison HTTPS OTLP dans launchSettings.json du projet AppHost.", - "symbols/appHostMcpHttpsPort/description": "Numéro de port à utiliser pour le point de terminaison HTTPS MCP dans launchSettings.json du projet AppHost.", "symbols/appHostResourceHttpsPort/description": "Numéro de port à utiliser pour le point de terminaison HTTPS du service de ressources dans launchSettings.json du projet AppHost.", "symbols/skipRestore/description": "S’il est spécifié, ignore la restauration automatique du projet lors de la création.", "symbols/NoHttps/description": "Indique s’il faut désactiver HTTPS.", diff --git a/src/Aspire.ProjectTemplates/templates/aspire-empty/.template.config/localize/templatestrings.it.json b/src/Aspire.ProjectTemplates/templates/aspire-empty/.template.config/localize/templatestrings.it.json index 4f9809d4573..a6f77a197ce 100644 --- a/src/Aspire.ProjectTemplates/templates/aspire-empty/.template.config/localize/templatestrings.it.json +++ b/src/Aspire.ProjectTemplates/templates/aspire-empty/.template.config/localize/templatestrings.it.json @@ -1,4 +1,4 @@ -{ +{ "author": "Microsoft", "name": "App Aspire vuota", "description": "Modello di progetto per la creazione di un'app Aspire vuota.", @@ -12,11 +12,9 @@ "symbols/AspireVersion/choices/!!REPLACE_WITH_LATEST_MAJOR_MINOR_VERSION!!/description": "Sceglie Aspire !!REPLACE_WITH_LATEST_MAJOR_MINOR_VERSION!!", "symbols/appHostHttpPort/description": "Numero di porta da usare per l'endpoint HTTP in launchSettings.json. del progetto AppHost.", "symbols/appHostOtlpHttpPort/description": "Numero di porta da usare per l'endpoint OTLP HTTP in launchSettings.json. del progetto AppHost.", - "symbols/appHostMcpHttpPort/description": "Numero di porta da usare per l'endpoint MCP HTTP in launchSettings.json. del progetto AppHost.", "symbols/appHostResourceHttpPort/description": "Numero di porta da usare per l'endpoint HTTP del servizio risorse in launchSettings.json del progetto AppHost.", "symbols/appHostHttpsPort/description": "Numero di porta da usare per l'endpoint HTTPS in launchSettings.json. del progetto AppHost. Questa opzione è applicabile solo quando il parametro no-https non viene usato.", "symbols/appHostOtlpHttpsPort/description": "Numero di porta da usare per l'endpoint OTLP HTTPS in launchSettings.json. del progetto AppHost.", - "symbols/appHostMcpHttpsPort/description": "Numero di porta da usare per l'endpoint MCP HTTPS in launchSettings.json. del progetto AppHost.", "symbols/appHostResourceHttpsPort/description": "Numero di porta da usare per l'endpoint HTTPS del servizio risorse in launchSettings.json del progetto AppHost.", "symbols/skipRestore/description": "Se specificato, ignora il ripristino automatico del progetto durante la creazione.", "symbols/NoHttps/description": "Indica se disattivare HTTPS.", diff --git a/src/Aspire.ProjectTemplates/templates/aspire-empty/.template.config/localize/templatestrings.ja.json b/src/Aspire.ProjectTemplates/templates/aspire-empty/.template.config/localize/templatestrings.ja.json index 92e36ce5e9d..43d5d0c79f8 100644 --- a/src/Aspire.ProjectTemplates/templates/aspire-empty/.template.config/localize/templatestrings.ja.json +++ b/src/Aspire.ProjectTemplates/templates/aspire-empty/.template.config/localize/templatestrings.ja.json @@ -1,4 +1,4 @@ -{ +{ "author": "Microsoft", "name": "Aspire の空のアプリ", "description": "空の Aspire アプリを作成するためのプロジェクト テンプレート。", @@ -12,11 +12,9 @@ "symbols/AspireVersion/choices/!!REPLACE_WITH_LATEST_MAJOR_MINOR_VERSION!!/description": "Aspire !!REPLACE_WITH_LATEST_MAJOR_MINOR_VERSION!! を選択します", "symbols/appHostHttpPort/description": "AppHost プロジェクトの launchSettings.json の HTTP エンドポイントに使用するポート番号。", "symbols/appHostOtlpHttpPort/description": "AppHost プロジェクトの launchSettings.json で OTLP HTTP エンドポイントに使用するポート番号。", - "symbols/appHostMcpHttpPort/description": "AppHost プロジェクトの launchSettings.json で MCP HTTP エンドポイント向けに使用するポート番号。", "symbols/appHostResourceHttpPort/description": "AppHost プロジェクトの launchSettings.json のリソース サービス HTTP エンドポイントに使用するポート番号。", "symbols/appHostHttpsPort/description": "AppHost プロジェクトの launchSettings.json の HTTPS エンドポイントに使用するポート番号。このオプションは、パラメーター no-https を使用しない場合にのみ適用されます。", "symbols/appHostOtlpHttpsPort/description": "AppHost プロジェクトの launchSettings.json で OTLP HTTPS エンドポイントに使用するポート番号。", - "symbols/appHostMcpHttpsPort/description": "AppHost プロジェクトの launchSettings.json で MCP HTTPS エンドポイント向けに使用するポート番号。", "symbols/appHostResourceHttpsPort/description": "AppHost プロジェクトの launchSettings.json のリソース サービス HTTPS エンドポイントに使用するポート番号。", "symbols/skipRestore/description": "指定した場合、作成時にプロジェクトの自動復元がスキップされます。", "symbols/NoHttps/description": "HTTPS をオフにするかどうか。", diff --git a/src/Aspire.ProjectTemplates/templates/aspire-empty/.template.config/localize/templatestrings.ko.json b/src/Aspire.ProjectTemplates/templates/aspire-empty/.template.config/localize/templatestrings.ko.json index 9510978217d..f6f43d0434b 100644 --- a/src/Aspire.ProjectTemplates/templates/aspire-empty/.template.config/localize/templatestrings.ko.json +++ b/src/Aspire.ProjectTemplates/templates/aspire-empty/.template.config/localize/templatestrings.ko.json @@ -1,4 +1,4 @@ -{ +{ "author": "Microsoft", "name": "Aspire 빈 앱", "description": "빈 Aspire 앱을 만들기 위한 프로젝트 템플릿입니다.", @@ -12,11 +12,9 @@ "symbols/AspireVersion/choices/!!REPLACE_WITH_LATEST_MAJOR_MINOR_VERSION!!/description": "Chooses Aspire !!REPLACE_WITH_LATEST_MAJOR_MINOR_VERSION!!", "symbols/appHostHttpPort/description": "AppHost 프로젝트의 launchSettings.json HTTP 엔드포인트에 사용할 포트 번호입니다.", "symbols/appHostOtlpHttpPort/description": "AppHost 프로젝트의 launchSettings.json OTLP HTTP 엔드포인트에 사용할 포트 번호입니다.", - "symbols/appHostMcpHttpPort/description": "AppHost 프로젝트의 launchSettings.json에서 MCP HTTP 엔드포인트에 사용할 포트 번호입니다.", "symbols/appHostResourceHttpPort/description": "AppHost 프로젝트의 launchSettings.json 리소스 서비스 HTTP 엔드포인트에 사용할 포트 번호입니다.", "symbols/appHostHttpsPort/description": "AppHost 프로젝트의 launchSettings.json HTTPS 엔드포인트에 사용할 포트 번호입니다. 이 옵션은 no-https 매개 변수가 사용되지 않는 경우에만 적용됩니다.", "symbols/appHostOtlpHttpsPort/description": "AppHost 프로젝트의 launchSettings.json OTLP HTTPS 엔드포인트에 사용할 포트 번호입니다.", - "symbols/appHostMcpHttpsPort/description": "AppHost 프로젝트의 launchSettings.json에서 MCP HTTPS 엔드포인트에 사용할 포트 번호입니다.", "symbols/appHostResourceHttpsPort/description": "AppHost 프로젝트의 launchSettings.json 리소스 서비스 HTTPS 엔드포인트에 사용할 포트 번호입니다.", "symbols/skipRestore/description": "지정된 경우, 프로젝트 생성 시 자동 복원을 건너뜁니다.", "symbols/NoHttps/description": "HTTPS를 끌지 여부입니다.", diff --git a/src/Aspire.ProjectTemplates/templates/aspire-empty/.template.config/localize/templatestrings.pl.json b/src/Aspire.ProjectTemplates/templates/aspire-empty/.template.config/localize/templatestrings.pl.json index 00e002d25af..35a9dc69e3e 100644 --- a/src/Aspire.ProjectTemplates/templates/aspire-empty/.template.config/localize/templatestrings.pl.json +++ b/src/Aspire.ProjectTemplates/templates/aspire-empty/.template.config/localize/templatestrings.pl.json @@ -1,4 +1,4 @@ -{ +{ "author": "Microsoft", "name": "Pusta aplikacja Aspire", "description": "Szablon projektu służący do tworzenia pustej aplikacji Aspire.", @@ -12,11 +12,9 @@ "symbols/AspireVersion/choices/!!REPLACE_WITH_LATEST_MAJOR_MINOR_VERSION!!/description": "Wybiera projekt Aspire !!REPLACE_WITH_LATEST_MAJOR_MINOR_VERSION!!", "symbols/appHostHttpPort/description": "Numer portu do użycia dla punktu końcowego HTTP w pliku launchSettings.json projektu AppHost.", "symbols/appHostOtlpHttpPort/description": "Numer portu do użycia dla punktu końcowego HTTP OTLP w pliku launchSettings.json projektu AppHost.", - "symbols/appHostMcpHttpPort/description": "Numer portu do użycia dla punktu końcowego HTTP MCP w pliku launchSettings.json projektu AppHost.", "symbols/appHostResourceHttpPort/description": "Numer portu do użycia dla punktu końcowego HTTP usługi zasobów w pliku launchSettings.json projektu AppHost.", "symbols/appHostHttpsPort/description": "Numer portu do użycia dla punktu końcowego HTTPS w pliku launchSettings.json projektu AppHost. Ta opcja ma zastosowanie tylko wtedy, gdy parametr no-https nie jest używany.", "symbols/appHostOtlpHttpsPort/description": "Numer portu do użycia dla punktu końcowego HTTPS OTLP w pliku launchSettings.json projektu AppHost.", - "symbols/appHostMcpHttpsPort/description": "Numer portu do użycia dla punktu końcowego HTTPS MCP w pliku launchSettings.json projektu AppHost.", "symbols/appHostResourceHttpsPort/description": "Numer portu do użycia dla punktu końcowego HTTPS usługi zasobów w pliku launchSettings.json projektu AppHost.", "symbols/skipRestore/description": "Jeśli ta opcja jest określona, pomija automatyczne przywracanie projektu podczas tworzenia.", "symbols/NoHttps/description": "Określa, czy wyłączyć protokół HTTPS.", diff --git a/src/Aspire.ProjectTemplates/templates/aspire-empty/.template.config/localize/templatestrings.pt-BR.json b/src/Aspire.ProjectTemplates/templates/aspire-empty/.template.config/localize/templatestrings.pt-BR.json index 9b11cefb593..7cc35252651 100644 --- a/src/Aspire.ProjectTemplates/templates/aspire-empty/.template.config/localize/templatestrings.pt-BR.json +++ b/src/Aspire.ProjectTemplates/templates/aspire-empty/.template.config/localize/templatestrings.pt-BR.json @@ -1,4 +1,4 @@ -{ +{ "author": "Microsoft", "name": "Aplicativo Aspire Vazio", "description": "Um modelo de projeto para criar um aplicativo Aspire vazio.", @@ -12,11 +12,9 @@ "symbols/AspireVersion/choices/!!REPLACE_WITH_LATEST_MAJOR_MINOR_VERSION!!/description": "Escolhe Aspire !!REPLACE_WITH_LATEST_MAJOR_MINOR_VERSION!!", "symbols/appHostHttpPort/description": "Número da porta a ser usado para o ponto de extremidade HTTP launchSettings.json do projeto AppHost.", "symbols/appHostOtlpHttpPort/description": "Número da porta a ser usado para o ponto de extremidade HTTP OTLP launchSettings.json do projeto AppHost.", - "symbols/appHostMcpHttpPort/description": "Número da porta a ser usado para o ponto de extremidade HTTP do MCP launchSettings.json do projeto AppHost.", "symbols/appHostResourceHttpPort/description": "Número da porta a ser usado para o ponto de extremidade HTTP do serviço de recurso launchSettings.json do projeto AppHost.", "symbols/appHostHttpsPort/description": "Número da porta a ser usado para o ponto de extremidade HTTPS launchSettings.json do projeto AppHost. Essa opção só é aplicável quando o parâmetro no-https não é usado.", "symbols/appHostOtlpHttpsPort/description": "Número da porta a ser usado para o ponto de extremidade HTTPS OTLP launchSettings.json do projeto AppHost.", - "symbols/appHostMcpHttpsPort/description": "Número da porta a ser usado para o ponto de extremidade HTTPS do MCP launchSettings.json do projeto AppHost.", "symbols/appHostResourceHttpsPort/description": "Número da porta a ser usado para o ponto de extremidade HTTPS do serviço de recurso launchSettings.json do projeto AppHost.", "symbols/skipRestore/description": "Se especificado, ignora a restauração automática do projeto sendo criado.", "symbols/NoHttps/description": "Se o HTTPS deve ser desativado.", diff --git a/src/Aspire.ProjectTemplates/templates/aspire-empty/.template.config/localize/templatestrings.ru.json b/src/Aspire.ProjectTemplates/templates/aspire-empty/.template.config/localize/templatestrings.ru.json index 5aacc158119..0ae0fbe9dec 100644 --- a/src/Aspire.ProjectTemplates/templates/aspire-empty/.template.config/localize/templatestrings.ru.json +++ b/src/Aspire.ProjectTemplates/templates/aspire-empty/.template.config/localize/templatestrings.ru.json @@ -1,4 +1,4 @@ -{ +{ "author": "Майкрософт", "name": "Пустое приложение Aspire", "description": "Шаблон проекта для создания пустого приложения Aspire.", @@ -12,11 +12,9 @@ "symbols/AspireVersion/choices/!!REPLACE_WITH_LATEST_MAJOR_MINOR_VERSION!!/description": "Выбирает Aspire !!REPLACE_WITH_LATEST_MAJOR_MINOR_VERSION!!", "symbols/appHostHttpPort/description": "Номер порта, который будет использоваться для конечной точки HTTP в файле launchSettings.json проекта AppHost.", "symbols/appHostOtlpHttpPort/description": "Номер порта, который будет использоваться для конечной точки HTTP OTLP в файле launchSettings.json проекта AppHost.", - "symbols/appHostMcpHttpPort/description": "Номер порта для использования в конечной точке MCP HTTP в launchSettings.json проекта AppHost.", "symbols/appHostResourceHttpPort/description": "Номер порта, который будет использоваться для конечной точки HTTP службы ресурсов в файле launchSettings.json проекта AppHost.", "symbols/appHostHttpsPort/description": "Номер порта, который будет использоваться для конечной точки HTTPS в файле launchSettings.json проекта AppHost. Этот параметр применим только в том случае, если NO-HTTP не используется.", "symbols/appHostOtlpHttpsPort/description": "Номер порта, который будет использоваться для конечной точки OTLP HTTPS в файле launchSettings.json проекта AppHost.", - "symbols/appHostMcpHttpsPort/description": "Номер порта для использования в конечной точке MCP HTTPS в launchSettings.json проекта AppHost.", "symbols/appHostResourceHttpsPort/description": "Номер порта, который будет использоваться для конечной точки HTTPS службы ресурсов в файле launchSettings.json проекта AppHost.", "symbols/skipRestore/description": "Если установлено, автоматическое восстановление проекта при создании пропускается.", "symbols/NoHttps/description": "Следует ли отключить HTTPS.", diff --git a/src/Aspire.ProjectTemplates/templates/aspire-empty/.template.config/localize/templatestrings.tr.json b/src/Aspire.ProjectTemplates/templates/aspire-empty/.template.config/localize/templatestrings.tr.json index 34f7bc16f3a..4e7690104e7 100644 --- a/src/Aspire.ProjectTemplates/templates/aspire-empty/.template.config/localize/templatestrings.tr.json +++ b/src/Aspire.ProjectTemplates/templates/aspire-empty/.template.config/localize/templatestrings.tr.json @@ -1,4 +1,4 @@ -{ +{ "author": "Microsoft", "name": "Aspire Boş Uygulama", "description": "Boş bir Aspire uygulaması oluşturmak için proje şablonu.", @@ -12,11 +12,9 @@ "symbols/AspireVersion/choices/!!REPLACE_WITH_LATEST_MAJOR_MINOR_VERSION!!/description": "Aspire !!REPLACE_WITH_LATEST_MAJOR_MINOR_VERSION!! sürümünü seçer", "symbols/appHostHttpPort/description": "AppHost projesinin HTTP uç noktası launchSettings.json bağlantı noktası numarası.", "symbols/appHostOtlpHttpPort/description": "AppHost projesinin OTLP HTTP uç noktası launchSettings.json bağlantı noktası numarası.", - "symbols/appHostMcpHttpPort/description": "AppHost projesinin launchSettings.json dosyasında MCP HTTP uç noktası için kullanılacak bağlantı noktası numarası.", "symbols/appHostResourceHttpPort/description": "AppHost projesinin kaynak hizmeti HTTP uç noktası launchSettings.json bağlantı noktası numarası.", "symbols/appHostHttpsPort/description": "AppHost projesinin HTTPS uç noktası launchSettings.json bağlantı noktası numarası. Bu seçenek yalnızca no-https parametresi kullanılmadığında uygulanabilir.", "symbols/appHostOtlpHttpsPort/description": "AppHost projesinin OTLP HTTPS uç noktası launchSettings.json bağlantı noktası numarası.", - "symbols/appHostMcpHttpsPort/description": "AppHost projesinin launchSettings.json dosyasında MCP HTTPS uç noktası için kullanılacak bağlantı noktası numarası.", "symbols/appHostResourceHttpsPort/description": "AppHost projesinin kaynak hizmeti HTTPS uç noktası launchSettings.json bağlantı noktası numarası.", "symbols/skipRestore/description": "Belirtilirse, oluşturma sırasında projenin otomatik geri yüklenmesini atlar.", "symbols/NoHttps/description": "HTTPS'nin kapatılıp kapatılmayacağı.", diff --git a/src/Aspire.ProjectTemplates/templates/aspire-empty/.template.config/localize/templatestrings.zh-Hans.json b/src/Aspire.ProjectTemplates/templates/aspire-empty/.template.config/localize/templatestrings.zh-Hans.json index 35df16e3fdf..689c3044a90 100644 --- a/src/Aspire.ProjectTemplates/templates/aspire-empty/.template.config/localize/templatestrings.zh-Hans.json +++ b/src/Aspire.ProjectTemplates/templates/aspire-empty/.template.config/localize/templatestrings.zh-Hans.json @@ -1,4 +1,4 @@ -{ +{ "author": "Microsoft", "name": "Aspire 空应用", "description": "用于创建空 Aspire 应用的项目模板。", @@ -12,11 +12,9 @@ "symbols/AspireVersion/choices/!!REPLACE_WITH_LATEST_MAJOR_MINOR_VERSION!!/description": "选择 Aspire !!REPLACE_WITH_LATEST_MAJOR_MINOR_VERSION!!", "symbols/appHostHttpPort/description": "该端口号将用于 AppHost 项目的 launchSettings.json 中的 HTTP 终结点。", "symbols/appHostOtlpHttpPort/description": "该端口号将用于 AppHost 项目的 launchSettings.json 中的 OTLP HTTP 终结点。", - "symbols/appHostMcpHttpPort/description": "该端口号将用于 AppHost 项目的 launchSettings.json 中的 MCP HTTP 终结点。", "symbols/appHostResourceHttpPort/description": "该端口号将用于 AppHost 项目的 launchSettings.json 中的资源服务 HTTP 终结点。", "symbols/appHostHttpsPort/description": "该端口号将用于 AppHost 项目的 launchSettings.json 中的 HTTPS 终结点。仅当不使用参数 no-https 时,此选项才适用。", "symbols/appHostOtlpHttpsPort/description": "该端口号将用于 AppHost 项目的 launchSettings.json 中的 OTLP HTTPS 终结点。", - "symbols/appHostMcpHttpsPort/description": "该端口号将用于 AppHost 项目的 launchSettings.json 中的 MCP HTTPS 终结点。", "symbols/appHostResourceHttpsPort/description": "该端口号将用于 AppHost 项目的 launchSettings.json 中的资源服务 HTTPS 终结点。", "symbols/skipRestore/description": "如果指定,则在创建时跳过项目的自动还原。", "symbols/NoHttps/description": "是否禁用 HTTPS。", diff --git a/src/Aspire.ProjectTemplates/templates/aspire-empty/.template.config/localize/templatestrings.zh-Hant.json b/src/Aspire.ProjectTemplates/templates/aspire-empty/.template.config/localize/templatestrings.zh-Hant.json index 3c53739aa05..a035d8a6bb8 100644 --- a/src/Aspire.ProjectTemplates/templates/aspire-empty/.template.config/localize/templatestrings.zh-Hant.json +++ b/src/Aspire.ProjectTemplates/templates/aspire-empty/.template.config/localize/templatestrings.zh-Hant.json @@ -1,4 +1,4 @@ -{ +{ "author": "Microsoft", "name": "Aspire 空白應用程式", "description": "用於建立空白 Aspire 應用程式的專案範本。", @@ -12,11 +12,9 @@ "symbols/AspireVersion/choices/!!REPLACE_WITH_LATEST_MAJOR_MINOR_VERSION!!/description": "選擇 Aspire !!REPLACE_WITH_LATEST_MAJOR_MINOR_VERSION!!", "symbols/appHostHttpPort/description": "要用於 AppHost 專案 launchSettings.json 中 HTTP 端點的連接埠號碼。", "symbols/appHostOtlpHttpPort/description": "要用於 AppHost 專案 launchSettings.json 中 OTLP HTTP 端點的連接埠號碼。", - "symbols/appHostMcpHttpPort/description": "要用於 AppHost 專案 launchSettings.json 中 MCP HTTP 端點的連接埠號碼。", "symbols/appHostResourceHttpPort/description": "要用於 AppHost 專案 launchSettings.json 中資源服務 HTTP 端點的連接埠號碼。", "symbols/appHostHttpsPort/description": "要用於 AppHost 專案 launchSettings.json 中 HTTPS 端點的連接埠號碼。只有在未使用參數 no-https 時,才適用此選項。", "symbols/appHostOtlpHttpsPort/description": "要用於 AppHost 專案 launchSettings.json 中 OTLP HTTPS 端點的連接埠號碼。", - "symbols/appHostMcpHttpsPort/description": "要用於 AppHost 專案 launchSettings.json 中 MCP HTTPS 端點的連接埠號碼。", "symbols/appHostResourceHttpsPort/description": "要用於 AppHost 專案 launchSettings.json 中資源服務 HTTPS 端點的連接埠號碼。", "symbols/skipRestore/description": "若指定,會在建立時跳過專案的自動還原。", "symbols/NoHttps/description": "是否要關閉 HTTPS。", diff --git a/src/Aspire.ProjectTemplates/templates/aspire-empty/.template.config/template.json b/src/Aspire.ProjectTemplates/templates/aspire-empty/.template.config/template.json index 868ce0e1a28..0e5aa6c693b 100644 --- a/src/Aspire.ProjectTemplates/templates/aspire-empty/.template.config/template.json +++ b/src/Aspire.ProjectTemplates/templates/aspire-empty/.template.config/template.json @@ -131,28 +131,6 @@ }, "replaces": "19000" }, - "appHostMcpHttpPort": { - "type": "parameter", - "datatype": "integer", - "description": "Port number to use for the MCP HTTP endpoint in launchSettings.json of the AppHost project." - }, - "appHostMcpHttpPortGenerated": { - "type": "generated", - "generator": "port", - "parameters": { - "low": 18000, - "high": 18300 - } - }, - "appHostMcpHttpPortReplacer": { - "type": "generated", - "generator": "coalesce", - "parameters": { - "sourceVariableName": "appHostMcpHttpPort", - "fallbackVariableName": "appHostMcpHttpPortGenerated" - }, - "replaces": "18000" - }, "appHostResourceHttpPort": { "type": "parameter", "datatype": "integer", @@ -219,28 +197,6 @@ }, "replaces": "21000" }, - "appHostMcpHttpsPort": { - "type": "parameter", - "datatype": "integer", - "description": "Port number to use for the MCP HTTPS endpoint in launchSettings.json of the AppHost project." - }, - "appHostMcpHttpsPortGenerated": { - "type": "generated", - "generator": "port", - "parameters": { - "low": 23000, - "high": 23300 - } - }, - "appHostMcpHttpsPortReplacer": { - "type": "generated", - "generator": "coalesce", - "parameters": { - "sourceVariableName": "appHostMcpHttpsPort", - "fallbackVariableName": "appHostMcpHttpsPortGenerated" - }, - "replaces": "23000" - }, "appHostResourceHttpsPort": { "type": "parameter", "datatype": "integer", diff --git a/src/Aspire.ProjectTemplates/templates/aspire-empty/AspireApplication.1.AppHost/Properties/launchSettings.json b/src/Aspire.ProjectTemplates/templates/aspire-empty/AspireApplication.1.AppHost/Properties/launchSettings.json index 70d9b9ae359..83df4bced7d 100644 --- a/src/Aspire.ProjectTemplates/templates/aspire-empty/AspireApplication.1.AppHost/Properties/launchSettings.json +++ b/src/Aspire.ProjectTemplates/templates/aspire-empty/AspireApplication.1.AppHost/Properties/launchSettings.json @@ -15,7 +15,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "https://localhost:21000", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "https://localhost:23000", "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "https://localhost:22000" } }, @@ -33,7 +32,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "http://localhost:19000", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "http://localhost:18000", "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "http://localhost:20000" } } diff --git a/src/Aspire.ProjectTemplates/templates/aspire-js-frontend-starter/.template.config/localize/templatestrings.cs.json b/src/Aspire.ProjectTemplates/templates/aspire-js-frontend-starter/.template.config/localize/templatestrings.cs.json index 62822eeb1d1..1d3fd270f18 100644 --- a/src/Aspire.ProjectTemplates/templates/aspire-js-frontend-starter/.template.config/localize/templatestrings.cs.json +++ b/src/Aspire.ProjectTemplates/templates/aspire-js-frontend-starter/.template.config/localize/templatestrings.cs.json @@ -1,4 +1,4 @@ -{ +{ "author": "Microsoft", "name": "Úvodní projekt pro React (Vite) a Minimal API", "description": "Šablona projektu pro vytvoření aplikace Aspire s front-endem React (Vite) a backendovou službou Minimal API, volitelně s využitím Redisu pro ukládání do mezipaměti.", @@ -10,11 +10,9 @@ "symbols/UseRedisCache/description": "Nakonfiguruje, jestli se má aplikace nastavit tak, aby pro ukládání do mezipaměti používala Redis. K místnímu spouštění se vyžaduje podporovaný modul runtime kontejneru. Další podrobnosti najdete na https://aka.ms/dotnet/aspire/containers.", "symbols/appHostHttpPort/description": "Číslo portu, který se má použít pro koncový bod HTTP v launchSettings.json projektu AppHost.", "symbols/appHostOtlpHttpPort/description": "Číslo portu, který se má použít pro koncový bod HTTP OTLP v launchSettings.json projektu AppHost.", - "symbols/appHostMcpHttpPort/description": "Číslo portu, který se má použít pro koncový bod MCP HTTP v launchSettings.json projektu AppHost.", "symbols/appHostResourceHttpPort/description": "Číslo portu, který se má použít pro koncový bod HTTP služby prostředků v launchSettings.json projektu AppHost.", "symbols/appHostHttpsPort/description": "Číslo portu, který se má použít pro koncový bod HTTPS v launchSettings.json projektu AppHost. Tato možnost se dá použít jenom v případě, že se nepoužívá parametr no-https.", "symbols/appHostOtlpHttpsPort/description": "Číslo portu, který se má použít pro koncový bod HTTPS OTLP v launchSettings.json projektu AppHost.", - "symbols/appHostMcpHttpsPort/description": "Číslo portu, který se má použít pro koncový bod MCP HTTPS v launchSettings.json projektu AppHost.", "symbols/appHostResourceHttpsPort/description": "Číslo portu, který se má použít pro koncový bod HTTPS služby prostředků v launchSettings.json projektu AppHost.", "symbols/serverHttpPort/description": "Číslo portu, který se má použít pro koncový bod HTTP v launchSettings.json projektu serveru.", "symbols/serverHttpsPort/description": "Číslo portu, který se má použít pro koncový bod HTTPS v launchSettings.json projektu serveru. Tato možnost se dá použít jenom v případě, že se nepoužívá parametr no-https.", diff --git a/src/Aspire.ProjectTemplates/templates/aspire-js-frontend-starter/.template.config/localize/templatestrings.de.json b/src/Aspire.ProjectTemplates/templates/aspire-js-frontend-starter/.template.config/localize/templatestrings.de.json index f5e8ec4c6d6..4adbf5c2387 100644 --- a/src/Aspire.ProjectTemplates/templates/aspire-js-frontend-starter/.template.config/localize/templatestrings.de.json +++ b/src/Aspire.ProjectTemplates/templates/aspire-js-frontend-starter/.template.config/localize/templatestrings.de.json @@ -1,4 +1,4 @@ -{ +{ "author": "Microsoft", "name": "React (Vite) & Minimaler API-Starter", "description": "Eine Projektvorlage zum Erstellen einer Aspire-App mit einem React-Front-End (Vite) und einem Minimal-API-Back-End-Dienst, optional mit Redis für die Zwischenspeicherung.", @@ -10,11 +10,9 @@ "symbols/UseRedisCache/description": "Konfiguriert, ob die Anwendung für die Verwendung von Redis für die Zwischenspeicherung eingerichtet werden soll. Erfordert eine unterstützte Containerruntime für die lokale Ausführung. Weitere Informationen finden Sie unter https://aka.ms/dotnet/aspire/containers.", "symbols/appHostHttpPort/description": "Portnummer, die für den HTTP-Endpunkt in launchSettings.json des AppHost-Projekts verwendet werden soll.", "symbols/appHostOtlpHttpPort/description": "Portnummer, die für den OTLP-HTTP-Endpunkt in launchSettings.json des AppHost-Projekts verwendet werden soll.", - "symbols/appHostMcpHttpPort/description": "Portnummer, die für den MCP-HTTP-Endpunkt in launchSettings.json des AppHost-Projekts verwendet werden soll.", "symbols/appHostResourceHttpPort/description": "Portnummer, die für den HTTP-Endpunkt des Ressourcendiensts in launchSettings.json des AppHost-Projekts verwendet werden soll.", "symbols/appHostHttpsPort/description": "Portnummer, die für den HTTPS-Endpunkt in launchSettings.json des AppHost-Projekts verwendet werden soll. Diese Option ist nur anwendbar, wenn der Parameter no-https nicht verwendet wird.", "symbols/appHostOtlpHttpsPort/description": "Portnummer, die für den OTLP-HTTPS-Endpunkt in launchSettings.json des AppHost-Projekts verwendet werden soll.", - "symbols/appHostMcpHttpsPort/description": "Portnummer, die für den MCP-HTTPS-Endpunkt in launchSettings.json des AppHost-Projekts verwendet werden soll.", "symbols/appHostResourceHttpsPort/description": "Portnummer, die für den HTTPS-Endpunkt des Ressourcendiensts in launchSettings.json des AppHost-Projekts verwendet werden soll.", "symbols/serverHttpPort/description": "Portnummer, die für den HTTP-Endpunkt in launchSettings.json des Serverprojekts verwendet werden soll.", "symbols/serverHttpsPort/description": "Portnummer, die für den HTTPS-Endpunkt in launchSettings.json des Serverprojekts verwendet werden soll. Diese Option ist nur anwendbar, wenn der Parameter no-https nicht verwendet wird.", diff --git a/src/Aspire.ProjectTemplates/templates/aspire-js-frontend-starter/.template.config/localize/templatestrings.es.json b/src/Aspire.ProjectTemplates/templates/aspire-js-frontend-starter/.template.config/localize/templatestrings.es.json index f54897da4f4..5fd26724dc0 100644 --- a/src/Aspire.ProjectTemplates/templates/aspire-js-frontend-starter/.template.config/localize/templatestrings.es.json +++ b/src/Aspire.ProjectTemplates/templates/aspire-js-frontend-starter/.template.config/localize/templatestrings.es.json @@ -1,4 +1,4 @@ -{ +{ "author": "Microsoft", "name": "Inicio rápido de React (Vite) y API mínima", "description": "Una plantilla de proyecto para crear una aplicación Dehesa con un front-end de React (Vite) y un servicio back-end de API mínima, opcionalmente mediante Redis para el almacenamiento en caché.", @@ -10,11 +10,9 @@ "symbols/UseRedisCache/description": "Configura si se va a configurar la aplicación para que use Redis para el almacenamiento en caché. Requiere un contenedor de runtime compatible para ejecutarse localmente. Consulte https://aka.ms/dotnet/aspire/containers para obtener más detalles.", "symbols/appHostHttpPort/description": "Número de puerto que se va a usar para el punto de conexión HTTP en launchSettings.json del proyecto AppHost.", "symbols/appHostOtlpHttpPort/description": "Número de puerto que se va a usar para el punto de conexión HTTP de OTLP en launchSettings.json del proyecto AppHost.", - "symbols/appHostMcpHttpPort/description": "Número de puerto que se va a usar para el punto de conexión MCP HTTP en launchSettings.json del proyecto AppHost.", "symbols/appHostResourceHttpPort/description": "Número de puerto que se va a usar para el punto de conexión HTTP del servicio de recursos en launchSettings.json del proyecto AppHost.", "symbols/appHostHttpsPort/description": "Número de puerto que se va a usar para el punto de conexión HTTPS en launchSettings.json del proyecto AppHost. Esta opción solo es aplicable cuando no se usa el parámetro no-https.", "symbols/appHostOtlpHttpsPort/description": "Número de puerto que se va a usar para el punto de conexión HTTPS de OTLP en launchSettings.json del proyecto AppHost.", - "symbols/appHostMcpHttpsPort/description": "Número de puerto que se va a usar para el punto de conexión MCP HTTPS en launchSettings.json del proyecto AppHost.", "symbols/appHostResourceHttpsPort/description": "Número de puerto a usar para el punto de conexión HTTPS del servicio de recursos en launchSettings.json del proyecto AppHost.", "symbols/serverHttpPort/description": "Número de puerto que se va a usar para el punto de conexión HTTP en launchSettings.json del proyecto de servidor.", "symbols/serverHttpsPort/description": "Número de puerto que se va a usar para el punto de conexión HTTPS en launchSettings.json del proyecto de servidor. Esta opción solo es aplicable cuando no se usa el parámetro no-https.", diff --git a/src/Aspire.ProjectTemplates/templates/aspire-js-frontend-starter/.template.config/localize/templatestrings.fr.json b/src/Aspire.ProjectTemplates/templates/aspire-js-frontend-starter/.template.config/localize/templatestrings.fr.json index a1af5abe210..4317468d81c 100644 --- a/src/Aspire.ProjectTemplates/templates/aspire-js-frontend-starter/.template.config/localize/templatestrings.fr.json +++ b/src/Aspire.ProjectTemplates/templates/aspire-js-frontend-starter/.template.config/localize/templatestrings.fr.json @@ -1,4 +1,4 @@ -{ +{ "author": "Microsoft", "name": "React (Vite) et starter d’API minimal", "description": "Un modèle de projet pour créer une application Aspire avec une interface React (Vite) front-end et un service backend d’API Minimal, en utilisant éventuellement Redis pour la mise en cache.", @@ -10,11 +10,9 @@ "symbols/UseRedisCache/description": "Permet la configuration s’il faut configurer l’application afin qu’elle utilise Redis pour la mise en cache. Nécessite un runtime du conteneur pris en charge pour fonctionner localement, voir https://aka.ms/dotnet/aspire/containers pour obtenir plus d’informations.", "symbols/appHostHttpPort/description": "Numéro de port à utiliser pour le point de terminaison HTTP dans launchSettings.json du projet AppHost.", "symbols/appHostOtlpHttpPort/description": "Numéro de port à utiliser pour le point de terminaison HTTP OTLP dans launchSettings.json du projet AppHost.", - "symbols/appHostMcpHttpPort/description": "Numéro de port à utiliser pour le point de terminaison HTTP MCP dans launchSettings.json du projet AppHost.", "symbols/appHostResourceHttpPort/description": "Numéro de port à utiliser pour le point de terminaison HTTP du service de ressources dans launchSettings.json du projet AppHost.", "symbols/appHostHttpsPort/description": "Numéro de port à utiliser pour le point de terminaison HTTPS dans launchSettings.json du projet AppHost. Cette option n'est applicable que lorsque le paramètre no-https n'est pas utilisé.", "symbols/appHostOtlpHttpsPort/description": "Numéro de port à utiliser pour le point de terminaison HTTPS OTLP dans launchSettings.json du projet AppHost.", - "symbols/appHostMcpHttpsPort/description": "Numéro de port à utiliser pour le point de terminaison HTTPS MCP dans launchSettings.json du projet AppHost.", "symbols/appHostResourceHttpsPort/description": "Numéro de port à utiliser pour le point de terminaison HTTPS du service de ressources dans launchSettings.json du projet AppHost.", "symbols/serverHttpPort/description": "Numéro de port à utiliser pour le point de terminaison HTTP dans launchSettings.json du projet Serveur.", "symbols/serverHttpsPort/description": "Numéro de port à utiliser pour le point de terminaison HTTPS dans launchSettings.json du projet Serveur. Cette option n’est applicable que lorsque le paramètre no-https n’est pas utilisé.", diff --git a/src/Aspire.ProjectTemplates/templates/aspire-js-frontend-starter/.template.config/localize/templatestrings.it.json b/src/Aspire.ProjectTemplates/templates/aspire-js-frontend-starter/.template.config/localize/templatestrings.it.json index a54ec5438d2..c9df8e86305 100644 --- a/src/Aspire.ProjectTemplates/templates/aspire-js-frontend-starter/.template.config/localize/templatestrings.it.json +++ b/src/Aspire.ProjectTemplates/templates/aspire-js-frontend-starter/.template.config/localize/templatestrings.it.json @@ -1,4 +1,4 @@ -{ +{ "author": "Microsoft", "name": "React (Vite) e Minimal API starter", "description": "Modello di progetto per la creazione di un'app Aspire con un front-end React (Vite) e un servizio back-end Minimal API, usando facoltativamente Redis per la memorizzazione nella cache.", @@ -10,11 +10,9 @@ "symbols/UseRedisCache/description": "Configura se impostare l'applicazione per l'utilizzo di Redis per la memorizzazione nella cache. Richiede l'esecuzione locale di un runtime del contenitore supportato. Per altri dettagli, vedere https://aka.ms/dotnet/aspire/containers.", "symbols/appHostHttpPort/description": "Numero di porta da usare per l'endpoint HTTP in launchSettings.json. del progetto AppHost.", "symbols/appHostOtlpHttpPort/description": "Numero di porta da usare per l'endpoint OTLP HTTP in launchSettings.json. del progetto AppHost.", - "symbols/appHostMcpHttpPort/description": "Numero di porta da usare per l'endpoint MCP HTTP in launchSettings.json. del progetto AppHost.", "symbols/appHostResourceHttpPort/description": "Numero di porta da usare per l'endpoint HTTP del servizio risorse in launchSettings.json del progetto AppHost.", "symbols/appHostHttpsPort/description": "Numero di porta da usare per l'endpoint HTTPS in launchSettings.json. del progetto AppHost. Questa opzione è applicabile solo quando il parametro no-https non viene usato.", "symbols/appHostOtlpHttpsPort/description": "Numero di porta da usare per l'endpoint OTLP HTTPS in launchSettings.json. del progetto AppHost.", - "symbols/appHostMcpHttpsPort/description": "Numero di porta da usare per l'endpoint MCP HTTPS in launchSettings.json. del progetto AppHost.", "symbols/appHostResourceHttpsPort/description": "Numero di porta da usare per l'endpoint HTTPS del servizio risorse in launchSettings.json del progetto AppHost.", "symbols/serverHttpPort/description": "Numero di porta da usare per l'endpoint HTTP in launchSettings.json. del progetto Server.", "symbols/serverHttpsPort/description": "Numero di porta da usare per l'endpoint HTTPS in launchSettings.json del progetto Server. Questa opzione è applicabile solo quando il parametro no-https non viene usato.", diff --git a/src/Aspire.ProjectTemplates/templates/aspire-js-frontend-starter/.template.config/localize/templatestrings.ja.json b/src/Aspire.ProjectTemplates/templates/aspire-js-frontend-starter/.template.config/localize/templatestrings.ja.json index 3f91b45082a..848c9c58382 100644 --- a/src/Aspire.ProjectTemplates/templates/aspire-js-frontend-starter/.template.config/localize/templatestrings.ja.json +++ b/src/Aspire.ProjectTemplates/templates/aspire-js-frontend-starter/.template.config/localize/templatestrings.ja.json @@ -1,4 +1,4 @@ -{ +{ "author": "Microsoft", "name": "React (Vite) および Minimal API スターター", "description": "React (Vite) フロントエンドおよび Minimal API バックエンド サービスを使用して Aspire アプリを作成するためのプロジェクト テンプレート。必要に応じて、Redis をキャッシュに使用します。", @@ -10,11 +10,9 @@ "symbols/UseRedisCache/description": "Redis をキャッシュに使用するようにアプリケーションを設定するかどうかを構成します。ローカルで実行するには、サポートされているコンテナー ランタイムが必要です。詳細については、https://aka.ms/dotnet/aspire/containers を参照してください。", "symbols/appHostHttpPort/description": "AppHost プロジェクトの launchSettings.json の HTTP エンドポイントに使用するポート番号。", "symbols/appHostOtlpHttpPort/description": "AppHost プロジェクトの launchSettings.json で OTLP HTTP エンドポイントに使用するポート番号。", - "symbols/appHostMcpHttpPort/description": "AppHost プロジェクトの launchSettings.json で MCP HTTP エンドポイント向けに使用するポート番号。", "symbols/appHostResourceHttpPort/description": "AppHost プロジェクトの launchSettings.json のリソース サービス HTTP エンドポイントに使用するポート番号。", "symbols/appHostHttpsPort/description": "AppHost プロジェクトの launchSettings.json の HTTPS エンドポイントに使用するポート番号。このオプションは、パラメーター no-https を使用しない場合にのみ適用されます。", "symbols/appHostOtlpHttpsPort/description": "AppHost プロジェクトの launchSettings.json で OTLP HTTPS エンドポイントに使用するポート番号。", - "symbols/appHostMcpHttpsPort/description": "AppHost プロジェクトの launchSettings.json で MCP HTTPS エンドポイント向けに使用するポート番号。", "symbols/appHostResourceHttpsPort/description": "AppHost プロジェクトの launchSettings.json のリソース サービス HTTPS エンドポイントに使用するポート番号。", "symbols/serverHttpPort/description": "Server プロジェクトの launchSettings.json の HTTP エンドポイントに使用するポート番号。", "symbols/serverHttpsPort/description": "Server プロジェクトの launchSettings.json の HTTPS エンドポイントに使用するポート番号。このオプションは、パラメーター no-https を使用されていない場合にのみ適用されます。", diff --git a/src/Aspire.ProjectTemplates/templates/aspire-js-frontend-starter/.template.config/localize/templatestrings.ko.json b/src/Aspire.ProjectTemplates/templates/aspire-js-frontend-starter/.template.config/localize/templatestrings.ko.json index 7590425c8cf..2a6379d5c39 100644 --- a/src/Aspire.ProjectTemplates/templates/aspire-js-frontend-starter/.template.config/localize/templatestrings.ko.json +++ b/src/Aspire.ProjectTemplates/templates/aspire-js-frontend-starter/.template.config/localize/templatestrings.ko.json @@ -1,4 +1,4 @@ -{ +{ "author": "Microsoft", "name": "React(Vite) 및 최소 API 스타터", "description": "필요에 따라 캐싱에 Redis를 사용하여 React(Vite) 프런트 엔드와 최소 API 백 엔드 서비스로 Aspire 앱을 만들기 위한 프로젝트 템플릿입니다.", @@ -10,11 +10,9 @@ "symbols/UseRedisCache/description": "캐싱에 Redis를 사용하도록 응용 프로그램을 설정할지 여부를 구성합니다. 로컬로 실행하려면 지원되는 컨테이너 런타임이 필요합니다. 자세한 내용은 https://aka.ms/dotnet/aspire/containers를 참조하세요.", "symbols/appHostHttpPort/description": "AppHost 프로젝트의 launchSettings.json HTTP 엔드포인트에 사용할 포트 번호입니다.", "symbols/appHostOtlpHttpPort/description": "AppHost 프로젝트의 launchSettings.json OTLP HTTP 엔드포인트에 사용할 포트 번호입니다.", - "symbols/appHostMcpHttpPort/description": "AppHost 프로젝트의 launchSettings.json에서 MCP HTTP 엔드포인트에 사용할 포트 번호입니다.", "symbols/appHostResourceHttpPort/description": "AppHost 프로젝트의 launchSettings.json 리소스 서비스 HTTP 엔드포인트에 사용할 포트 번호입니다.", "symbols/appHostHttpsPort/description": "AppHost 프로젝트의 launchSettings.json HTTPS 엔드포인트에 사용할 포트 번호입니다. 이 옵션은 no-https 매개 변수가 사용되지 않는 경우에만 적용됩니다.", "symbols/appHostOtlpHttpsPort/description": "AppHost 프로젝트의 launchSettings.json OTLP HTTPS 엔드포인트에 사용할 포트 번호입니다.", - "symbols/appHostMcpHttpsPort/description": "AppHost 프로젝트의 launchSettings.json에서 MCP HTTPS 엔드포인트에 사용할 포트 번호입니다.", "symbols/appHostResourceHttpsPort/description": "AppHost 프로젝트의 launchSettings.json 리소스 서비스 HTTPS 엔드포인트에 사용할 포트 번호입니다.", "symbols/serverHttpPort/description": "서버 프로젝트의 launchSettings.json에서 HTTP 엔드포인트에 사용할 포트 번호입니다.", "symbols/serverHttpsPort/description": "서버 프로젝트의 launchSettings.json에서 HTTPS 엔드포인트에 사용할 포트 번호입니다. 이 옵션은 no-https 매개 변수가 사용되지 않는 경우에만 적용됩니다.", diff --git a/src/Aspire.ProjectTemplates/templates/aspire-js-frontend-starter/.template.config/localize/templatestrings.pl.json b/src/Aspire.ProjectTemplates/templates/aspire-js-frontend-starter/.template.config/localize/templatestrings.pl.json index e2ca4598220..621a369dc98 100644 --- a/src/Aspire.ProjectTemplates/templates/aspire-js-frontend-starter/.template.config/localize/templatestrings.pl.json +++ b/src/Aspire.ProjectTemplates/templates/aspire-js-frontend-starter/.template.config/localize/templatestrings.pl.json @@ -1,4 +1,4 @@ -{ +{ "author": "Microsoft", "name": "React (Vite) oraz minimalna wersja początkowa interfejsu API", "description": "Szablon projektu na potrzeby tworzenia aplikacji z frontonem React (Vite) i minimalną usługą zaplecza interfejsu API, opcjonalnie używający usługi Redis do buforowania.", @@ -10,11 +10,9 @@ "symbols/UseRedisCache/description": "Określa, czy konfigurować aplikację do korzystania z magazynu danych Redis na potrzeby buforowania. Wymaga obsługiwanego środowiska uruchomieniowego kontenera na potrzeby uruchomienia lokalnego. Aby uzyskać więcej informacji, zobacz https://aka.ms/dotnet/aspire/containers.", "symbols/appHostHttpPort/description": "Numer portu do użycia dla punktu końcowego HTTP w pliku launchSettings.json projektu AppHost.", "symbols/appHostOtlpHttpPort/description": "Numer portu do użycia dla punktu końcowego HTTP OTLP w pliku launchSettings.json projektu AppHost.", - "symbols/appHostMcpHttpPort/description": "Numer portu do użycia dla punktu końcowego HTTP MCP w pliku launchSettings.json projektu AppHost.", "symbols/appHostResourceHttpPort/description": "Numer portu do użycia dla punktu końcowego HTTP usługi zasobów w pliku launchSettings.json projektu AppHost.", "symbols/appHostHttpsPort/description": "Numer portu do użycia dla punktu końcowego HTTPS w pliku launchSettings.json projektu AppHost. Ta opcja ma zastosowanie tylko wtedy, gdy parametr no-https nie jest używany.", "symbols/appHostOtlpHttpsPort/description": "Numer portu do użycia dla punktu końcowego HTTPS OTLP w pliku launchSettings.json projektu AppHost.", - "symbols/appHostMcpHttpsPort/description": "Numer portu do użycia dla punktu końcowego HTTPS MCP w pliku launchSettings.json projektu AppHost.", "symbols/appHostResourceHttpsPort/description": "Numer portu do użycia dla punktu końcowego HTTPS usługi zasobów w pliku launchSettings.json projektu AppHost.", "symbols/serverHttpPort/description": "Numer portu do użycia dla punktu końcowego HTTP w pliku launchSettings.json projektu sieci Web.", "symbols/serverHttpsPort/description": "Numer portu do użycia dla punktu końcowego HTTPS w pliku launchSettings.json projektu serwera. Ta opcja ma zastosowanie tylko wtedy, gdy parametr no-https nie jest używany.", diff --git a/src/Aspire.ProjectTemplates/templates/aspire-js-frontend-starter/.template.config/localize/templatestrings.pt-BR.json b/src/Aspire.ProjectTemplates/templates/aspire-js-frontend-starter/.template.config/localize/templatestrings.pt-BR.json index 9eec3e2be08..36b18686bdb 100644 --- a/src/Aspire.ProjectTemplates/templates/aspire-js-frontend-starter/.template.config/localize/templatestrings.pt-BR.json +++ b/src/Aspire.ProjectTemplates/templates/aspire-js-frontend-starter/.template.config/localize/templatestrings.pt-BR.json @@ -1,4 +1,4 @@ -{ +{ "author": "Microsoft", "name": "Reagir (Vite) e API Mínima", "description": "Um modelo de projeto para criar um aplicativo Aspire com um front-end React (Vite) e um serviço de back-end de API mínima, usando Redis para cache, opcionalmente.", @@ -10,11 +10,9 @@ "symbols/UseRedisCache/description": "Configura se o aplicativo deve ser configurado para usar o Redis para cache. Requer um runtime contêiner compatível para ser executado localmente; consulte https://aka.ms/dotnet/aspire/containers para obter mais detalhes.", "symbols/appHostHttpPort/description": "Número da porta a ser usado para o ponto de extremidade HTTP launchSettings.json do projeto AppHost.", "symbols/appHostOtlpHttpPort/description": "Número da porta a ser usado para o ponto de extremidade HTTP OTLP launchSettings.json do projeto AppHost.", - "symbols/appHostMcpHttpPort/description": "Número da porta a ser usado para o ponto de extremidade HTTP do MCP launchSettings.json do projeto AppHost.", "symbols/appHostResourceHttpPort/description": "Número da porta a ser usado para o ponto de extremidade HTTP do serviço de recurso launchSettings.json do projeto AppHost.", "symbols/appHostHttpsPort/description": "Número da porta a ser usado para o ponto de extremidade HTTPS launchSettings.json do projeto AppHost. Essa opção só é aplicável quando o parâmetro no-https não é usado.", "symbols/appHostOtlpHttpsPort/description": "Número da porta a ser usado para o ponto de extremidade HTTPS OTLP launchSettings.json do projeto AppHost.", - "symbols/appHostMcpHttpsPort/description": "Número da porta a ser usado para o ponto de extremidade HTTPS do MCP launchSettings.json do projeto AppHost.", "symbols/appHostResourceHttpsPort/description": "Número da porta a ser usado para o ponto de extremidade HTTPS do serviço de recurso launchSettings.json do projeto AppHost.", "symbols/serverHttpPort/description": "Número da porta a ser usado para o ponto de extremidade HTTP em launchSettings.json do projeto Servidor.", "symbols/serverHttpsPort/description": "Número da porta a ser usado para o ponto de extremidade HTTPS em launchSettings.json do projeto Servidor. Esta opção só se aplica quando o parâmetro no-https não é usado.", diff --git a/src/Aspire.ProjectTemplates/templates/aspire-js-frontend-starter/.template.config/localize/templatestrings.ru.json b/src/Aspire.ProjectTemplates/templates/aspire-js-frontend-starter/.template.config/localize/templatestrings.ru.json index ed6de89c662..6fff2bfb4e1 100644 --- a/src/Aspire.ProjectTemplates/templates/aspire-js-frontend-starter/.template.config/localize/templatestrings.ru.json +++ b/src/Aspire.ProjectTemplates/templates/aspire-js-frontend-starter/.template.config/localize/templatestrings.ru.json @@ -1,4 +1,4 @@ -{ +{ "author": "Майкрософт", "name": "Начальный пакет React (Vite) и минимального API", "description": "Шаблон проекта для создания приложения Aspire с интерфейсной частью React (Vite) и серверной службой минимального API, при необходимости с использованием Redis для кэширования.", @@ -10,11 +10,9 @@ "symbols/UseRedisCache/description": "Определяет, следует ли настраивать приложение с целью использования Redis для кэширования. Для локального запуска требуется поддерживаемая среда выполнения контейнера. Дополнительные сведения см. на странице https://aka.ms/dotnet/aspire/containers.", "symbols/appHostHttpPort/description": "Номер порта, который будет использоваться для конечной точки HTTP в файле launchSettings.json проекта AppHost.", "symbols/appHostOtlpHttpPort/description": "Номер порта, который будет использоваться для конечной точки HTTP OTLP в файле launchSettings.json проекта AppHost.", - "symbols/appHostMcpHttpPort/description": "Номер порта для использования в конечной точке MCP HTTP в launchSettings.json проекта AppHost.", "symbols/appHostResourceHttpPort/description": "Номер порта, который будет использоваться для конечной точки HTTP службы ресурсов в файле launchSettings.json проекта AppHost.", "symbols/appHostHttpsPort/description": "Номер порта, который будет использоваться для конечной точки HTTPS в файле launchSettings.json проекта AppHost. Этот параметр применим только в том случае, если NO-HTTP не используется.", "symbols/appHostOtlpHttpsPort/description": "Номер порта, который будет использоваться для конечной точки OTLP HTTPS в файле launchSettings.json проекта AppHost.", - "symbols/appHostMcpHttpsPort/description": "Номер порта для использования в конечной точке MCP HTTPS в launchSettings.json проекта AppHost.", "symbols/appHostResourceHttpsPort/description": "Номер порта, который будет использоваться для конечной точки HTTPS службы ресурсов в файле launchSettings.json проекта AppHost.", "symbols/serverHttpPort/description": "Номер порта, который будет использоваться для конечной точки HTTP в файле launchSettings.json проекта сервера.", "symbols/serverHttpsPort/description": "Номер порта, который будет использоваться для конечной точки HTTPS в файле launchSettings.json проекта сервера. Этот параметр применим только в том случае, если NO-HTTP не используется.", diff --git a/src/Aspire.ProjectTemplates/templates/aspire-js-frontend-starter/.template.config/localize/templatestrings.tr.json b/src/Aspire.ProjectTemplates/templates/aspire-js-frontend-starter/.template.config/localize/templatestrings.tr.json index a4a02e35efe..5d17b8e5eb5 100644 --- a/src/Aspire.ProjectTemplates/templates/aspire-js-frontend-starter/.template.config/localize/templatestrings.tr.json +++ b/src/Aspire.ProjectTemplates/templates/aspire-js-frontend-starter/.template.config/localize/templatestrings.tr.json @@ -1,4 +1,4 @@ -{ +{ "author": "Microsoft", "name": "React (Vite) & Minimal API başlatıcısı", "description": "React (Vite) ön uç ve Minimal API arka uç hizmetiyle, ayrıca önbelleğe alırken isteğe bağlı olarak Redis'i kullanıp bir Aspire uygulaması oluşturmak için proje şablonu.", @@ -10,11 +10,9 @@ "symbols/UseRedisCache/description": "Uygulamanın önbelleğe alma için Redis’i kullanmak üzere ayarlanıp ayarlanmayacağını yapılandırır. Yerel olarak çalıştırmak için desteklenen bir kapsayıcı çalışma zamanı gerektirir. Daha fazla ayrıntı için https://aka.ms/dotnet/aspire/containers sayfasına bakın.", "symbols/appHostHttpPort/description": "AppHost projesinin HTTP uç noktası launchSettings.json bağlantı noktası numarası.", "symbols/appHostOtlpHttpPort/description": "AppHost projesinin OTLP HTTP uç noktası launchSettings.json bağlantı noktası numarası.", - "symbols/appHostMcpHttpPort/description": "AppHost projesinin launchSettings.json dosyasında MCP HTTP uç noktası için kullanılacak bağlantı noktası numarası.", "symbols/appHostResourceHttpPort/description": "AppHost projesinin kaynak hizmeti HTTP uç noktası launchSettings.json bağlantı noktası numarası.", "symbols/appHostHttpsPort/description": "AppHost projesinin HTTPS uç noktası launchSettings.json bağlantı noktası numarası. Bu seçenek yalnızca no-https parametresi kullanılmadığında uygulanabilir.", "symbols/appHostOtlpHttpsPort/description": "AppHost projesinin OTLP HTTPS uç noktası launchSettings.json bağlantı noktası numarası.", - "symbols/appHostMcpHttpsPort/description": "AppHost projesinin launchSettings.json dosyasında MCP HTTPS uç noktası için kullanılacak bağlantı noktası numarası.", "symbols/appHostResourceHttpsPort/description": "AppHost projesinin kaynak hizmeti HTTPS uç noktası launchSettings.json bağlantı noktası numarası.", "symbols/serverHttpPort/description": "Sunucu projesinin launchSettings.json dosyasındaki HTTP uç noktası için kullanılacak bağlantı noktası numarası.", "symbols/serverHttpsPort/description": "Sunucu projesinin launchSettings.json dosyasındaki HTTPS uç noktası için kullanılacak bağlantı noktası numarası. Bu seçenek yalnızca no-https parametresi kullanılmadığında uygulanabilir.", diff --git a/src/Aspire.ProjectTemplates/templates/aspire-js-frontend-starter/.template.config/localize/templatestrings.zh-Hans.json b/src/Aspire.ProjectTemplates/templates/aspire-js-frontend-starter/.template.config/localize/templatestrings.zh-Hans.json index ed5a348932e..f349b2c037d 100644 --- a/src/Aspire.ProjectTemplates/templates/aspire-js-frontend-starter/.template.config/localize/templatestrings.zh-Hans.json +++ b/src/Aspire.ProjectTemplates/templates/aspire-js-frontend-starter/.template.config/localize/templatestrings.zh-Hans.json @@ -1,4 +1,4 @@ -{ +{ "author": "Microsoft", "name": "React (Vite) 与 Minimal API 入门", "description": "用于使用 React (Vite)前端和 Minimal API 后端服务创建 Aspire 应用的项目模板,可以选择使用 Redis 进行缓存。", @@ -10,11 +10,9 @@ "symbols/UseRedisCache/description": "配置是否将应用程序设置为使用 Redis 进行缓存。需要支持的容器运行时才能在本地运行,有关详细信息,请访问 https://aka.ms/dotnet/aspire/containers。", "symbols/appHostHttpPort/description": "该端口号将用于 AppHost 项目的 launchSettings.json 中的 HTTP 终结点。", "symbols/appHostOtlpHttpPort/description": "该端口号将用于 AppHost 项目的 launchSettings.json 中的 OTLP HTTP 终结点。", - "symbols/appHostMcpHttpPort/description": "用于 AppHost 项目的 launchSettings.json 中 MCP HTTP 终结点的端口号。", "symbols/appHostResourceHttpPort/description": "该端口号将用于 AppHost 项目的 launchSettings.json 中的资源服务 HTTP 终结点。", "symbols/appHostHttpsPort/description": "该端口号将用于 AppHost 项目的 launchSettings.json 中的 HTTPS 终结点。仅当不使用参数 no-https 时,此选项才适用。", "symbols/appHostOtlpHttpsPort/description": "该端口号将用于 AppHost 项目的 launchSettings.json 中的 OTLP HTTPS 终结点。", - "symbols/appHostMcpHttpsPort/description": "用于 AppHost 项目的 launchSettings.json 中 MCP HTTPS 终结点的端口号。", "symbols/appHostResourceHttpsPort/description": "该端口号将用于 AppHost 项目的 launchSettings.json 中的资源服务 HTTPS 终结点。", "symbols/serverHttpPort/description": "该端口号将用于服务器项目的 launchSettings.json 中的 HTTP 终结点。", "symbols/serverHttpsPort/description": "该端口号将用于服务器项目的 launchSettings.json 中的 HTTPS 终结点。仅当不使用参数 no-https 时,此选项才适用。", diff --git a/src/Aspire.ProjectTemplates/templates/aspire-js-frontend-starter/.template.config/localize/templatestrings.zh-Hant.json b/src/Aspire.ProjectTemplates/templates/aspire-js-frontend-starter/.template.config/localize/templatestrings.zh-Hant.json index 6def13efadf..6f17853e9d4 100644 --- a/src/Aspire.ProjectTemplates/templates/aspire-js-frontend-starter/.template.config/localize/templatestrings.zh-Hant.json +++ b/src/Aspire.ProjectTemplates/templates/aspire-js-frontend-starter/.template.config/localize/templatestrings.zh-Hant.json @@ -1,4 +1,4 @@ -{ +{ "author": "Microsoft", "name": "React (Vite) 與 Minimal API 入門範本", "description": "用於建立 Aspire 應用程式的專案範本,其中包含 React (Vite) 前端與 Minimal API 後端服務,並可選擇使用 Redis 進行快取。", @@ -10,11 +10,9 @@ "symbols/UseRedisCache/description": "設定是否要將應用程式設為使用 Redis 進行快取。需要支援的容器執行階段,才能在本機執行,如需詳細資料,請參閱 https://aka.ms/dotnet/aspire/containers。", "symbols/appHostHttpPort/description": "要用於 AppHost 專案 launchSettings.json 中 HTTP 端點的連接埠號碼。", "symbols/appHostOtlpHttpPort/description": "要用於 AppHost 專案 launchSettings.json 中 OTLP HTTP 端點的連接埠號碼。", - "symbols/appHostMcpHttpPort/description": "要用於 AppHost 專案 launchSettings.json 中 MCP HTTP 端點的連接埠號碼。", "symbols/appHostResourceHttpPort/description": "要用於 AppHost 專案 launchSettings.json 中資源服務 HTTP 端點的連接埠號碼。", "symbols/appHostHttpsPort/description": "要用於 AppHost 專案 launchSettings.json 中 HTTPS 端點的連接埠號碼。只有在未使用參數 no-https 時,才適用此選項。", "symbols/appHostOtlpHttpsPort/description": "要用於 AppHost 專案 launchSettings.json 中 OTLP HTTPS 端點的連接埠號碼。", - "symbols/appHostMcpHttpsPort/description": "要用於 AppHost 專案 launchSettings.json 中 MCP HTTPS 端點的連接埠號碼。", "symbols/appHostResourceHttpsPort/description": "要用於 AppHost 專案 launchSettings.json 中資源服務 HTTPS 端點的連接埠號碼。", "symbols/serverHttpPort/description": "要用於伺服器專案 launchSettings.json 中 HTTP 端點的連接埠號碼。", "symbols/serverHttpsPort/description": "要用於伺服器專案 launchSettings.json 中 HTTPS 端點的連接埠號碼。只有在未使用參數 no-https 時,才適用此選項。", diff --git a/src/Aspire.ProjectTemplates/templates/aspire-py-starter/.template.config/localize/templatestrings.cs.json b/src/Aspire.ProjectTemplates/templates/aspire-py-starter/.template.config/localize/templatestrings.cs.json index 5f868c31c03..43a941d3199 100644 --- a/src/Aspire.ProjectTemplates/templates/aspire-py-starter/.template.config/localize/templatestrings.cs.json +++ b/src/Aspire.ProjectTemplates/templates/aspire-py-starter/.template.config/localize/templatestrings.cs.json @@ -1,4 +1,4 @@ -{ +{ "author": "Microsoft", "name": "Úvodní aplikace Aspire (FastAPI/React)", "description": "Šablona projektu pro vytvoření aplikace Aspire s front-endem Reactu a službou back-endového rozhraní API Pythonu s volitelným ukládáním do mezipaměti Redis", @@ -6,11 +6,9 @@ "symbols/UseRedisCache/description": "Nakonfiguruje, jestli se má aplikace nastavit tak, aby pro ukládání do mezipaměti používala Redis. K místnímu spouštění se vyžaduje podporovaný modul runtime kontejneru. Další podrobnosti najdete na https://aka.ms/aspire/containers.", "symbols/appHostHttpPort/description": "Číslo portu, který se má použít pro koncový bod HTTP v launchSettings.json projektu AppHost.", "symbols/appHostOtlpHttpPort/description": "Číslo portu, který se má použít pro koncový bod HTTP OTLP v launchSettings.json projektu AppHost.", - "symbols/appHostMcpHttpPort/description": "Číslo portu, který se má použít pro koncový bod MCP HTTP v launchSettings.json projektu AppHost.", "symbols/appHostResourceHttpPort/description": "Číslo portu, který se má použít pro koncový bod HTTP služby prostředků v launchSettings.json projektu AppHost.", "symbols/appHostHttpsPort/description": "Číslo portu, který se má použít pro koncový bod HTTPS v launchSettings.json projektu AppHost. Tato možnost se dá použít jenom v případě, že se nepoužívá parametr no-https.", "symbols/appHostOtlpHttpsPort/description": "Číslo portu, který se má použít pro koncový bod HTTPS OTLP v launchSettings.json projektu AppHost.", - "symbols/appHostMcpHttpsPort/description": "Číslo portu, který se má použít pro koncový bod MCP HTTPS v launchSettings.json projektu AppHost.", "symbols/appHostResourceHttpsPort/description": "Číslo portu, který se má použít pro koncový bod HTTPS služby prostředků v launchSettings.json projektu AppHost.", "symbols/NoHttps/description": "Určuje, jestli se má vypnout protokol HTTPS.", "symbols/LocalhostTld/displayName": "Použití TLD .dev.localhost v adrese URL aplikace", diff --git a/src/Aspire.ProjectTemplates/templates/aspire-py-starter/.template.config/localize/templatestrings.de.json b/src/Aspire.ProjectTemplates/templates/aspire-py-starter/.template.config/localize/templatestrings.de.json index c0a36c1300a..9b84c7a820a 100644 --- a/src/Aspire.ProjectTemplates/templates/aspire-py-starter/.template.config/localize/templatestrings.de.json +++ b/src/Aspire.ProjectTemplates/templates/aspire-py-starter/.template.config/localize/templatestrings.de.json @@ -1,4 +1,4 @@ -{ +{ "author": "Microsoft", "name": "Aspire-Starter-App (FastAPI/React)", "description": "Eine Projektvorlage zum Erstellen einer Aspire-App mit einem React-Front-End- und einem Python-Back-End-API-Dienst, optional mit Redis-Zwischenspeicherung.", @@ -6,11 +6,9 @@ "symbols/UseRedisCache/description": "Legt fest, ob die Anwendung für die Verwendung von Redis zum Zwischenspeichern eingerichtet werden soll. Erfordert eine unterstützte Containerruntime für die lokale Ausführung. Weitere Informationen finden Sie unter https://aka.ms/aspire/containers.", "symbols/appHostHttpPort/description": "Portnummer, die für den HTTP-Endpunkt in launchSettings.json des AppHost-Projekts verwendet werden soll.", "symbols/appHostOtlpHttpPort/description": "Portnummer, die für den OTLP-HTTP-Endpunkt in launchSettings.json des AppHost-Projekts verwendet werden soll.", - "symbols/appHostMcpHttpPort/description": "Portnummer, die für den MCP-HTTP-Endpunkt in launchSettings.json des AppHost-Projekts verwendet werden soll.", "symbols/appHostResourceHttpPort/description": "Portnummer, die für den HTTP-Endpunkt des Ressourcendiensts in launchSettings.json des AppHost-Projekts verwendet werden soll.", "symbols/appHostHttpsPort/description": "Portnummer, die für den HTTPS-Endpunkt in launchSettings.json des AppHost-Projekts verwendet werden soll. Diese Option ist nur anwendbar, wenn der Parameter no-https nicht verwendet wird.", "symbols/appHostOtlpHttpsPort/description": "Portnummer, die für den OTLP-HTTPS-Endpunkt in launchSettings.json des AppHost-Projekts verwendet werden soll.", - "symbols/appHostMcpHttpsPort/description": "Portnummer, die für den MCP-HTTPS-Endpunkt in launchSettings.json des AppHost-Projekts verwendet werden soll.", "symbols/appHostResourceHttpsPort/description": "Portnummer, die für den HTTPS-Endpunkt des Ressourcendiensts in launchSettings.json des AppHost-Projekts verwendet werden soll.", "symbols/NoHttps/description": "Ob HTTPS deaktiviert werden soll.", "symbols/LocalhostTld/displayName": "Verwenden der .dev.localhost-TLD in der Anwendungs-URL", diff --git a/src/Aspire.ProjectTemplates/templates/aspire-py-starter/.template.config/localize/templatestrings.en.json b/src/Aspire.ProjectTemplates/templates/aspire-py-starter/.template.config/localize/templatestrings.en.json index 4d98c8ec602..cbdb3adc4ae 100644 --- a/src/Aspire.ProjectTemplates/templates/aspire-py-starter/.template.config/localize/templatestrings.en.json +++ b/src/Aspire.ProjectTemplates/templates/aspire-py-starter/.template.config/localize/templatestrings.en.json @@ -6,11 +6,9 @@ "symbols/UseRedisCache/description": "Configures whether to setup the application to use Redis for caching. Requires a supported container runtime to run locally, see https://aka.ms/aspire/containers for more details.", "symbols/appHostHttpPort/description": "Port number to use for the HTTP endpoint in launchSettings.json of the AppHost project.", "symbols/appHostOtlpHttpPort/description": "Port number to use for the OTLP HTTP endpoint in launchSettings.json of the AppHost project.", - "symbols/appHostMcpHttpPort/description": "Port number to use for the MCP HTTP endpoint in launchSettings.json of the AppHost project.", "symbols/appHostResourceHttpPort/description": "Port number to use for the resource service HTTP endpoint in launchSettings.json of the AppHost project.", "symbols/appHostHttpsPort/description": "Port number to use for the HTTPS endpoint in launchSettings.json of the AppHost project. This option is only applicable when the parameter no-https is not used.", "symbols/appHostOtlpHttpsPort/description": "Port number to use for the OTLP HTTPS endpoint in launchSettings.json of the AppHost project.", - "symbols/appHostMcpHttpsPort/description": "Port number to use for the MCP HTTPS endpoint in launchSettings.json of the AppHost project.", "symbols/appHostResourceHttpsPort/description": "Port number to use for the resource service HTTPS endpoint in launchSettings.json of the AppHost project.", "symbols/NoHttps/description": "Whether to turn off HTTPS.", "symbols/LocalhostTld/displayName": "Use the .dev.localhost TLD in the application URL", diff --git a/src/Aspire.ProjectTemplates/templates/aspire-py-starter/.template.config/localize/templatestrings.es.json b/src/Aspire.ProjectTemplates/templates/aspire-py-starter/.template.config/localize/templatestrings.es.json index f583d8f2991..c918c1744da 100644 --- a/src/Aspire.ProjectTemplates/templates/aspire-py-starter/.template.config/localize/templatestrings.es.json +++ b/src/Aspire.ProjectTemplates/templates/aspire-py-starter/.template.config/localize/templatestrings.es.json @@ -1,4 +1,4 @@ -{ +{ "author": "Microsoft", "name": "Aplicación starter de Starter (FastAPI/React)", "description": "Plantilla de proyecto para crear una aplicación Desi con un front-end de React y un servicio de API de back-end de Python, con almacenamiento en caché de Redis opcional.", @@ -6,11 +6,9 @@ "symbols/UseRedisCache/description": "Configure si se va a configurar la aplicación para que use Redis para el almacenamiento en caché. Requiere un entorno de ejecución de contenedor compatible para ejecutarse localmente. Consulte https://aka.ms/aspire/containers para obtener más detalles.", "symbols/appHostHttpPort/description": "Número de puerto que se va a usar para el punto de conexión HTTP en launchSettings.json del proyecto AppHost.", "symbols/appHostOtlpHttpPort/description": "Número de puerto que se va a usar para el punto de conexión HTTP de OTLP en launchSettings.json del proyecto AppHost.", - "symbols/appHostMcpHttpPort/description": "Número de puerto que se va a usar para el punto de conexión MCP HTTP en launchSettings.json del proyecto AppHost.", "symbols/appHostResourceHttpPort/description": "Número de puerto que se va a usar para el punto de conexión HTTP del servicio de recursos en launchSettings.json del proyecto AppHost.", "symbols/appHostHttpsPort/description": "Número de puerto que se va a usar para el punto de conexión HTTPS en launchSettings.json del proyecto AppHost. Esta opción solo es aplicable cuando no se usa el parámetro no-https.", "symbols/appHostOtlpHttpsPort/description": "Número de puerto que se va a usar para el punto de conexión HTTPS de OTLP en launchSettings.json del proyecto AppHost.", - "symbols/appHostMcpHttpsPort/description": "Número de puerto que se va a usar para el punto de conexión MCP HTTPS en launchSettings.json del proyecto AppHost.", "symbols/appHostResourceHttpsPort/description": "Número de puerto a usar para el punto de conexión HTTPS del servicio de recursos en launchSettings.json del proyecto AppHost.", "symbols/NoHttps/description": "Si se va a desactivar HTTPS.", "symbols/LocalhostTld/displayName": "Usar el TLD .dev.localhost en la dirección URL de la aplicación", diff --git a/src/Aspire.ProjectTemplates/templates/aspire-py-starter/.template.config/localize/templatestrings.fr.json b/src/Aspire.ProjectTemplates/templates/aspire-py-starter/.template.config/localize/templatestrings.fr.json index 0eb2b0744ed..eb1bbcf8f3e 100644 --- a/src/Aspire.ProjectTemplates/templates/aspire-py-starter/.template.config/localize/templatestrings.fr.json +++ b/src/Aspire.ProjectTemplates/templates/aspire-py-starter/.template.config/localize/templatestrings.fr.json @@ -1,4 +1,4 @@ -{ +{ "author": "Microsoft", "name": "Application de démarrage Aspire (FastAPI/React)", "description": "Modèle de projet pour créer une application Aspire avec un front-end React et un service API back-end en Python, avec une mise en cache Redis optionnelle.", @@ -6,11 +6,9 @@ "symbols/UseRedisCache/description": "Permet la configuration s’il faut configurer l’application afin qu’elle utilise Redis pour la mise en cache. Nécessite un runtime du conteneur pris en charge pour fonctionner localement, voir https://aka.ms/aspire/containers pour obtenir plus d’informations.", "symbols/appHostHttpPort/description": "Numéro de port à utiliser pour le point de terminaison HTTP dans launchSettings.json du projet AppHost.", "symbols/appHostOtlpHttpPort/description": "Numéro de port à utiliser pour le point de terminaison HTTP OTLP dans launchSettings.json du projet AppHost.", - "symbols/appHostMcpHttpPort/description": "Numéro de port à utiliser pour le point de terminaison HTTP MCP dans launchSettings.json du projet AppHost.", "symbols/appHostResourceHttpPort/description": "Numéro de port à utiliser pour le point de terminaison HTTP du service de ressources dans launchSettings.json du projet AppHost.", "symbols/appHostHttpsPort/description": "Numéro de port à utiliser pour le point de terminaison HTTPS dans launchSettings.json du projet AppHost. Cette option n'est applicable que lorsque le paramètre no-https n'est pas utilisé.", "symbols/appHostOtlpHttpsPort/description": "Numéro de port à utiliser pour le point de terminaison HTTPS OTLP dans launchSettings.json du projet AppHost.", - "symbols/appHostMcpHttpsPort/description": "Numéro de port à utiliser pour le point de terminaison HTTPS MCP dans launchSettings.json du projet AppHost.", "symbols/appHostResourceHttpsPort/description": "Numéro de port à utiliser pour le point de terminaison HTTPS du service de ressources dans launchSettings.json du projet AppHost.", "symbols/NoHttps/description": "Indique s’il faut désactiver HTTPS.", "symbols/LocalhostTld/displayName": "Utilisez le TLD .dev.localhost dans l’URL de l’application", diff --git a/src/Aspire.ProjectTemplates/templates/aspire-py-starter/.template.config/localize/templatestrings.it.json b/src/Aspire.ProjectTemplates/templates/aspire-py-starter/.template.config/localize/templatestrings.it.json index e68a977c7b5..bf1d2ad2ecd 100644 --- a/src/Aspire.ProjectTemplates/templates/aspire-py-starter/.template.config/localize/templatestrings.it.json +++ b/src/Aspire.ProjectTemplates/templates/aspire-py-starter/.template.config/localize/templatestrings.it.json @@ -1,4 +1,4 @@ -{ +{ "author": "Microsoft", "name": "App Starter Aspire (FastAPI/React)", "description": "Modello di progetto per la creazione di un'app Aspire con front-end React e servizio API back-end Python, con cache Redis opzionale.", @@ -6,11 +6,9 @@ "symbols/UseRedisCache/description": "Configura se impostare l'applicazione per l'utilizzo di Redis per la memorizzazione nella cache. Richiede l'esecuzione locale di un runtime del contenitore supportato. Per altri dettagli, vedere https://aka.ms/aspire/containers.", "symbols/appHostHttpPort/description": "Numero di porta da usare per l'endpoint HTTP in launchSettings.json. del progetto AppHost.", "symbols/appHostOtlpHttpPort/description": "Numero di porta da usare per l'endpoint OTLP HTTP in launchSettings.json. del progetto AppHost.", - "symbols/appHostMcpHttpPort/description": "Numero di porta da usare per l'endpoint MCP HTTP in launchSettings.json. del progetto AppHost.", "symbols/appHostResourceHttpPort/description": "Numero di porta da usare per l'endpoint HTTP del servizio risorse in launchSettings.json del progetto AppHost.", "symbols/appHostHttpsPort/description": "Numero di porta da usare per l'endpoint HTTPS in launchSettings.json. del progetto AppHost. Questa opzione è applicabile solo quando il parametro no-https non viene usato.", "symbols/appHostOtlpHttpsPort/description": "Numero di porta da usare per l'endpoint OTLP HTTPS in launchSettings.json. del progetto AppHost.", - "symbols/appHostMcpHttpsPort/description": "Numero di porta da usare per l'endpoint MCP HTTPS in launchSettings.json. del progetto AppHost.", "symbols/appHostResourceHttpsPort/description": "Numero di porta da usare per l'endpoint HTTPS del servizio risorse in launchSettings.json del progetto AppHost.", "symbols/NoHttps/description": "Indica se disattivare HTTPS.", "symbols/LocalhostTld/displayName": "Usa il TLD .dev.localhost nell'URL dell'applicazione", diff --git a/src/Aspire.ProjectTemplates/templates/aspire-py-starter/.template.config/localize/templatestrings.ja.json b/src/Aspire.ProjectTemplates/templates/aspire-py-starter/.template.config/localize/templatestrings.ja.json index 3aa9813e856..6c0ced89797 100644 --- a/src/Aspire.ProjectTemplates/templates/aspire-py-starter/.template.config/localize/templatestrings.ja.json +++ b/src/Aspire.ProjectTemplates/templates/aspire-py-starter/.template.config/localize/templatestrings.ja.json @@ -1,4 +1,4 @@ -{ +{ "author": "Microsoft", "name": "Aspire スターター アプリ (FastAPI/React)", "description": "React フロントエンドと Python バックエンド API サービスを使用して Aspire アプリを作成するためのプロジェクト テンプレート。必要に応じて、Redis キャッシュを使用します。", @@ -6,11 +6,9 @@ "symbols/UseRedisCache/description": "Redis をキャッシュに使用するようにアプリケーションを設定するかどうかを構成します。ローカルで実行するには、サポートされているコンテナー ランタイムが必要です。詳細については、https://aka.ms/aspire/containers を参照してください。", "symbols/appHostHttpPort/description": "AppHost プロジェクトの launchSettings.json の HTTP エンドポイントに使用するポート番号。", "symbols/appHostOtlpHttpPort/description": "AppHost プロジェクトの launchSettings.json で OTLP HTTP エンドポイントに使用するポート番号。", - "symbols/appHostMcpHttpPort/description": "AppHost プロジェクトの launchSettings.json で MCP HTTP エンドポイント向けに使用するポート番号。", "symbols/appHostResourceHttpPort/description": "AppHost プロジェクトの launchSettings.json のリソース サービス HTTP エンドポイントに使用するポート番号。", "symbols/appHostHttpsPort/description": "AppHost プロジェクトの launchSettings.json の HTTPS エンドポイントに使用するポート番号。このオプションは、パラメーター no-https を使用しない場合にのみ適用されます。", "symbols/appHostOtlpHttpsPort/description": "AppHost プロジェクトの launchSettings.json で OTLP HTTPS エンドポイントに使用するポート番号。", - "symbols/appHostMcpHttpsPort/description": "AppHost プロジェクトの launchSettings.json で MCP HTTPS エンドポイント向けに使用するポート番号。", "symbols/appHostResourceHttpsPort/description": "AppHost プロジェクトの launchSettings.json のリソース サービス HTTPS エンドポイントに使用するポート番号。", "symbols/NoHttps/description": "HTTPS をオフにするかどうか。", "symbols/LocalhostTld/displayName": "アプリケーション URL で .dev.localhost TLD を使用する", diff --git a/src/Aspire.ProjectTemplates/templates/aspire-py-starter/.template.config/localize/templatestrings.ko.json b/src/Aspire.ProjectTemplates/templates/aspire-py-starter/.template.config/localize/templatestrings.ko.json index f568043d470..67d44613363 100644 --- a/src/Aspire.ProjectTemplates/templates/aspire-py-starter/.template.config/localize/templatestrings.ko.json +++ b/src/Aspire.ProjectTemplates/templates/aspire-py-starter/.template.config/localize/templatestrings.ko.json @@ -1,4 +1,4 @@ -{ +{ "author": "Microsoft", "name": "Aspire 시작 앱(FastAPI/React)", "description": "선택적 Redis 캐싱을 사용하여 React 프런트 엔드와 Python 백 엔드 API 서비스로 Aspire 앱을 만들기 위한 프로젝트 템플릿입니다.", @@ -6,11 +6,9 @@ "symbols/UseRedisCache/description": "캐싱에 Redis를 사용하도록 애플리케이션을 설정할지 여부를 구성합니다. 로컬로 실행하려면 지원되는 컨테이너 런타임이 필요합니다. 자세한 내용은 https://aka.ms/aspire/containers를 참조하세요.", "symbols/appHostHttpPort/description": "AppHost 프로젝트의 launchSettings.json HTTP 엔드포인트에 사용할 포트 번호입니다.", "symbols/appHostOtlpHttpPort/description": "AppHost 프로젝트의 launchSettings.json OTLP HTTP 엔드포인트에 사용할 포트 번호입니다.", - "symbols/appHostMcpHttpPort/description": "AppHost 프로젝트의 launchSettings.json에서 MCP HTTP 엔드포인트에 사용할 포트 번호입니다.", "symbols/appHostResourceHttpPort/description": "AppHost 프로젝트의 launchSettings.json 리소스 서비스 HTTP 엔드포인트에 사용할 포트 번호입니다.", "symbols/appHostHttpsPort/description": "AppHost 프로젝트의 launchSettings.json HTTPS 엔드포인트에 사용할 포트 번호입니다. 이 옵션은 no-https 매개 변수가 사용되지 않는 경우에만 적용됩니다.", "symbols/appHostOtlpHttpsPort/description": "AppHost 프로젝트의 launchSettings.json OTLP HTTPS 엔드포인트에 사용할 포트 번호입니다.", - "symbols/appHostMcpHttpsPort/description": "AppHost 프로젝트의 launchSettings.json에서 MCP HTTPS 엔드포인트에 사용할 포트 번호입니다.", "symbols/appHostResourceHttpsPort/description": "AppHost 프로젝트의 launchSettings.json 리소스 서비스 HTTPS 엔드포인트에 사용할 포트 번호입니다.", "symbols/NoHttps/description": "HTTPS를 끌지 여부입니다.", "symbols/LocalhostTld/displayName": "애플리케이션 URL에서 .dev.localhost TLD를 사용하세요.", diff --git a/src/Aspire.ProjectTemplates/templates/aspire-py-starter/.template.config/localize/templatestrings.pl.json b/src/Aspire.ProjectTemplates/templates/aspire-py-starter/.template.config/localize/templatestrings.pl.json index 3a2e961c9c7..47245ae7a9f 100644 --- a/src/Aspire.ProjectTemplates/templates/aspire-py-starter/.template.config/localize/templatestrings.pl.json +++ b/src/Aspire.ProjectTemplates/templates/aspire-py-starter/.template.config/localize/templatestrings.pl.json @@ -1,4 +1,4 @@ -{ +{ "author": "Microsoft", "name": "Aplikacja startowa Aspire (FastAPI/React)", "description": "Szablon projektu do tworzenia aplikacji Aspire z frontonem React i wewnętrzną bazą danych interfejsu API w Pythonie, z opcjonalnym buforowaniem Redis.", @@ -6,11 +6,9 @@ "symbols/UseRedisCache/description": "Określa, czy konfigurować aplikację do korzystania z magazynu danych Redis na potrzeby buforowania. Wymaga obsługiwanego środowiska uruchomieniowego kontenera na potrzeby uruchomienia lokalnego. Aby uzyskać więcej informacji, zobacz https://aka.ms/aspire/containers.", "symbols/appHostHttpPort/description": "Numer portu do użycia dla punktu końcowego HTTP w pliku launchSettings.json projektu AppHost.", "symbols/appHostOtlpHttpPort/description": "Numer portu do użycia dla punktu końcowego HTTP OTLP w pliku launchSettings.json projektu AppHost.", - "symbols/appHostMcpHttpPort/description": "Numer portu do użycia dla punktu końcowego HTTP MCP w pliku launchSettings.json projektu AppHost.", "symbols/appHostResourceHttpPort/description": "Numer portu do użycia dla punktu końcowego HTTP usługi zasobów w pliku launchSettings.json projektu AppHost.", "symbols/appHostHttpsPort/description": "Numer portu do użycia dla punktu końcowego HTTPS w pliku launchSettings.json projektu AppHost. Ta opcja ma zastosowanie tylko wtedy, gdy parametr no-https nie jest używany.", "symbols/appHostOtlpHttpsPort/description": "Numer portu do użycia dla punktu końcowego HTTPS OTLP w pliku launchSettings.json projektu AppHost.", - "symbols/appHostMcpHttpsPort/description": "Numer portu do użycia dla punktu końcowego HTTPS MCP w pliku launchSettings.json projektu AppHost.", "symbols/appHostResourceHttpsPort/description": "Numer portu do użycia dla punktu końcowego HTTPS usługi zasobów w pliku launchSettings.json projektu AppHost.", "symbols/NoHttps/description": "Określa, czy wyłączyć protokół HTTPS.", "symbols/LocalhostTld/displayName": "Użyj pliku .dev.localhost TLD w adresie URL aplikacji", diff --git a/src/Aspire.ProjectTemplates/templates/aspire-py-starter/.template.config/localize/templatestrings.pt-BR.json b/src/Aspire.ProjectTemplates/templates/aspire-py-starter/.template.config/localize/templatestrings.pt-BR.json index aea3aec3250..d86ab883ff3 100644 --- a/src/Aspire.ProjectTemplates/templates/aspire-py-starter/.template.config/localize/templatestrings.pt-BR.json +++ b/src/Aspire.ProjectTemplates/templates/aspire-py-starter/.template.config/localize/templatestrings.pt-BR.json @@ -1,4 +1,4 @@ -{ +{ "author": "Microsoft", "name": "App de Inicialização Aspire (FastAPI/React)", "description": "Um modelo de projeto para criar um aplicativo Aspire com um front-end do React e um serviço de API de back-end do Python, com cache Redis opcional.", @@ -6,11 +6,9 @@ "symbols/UseRedisCache/description": "Configura se o aplicativo deve usar Redis para cache. Requer um runtime de contêiner com suporte para execução local; confira https://aka.ms/aspire/containers para obter mais detalhes.", "symbols/appHostHttpPort/description": "Número da porta a ser usado para o ponto de extremidade HTTP launchSettings.json do projeto AppHost.", "symbols/appHostOtlpHttpPort/description": "Número da porta a ser usado para o ponto de extremidade HTTP OTLP launchSettings.json do projeto AppHost.", - "symbols/appHostMcpHttpPort/description": "Número da porta a ser usado para o ponto de extremidade HTTP do MCP launchSettings.json do projeto AppHost.", "symbols/appHostResourceHttpPort/description": "Número da porta a ser usado para o ponto de extremidade HTTP do serviço de recurso launchSettings.json do projeto AppHost.", "symbols/appHostHttpsPort/description": "Número da porta a ser usado para o ponto de extremidade HTTPS launchSettings.json do projeto AppHost. Essa opção só é aplicável quando o parâmetro no-https não é usado.", "symbols/appHostOtlpHttpsPort/description": "Número da porta a ser usado para o ponto de extremidade HTTPS OTLP launchSettings.json do projeto AppHost.", - "symbols/appHostMcpHttpsPort/description": "Número da porta a ser usado para o ponto de extremidade HTTPS do MCP launchSettings.json do projeto AppHost.", "symbols/appHostResourceHttpsPort/description": "Número da porta a ser usado para o ponto de extremidade HTTPS do serviço de recurso launchSettings.json do projeto AppHost.", "symbols/NoHttps/description": "Se o HTTPS deve ser desativado.", "symbols/LocalhostTld/displayName": "Usar o TLD .dev.localhost na URL do aplicativo", diff --git a/src/Aspire.ProjectTemplates/templates/aspire-py-starter/.template.config/localize/templatestrings.ru.json b/src/Aspire.ProjectTemplates/templates/aspire-py-starter/.template.config/localize/templatestrings.ru.json index 8f436668a84..7fe0cfa0546 100644 --- a/src/Aspire.ProjectTemplates/templates/aspire-py-starter/.template.config/localize/templatestrings.ru.json +++ b/src/Aspire.ProjectTemplates/templates/aspire-py-starter/.template.config/localize/templatestrings.ru.json @@ -1,4 +1,4 @@ -{ +{ "author": "Майкрософт", "name": "Начальное приложение Aspire (FastAPI/React)", "description": "Шаблон проекта для создания приложения Aspire с интерфейсной частью React и службой API серверной части на Python с необязательным кэшированием Redis.", @@ -6,11 +6,9 @@ "symbols/UseRedisCache/description": "Определяет, указывать ли приложению, что для кэширования следует использовать Redis. Для локального запуска требуется поддерживаемая среда выполнения контейнера. Дополнительные сведения см. на странице https://aka.ms/aspire/containers.", "symbols/appHostHttpPort/description": "Номер порта, который будет использоваться для конечной точки HTTP в файле launchSettings.json проекта AppHost.", "symbols/appHostOtlpHttpPort/description": "Номер порта, который будет использоваться для конечной точки HTTP OTLP в файле launchSettings.json проекта AppHost.", - "symbols/appHostMcpHttpPort/description": "Номер порта для использования в конечной точке MCP HTTP в launchSettings.json проекта AppHost.", "symbols/appHostResourceHttpPort/description": "Номер порта, который будет использоваться для конечной точки HTTP службы ресурсов в файле launchSettings.json проекта AppHost.", "symbols/appHostHttpsPort/description": "Номер порта, который будет использоваться для конечной точки HTTPS в файле launchSettings.json проекта AppHost. Этот параметр применим только в том случае, если NO-HTTP не используется.", "symbols/appHostOtlpHttpsPort/description": "Номер порта, который будет использоваться для конечной точки OTLP HTTPS в файле launchSettings.json проекта AppHost.", - "symbols/appHostMcpHttpsPort/description": "Номер порта для использования в конечной точке MCP HTTPS в launchSettings.json проекта AppHost.", "symbols/appHostResourceHttpsPort/description": "Номер порта, который будет использоваться для конечной точки HTTPS службы ресурсов в файле launchSettings.json проекта AppHost.", "symbols/NoHttps/description": "Следует ли отключить HTTPS.", "symbols/LocalhostTld/displayName": "Используйте домен верхнего уровня .dev.localhost в URL-адресе приложения", diff --git a/src/Aspire.ProjectTemplates/templates/aspire-py-starter/.template.config/localize/templatestrings.tr.json b/src/Aspire.ProjectTemplates/templates/aspire-py-starter/.template.config/localize/templatestrings.tr.json index 18e6dfd6396..c93f2ed0898 100644 --- a/src/Aspire.ProjectTemplates/templates/aspire-py-starter/.template.config/localize/templatestrings.tr.json +++ b/src/Aspire.ProjectTemplates/templates/aspire-py-starter/.template.config/localize/templatestrings.tr.json @@ -1,4 +1,4 @@ -{ +{ "author": "Microsoft", "name": "Aspire Başlangıç Uygulaması (FastAPI/React)", "description": "İsteğe bağlı Redis önbelleğiyle bir React ön uç ve Python arka uç API hizmetini içeren bir Aspire uygulaması oluşturmak için proje şablonu.", @@ -6,11 +6,9 @@ "symbols/UseRedisCache/description": "Uygulamanın önbelleğe alma için Redis’i kullanmak üzere ayarlanıp ayarlanmayacağını yapılandırır. Yerel olarak çalıştırmak için desteklenen bir kapsayıcı çalışma zamanı gerektirir. Daha fazla ayrıntı için https://aka.ms/aspire/containers sayfasına bakın.", "symbols/appHostHttpPort/description": "AppHost projesinin HTTP uç noktası launchSettings.json bağlantı noktası numarası.", "symbols/appHostOtlpHttpPort/description": "AppHost projesinin OTLP HTTP uç noktası launchSettings.json bağlantı noktası numarası.", - "symbols/appHostMcpHttpPort/description": "AppHost projesinin launchSettings.json dosyasında MCP HTTP uç noktası için kullanılacak bağlantı noktası numarası.", "symbols/appHostResourceHttpPort/description": "AppHost projesinin kaynak hizmeti HTTP uç noktası launchSettings.json bağlantı noktası numarası.", "symbols/appHostHttpsPort/description": "AppHost projesinin HTTPS uç noktası launchSettings.json bağlantı noktası numarası. Bu seçenek yalnızca no-https parametresi kullanılmadığında uygulanabilir.", "symbols/appHostOtlpHttpsPort/description": "AppHost projesinin OTLP HTTPS uç noktası launchSettings.json bağlantı noktası numarası.", - "symbols/appHostMcpHttpsPort/description": "AppHost projesinin launchSettings.json dosyasında MCP HTTPS uç noktası için kullanılacak bağlantı noktası numarası.", "symbols/appHostResourceHttpsPort/description": "AppHost projesinin kaynak hizmeti HTTPS uç noktası launchSettings.json bağlantı noktası numarası.", "symbols/NoHttps/description": "HTTPS'nin kapatılıp kapatılmayacağı.", "symbols/LocalhostTld/displayName": "Uygulama URL'sinde .dev.localhost TLD'sini kullanın.", diff --git a/src/Aspire.ProjectTemplates/templates/aspire-py-starter/.template.config/localize/templatestrings.zh-Hans.json b/src/Aspire.ProjectTemplates/templates/aspire-py-starter/.template.config/localize/templatestrings.zh-Hans.json index 3bb4dbb03ca..154115b92ad 100644 --- a/src/Aspire.ProjectTemplates/templates/aspire-py-starter/.template.config/localize/templatestrings.zh-Hans.json +++ b/src/Aspire.ProjectTemplates/templates/aspire-py-starter/.template.config/localize/templatestrings.zh-Hans.json @@ -1,4 +1,4 @@ -{ +{ "author": "Microsoft", "name": "Aspire 入门应用(FastAPI/React)", "description": "用于使用 React 前端和 Python 后端 API 服务创建 Aspire 应用的项目模板,可选择使用 Redis 缓存。", @@ -6,11 +6,9 @@ "symbols/UseRedisCache/description": "配置是否将应用程序设置为使用 Redis 进行缓存。需要支持的容器运行时才能在本地运行,有关详细信息,请访问 https://aka.ms/aspire/containers for more details。", "symbols/appHostHttpPort/description": "该端口号将用于 AppHost 项目的 launchSettings.json 中的 HTTP 终结点。", "symbols/appHostOtlpHttpPort/description": "该端口号将用于 AppHost 项目的 launchSettings.json 中的 OTLP HTTP 终结点。", - "symbols/appHostMcpHttpPort/description": "用于 AppHost 项目的 launchSettings.json 中 MCP HTTP 终结点的端口号。", "symbols/appHostResourceHttpPort/description": "该端口号将用于 AppHost 项目的 launchSettings.json 中的资源服务 HTTP 终结点。", "symbols/appHostHttpsPort/description": "该端口号将用于 AppHost 项目的 launchSettings.json 中的 HTTPS 终结点。仅当不使用参数 no-https 时,此选项才适用。", "symbols/appHostOtlpHttpsPort/description": "该端口号将用于 AppHost 项目的 launchSettings.json 中的 OTLP HTTPS 终结点。", - "symbols/appHostMcpHttpsPort/description": "用于 AppHost 项目的 launchSettings.json 中 MCP HTTPS 终结点的端口号。", "symbols/appHostResourceHttpsPort/description": "该端口号将用于 AppHost 项目的 launchSettings.json 中的资源服务 HTTPS 终结点。", "symbols/NoHttps/description": "是否禁用 HTTPS。", "symbols/LocalhostTld/displayName": "在应用程序 URL 中使用 .dev.localhost TLD", diff --git a/src/Aspire.ProjectTemplates/templates/aspire-py-starter/.template.config/localize/templatestrings.zh-Hant.json b/src/Aspire.ProjectTemplates/templates/aspire-py-starter/.template.config/localize/templatestrings.zh-Hant.json index bcbaaf54837..053127d5ae8 100644 --- a/src/Aspire.ProjectTemplates/templates/aspire-py-starter/.template.config/localize/templatestrings.zh-Hant.json +++ b/src/Aspire.ProjectTemplates/templates/aspire-py-starter/.template.config/localize/templatestrings.zh-Hant.json @@ -1,4 +1,4 @@ -{ +{ "author": "Microsoft", "name": "Aspire 入門應用程式 (FastAPI/React)", "description": "用於建立 Aspire 應用程式的專案範本,其中包含 React 前端與 Python 後端 API 服務,並可選用 Redis 快取功能。", @@ -6,11 +6,9 @@ "symbols/UseRedisCache/description": "設定是否要將應用程式設為使用 Redis 進行快取。需要支援的容器執行階段,才能在本機執行,如需詳細資料,請參閱 https://aka.ms/aspire/containers。", "symbols/appHostHttpPort/description": "要用於 AppHost 專案 launchSettings.json 中 HTTP 端點的連接埠號碼。", "symbols/appHostOtlpHttpPort/description": "要用於 AppHost 專案 launchSettings.json 中 OTLP HTTP 端點的連接埠號碼。", - "symbols/appHostMcpHttpPort/description": "要用於 AppHost 專案 launchSettings.json 中 MCP HTTP 端點的連接埠號碼。", "symbols/appHostResourceHttpPort/description": "要用於 AppHost 專案 launchSettings.json 中資源服務 HTTP 端點的連接埠號碼。", "symbols/appHostHttpsPort/description": "要用於 AppHost 專案 launchSettings.json 中 HTTPS 端點的連接埠號碼。只有在未使用參數 no-https 時,才適用此選項。", "symbols/appHostOtlpHttpsPort/description": "要用於 AppHost 專案 launchSettings.json 中 OTLP HTTPS 端點的連接埠號碼。", - "symbols/appHostMcpHttpsPort/description": "要用於 AppHost 專案 launchSettings.json 中 MCP HTTPS 端點的連接埠號碼。", "symbols/appHostResourceHttpsPort/description": "要用於 AppHost 專案 launchSettings.json 中資源服務 HTTPS 端點的連接埠號碼。", "symbols/NoHttps/description": "是否要關閉 HTTPS。", "symbols/LocalhostTld/displayName": "在應用程式 URL 中使用 .dev.localhost TLD", diff --git a/src/Aspire.ProjectTemplates/templates/aspire-py-starter/.template.config/template.json b/src/Aspire.ProjectTemplates/templates/aspire-py-starter/.template.config/template.json index 93589452e18..e6ae244d653 100644 --- a/src/Aspire.ProjectTemplates/templates/aspire-py-starter/.template.config/template.json +++ b/src/Aspire.ProjectTemplates/templates/aspire-py-starter/.template.config/template.json @@ -89,28 +89,6 @@ }, "replaces": "19000" }, - "appHostMcpHttpPort": { - "type": "parameter", - "datatype": "integer", - "description": "Port number to use for the MCP HTTP endpoint in launchSettings.json of the AppHost project." - }, - "appHostMcpHttpPortGenerated": { - "type": "generated", - "generator": "port", - "parameters": { - "low": 18000, - "high": 18300 - } - }, - "appHostMcpHttpPortReplacer": { - "type": "generated", - "generator": "coalesce", - "parameters": { - "sourceVariableName": "appHostMcpHttpPort", - "fallbackVariableName": "appHostMcpHttpPortGenerated" - }, - "replaces": "18000" - }, "appHostResourceHttpPort": { "type": "parameter", "datatype": "integer", @@ -177,28 +155,6 @@ }, "replaces": "21000" }, - "appHostMcpHttpsPort": { - "type": "parameter", - "datatype": "integer", - "description": "Port number to use for the MCP HTTPS endpoint in launchSettings.json of the AppHost project." - }, - "appHostMcpHttpsPortGenerated": { - "type": "generated", - "generator": "port", - "parameters": { - "low": 23000, - "high": 23300 - } - }, - "appHostMcpHttpsPortReplacer": { - "type": "generated", - "generator": "coalesce", - "parameters": { - "sourceVariableName": "appHostMcpHttpsPort", - "fallbackVariableName": "appHostMcpHttpsPortGenerated" - }, - "replaces": "23000" - }, "appHostResourceHttpsPort": { "type": "parameter", "datatype": "integer", diff --git a/src/Aspire.ProjectTemplates/templates/aspire-py-starter/apphost.run.json b/src/Aspire.ProjectTemplates/templates/aspire-py-starter/apphost.run.json index 70d9b9ae359..83df4bced7d 100644 --- a/src/Aspire.ProjectTemplates/templates/aspire-py-starter/apphost.run.json +++ b/src/Aspire.ProjectTemplates/templates/aspire-py-starter/apphost.run.json @@ -15,7 +15,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "https://localhost:21000", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "https://localhost:23000", "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "https://localhost:22000" } }, @@ -33,7 +32,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "http://localhost:19000", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "http://localhost:18000", "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "http://localhost:20000" } } diff --git a/src/Aspire.ProjectTemplates/templates/aspire-starter/.template.config/dotnetcli.host.json b/src/Aspire.ProjectTemplates/templates/aspire-starter/.template.config/dotnetcli.host.json index 9f88a9fe394..2a46dd8c3f7 100644 --- a/src/Aspire.ProjectTemplates/templates/aspire-starter/.template.config/dotnetcli.host.json +++ b/src/Aspire.ProjectTemplates/templates/aspire-starter/.template.config/dotnetcli.host.json @@ -21,12 +21,6 @@ "appHostOtlpHttpsPort": { "isHidden": true }, - "appHostMcpHttpPort": { - "isHidden": true - }, - "appHostMcpHttpsPort": { - "isHidden": true - }, "appHostResourceHttpPort": { "isHidden": true }, diff --git a/src/Aspire.ProjectTemplates/templates/aspire-starter/.template.config/localize/templatestrings.cs.json b/src/Aspire.ProjectTemplates/templates/aspire-starter/.template.config/localize/templatestrings.cs.json index ea13e4d1b2d..66f5e4787c7 100644 --- a/src/Aspire.ProjectTemplates/templates/aspire-starter/.template.config/localize/templatestrings.cs.json +++ b/src/Aspire.ProjectTemplates/templates/aspire-starter/.template.config/localize/templatestrings.cs.json @@ -1,4 +1,4 @@ -{ +{ "author": "Microsoft", "name": "Úvodní aplikace Aspire (ASP.NET Core/Blazor)", "description": "Šablona projektu pro vytvoření aplikace Aspire s webovým front-endem Blazoru a back-endovou službou webového rozhraní API s volitelným ukládáním do mezipaměti Redis", @@ -24,11 +24,9 @@ "symbols/XUnitVersion/choices/v3mtp/description": "Zvolí xUnit.net v3 s Microsoft Test Platform", "symbols/appHostHttpPort/description": "Číslo portu, který se má použít pro koncový bod HTTP v launchSettings.json projektu AppHost.", "symbols/appHostOtlpHttpPort/description": "Číslo portu, který se má použít pro koncový bod HTTP OTLP v launchSettings.json projektu AppHost.", - "symbols/appHostMcpHttpPort/description": "Číslo portu, který se má použít pro koncový bod MCP HTTP v launchSettings.json projektu AppHost.", "symbols/appHostResourceHttpPort/description": "Číslo portu, který se má použít pro koncový bod HTTP služby prostředků v launchSettings.json projektu AppHost.", "symbols/appHostHttpsPort/description": "Číslo portu, který se má použít pro koncový bod HTTPS v launchSettings.json projektu AppHost. Tato možnost se dá použít jenom v případě, že se nepoužívá parametr no-https.", "symbols/appHostOtlpHttpsPort/description": "Číslo portu, který se má použít pro koncový bod HTTPS OTLP v launchSettings.json projektu AppHost.", - "symbols/appHostMcpHttpsPort/description": "Číslo portu, který se má použít pro koncový bod MCP HTTPS v launchSettings.json projektu AppHost.", "symbols/appHostResourceHttpsPort/description": "Číslo portu, který se má použít pro koncový bod HTTPS služby prostředků v launchSettings.json projektu AppHost.", "symbols/webHttpPort/description": "Číslo portu, který se má použít pro koncový bod HTTP v launchSettings.json webového projektu.", "symbols/webHttpsPort/description": "Číslo portu, který se má použít pro koncový bod HTTPS v launchSettings.json webového projektu. Tato možnost se dá použít jenom v případě, že se nepoužívá parametr no-https.", diff --git a/src/Aspire.ProjectTemplates/templates/aspire-starter/.template.config/localize/templatestrings.de.json b/src/Aspire.ProjectTemplates/templates/aspire-starter/.template.config/localize/templatestrings.de.json index ca3f801971c..c526c7509b8 100644 --- a/src/Aspire.ProjectTemplates/templates/aspire-starter/.template.config/localize/templatestrings.de.json +++ b/src/Aspire.ProjectTemplates/templates/aspire-starter/.template.config/localize/templatestrings.de.json @@ -1,4 +1,4 @@ -{ +{ "author": "Microsoft", "name": "Aspire-Starter-App (ASP.NET Core/Blazor)", "description": "Eine Projektvorlage zum Erstellen einer Aspire-App mit einem Blazor-Web-Front-End- und einem Web-API-Back-End-Dienst, optional mit Redis-Zwischenspeicherung.", @@ -24,11 +24,9 @@ "symbols/XUnitVersion/choices/v3mtp/description": "Wählt xUnit.net v3 mit Microsoft-Testplattform aus", "symbols/appHostHttpPort/description": "Portnummer, die für den HTTP-Endpunkt in launchSettings.json des AppHost-Projekts verwendet werden soll.", "symbols/appHostOtlpHttpPort/description": "Portnummer, die für den OTLP-HTTP-Endpunkt in launchSettings.json des AppHost-Projekts verwendet werden soll.", - "symbols/appHostMcpHttpPort/description": "Portnummer, die für den MCP-HTTP-Endpunkt in launchSettings.json des AppHost-Projekts verwendet werden soll.", "symbols/appHostResourceHttpPort/description": "Portnummer, die für den HTTP-Endpunkt des Ressourcendiensts in launchSettings.json des AppHost-Projekts verwendet werden soll.", "symbols/appHostHttpsPort/description": "Portnummer, die für den HTTPS-Endpunkt in launchSettings.json des AppHost-Projekts verwendet werden soll. Diese Option ist nur anwendbar, wenn der Parameter no-https nicht verwendet wird.", "symbols/appHostOtlpHttpsPort/description": "Portnummer, die für den OTLP-HTTPS-Endpunkt in launchSettings.json des AppHost-Projekts verwendet werden soll.", - "symbols/appHostMcpHttpsPort/description": "Portnummer, die für den MCP-HTTPS-Endpunkt in launchSettings.json des AppHost-Projekts verwendet werden soll.", "symbols/appHostResourceHttpsPort/description": "Portnummer, die für den HTTPS-Endpunkt des Ressourcendiensts in launchSettings.json des AppHost-Projekts verwendet werden soll.", "symbols/webHttpPort/description": "Portnummer, die für den HTTP-Endpunkt in launchSettings.json des Webprojekts verwendet werden soll.", "symbols/webHttpsPort/description": "Portnummer, die für den HTTPS-Endpunkt in launchSettings.json des Webprojekts verwendet werden soll. Diese Option ist nur anwendbar, wenn der Parameter no-https nicht verwendet wird.", diff --git a/src/Aspire.ProjectTemplates/templates/aspire-starter/.template.config/localize/templatestrings.en.json b/src/Aspire.ProjectTemplates/templates/aspire-starter/.template.config/localize/templatestrings.en.json index b645e0c4d96..75665a83884 100644 --- a/src/Aspire.ProjectTemplates/templates/aspire-starter/.template.config/localize/templatestrings.en.json +++ b/src/Aspire.ProjectTemplates/templates/aspire-starter/.template.config/localize/templatestrings.en.json @@ -24,11 +24,9 @@ "symbols/XUnitVersion/choices/v3mtp/description": "Chooses xUnit.net v3 with Microsoft Test Platform", "symbols/appHostHttpPort/description": "Port number to use for the HTTP endpoint in launchSettings.json of the AppHost project.", "symbols/appHostOtlpHttpPort/description": "Port number to use for the OTLP HTTP endpoint in launchSettings.json of the AppHost project.", - "symbols/appHostMcpHttpPort/description": "Port number to use for the MCP HTTP endpoint in launchSettings.json of the AppHost project.", "symbols/appHostResourceHttpPort/description": "Port number to use for the resource service HTTP endpoint in launchSettings.json of the AppHost project.", "symbols/appHostHttpsPort/description": "Port number to use for the HTTPS endpoint in launchSettings.json of the AppHost project. This option is only applicable when the parameter no-https is not used.", "symbols/appHostOtlpHttpsPort/description": "Port number to use for the OTLP HTTPS endpoint in launchSettings.json of the AppHost project.", - "symbols/appHostMcpHttpsPort/description": "Port number to use for the MCP HTTPS endpoint in launchSettings.json of the AppHost project.", "symbols/appHostResourceHttpsPort/description": "Port number to use for the resource service HTTPS endpoint in launchSettings.json of the AppHost project.", "symbols/webHttpPort/description": "Port number to use for the HTTP endpoint in launchSettings.json of the Web project.", "symbols/webHttpsPort/description": "Port number to use for the HTTPS endpoint in launchSettings.json of the Web project. This option is only applicable when the parameter no-https is not used.", diff --git a/src/Aspire.ProjectTemplates/templates/aspire-starter/.template.config/localize/templatestrings.es.json b/src/Aspire.ProjectTemplates/templates/aspire-starter/.template.config/localize/templatestrings.es.json index 11392b9056f..b9a7dcd47e4 100644 --- a/src/Aspire.ProjectTemplates/templates/aspire-starter/.template.config/localize/templatestrings.es.json +++ b/src/Aspire.ProjectTemplates/templates/aspire-starter/.template.config/localize/templatestrings.es.json @@ -1,4 +1,4 @@ -{ +{ "author": "Microsoft", "name": "Aplicación Aspire Starter (ASP.NET Core/Blazor)", "description": "Plantilla de proyecto para crear una aplicación Aspire con una interfaz web Blazor y un servicio backend API web, con almacenamiento en caché Redis opcional.", @@ -24,11 +24,9 @@ "symbols/XUnitVersion/choices/v3mtp/description": "Elige xUnit.net v3 con la Plataforma de pruebas de Microsoft", "symbols/appHostHttpPort/description": "Número de puerto que se va a usar para el punto de conexión HTTP en launchSettings.json del proyecto AppHost.", "symbols/appHostOtlpHttpPort/description": "Número de puerto que se va a usar para el punto de conexión HTTP de OTLP en launchSettings.json del proyecto AppHost.", - "symbols/appHostMcpHttpPort/description": "Número de puerto que se va a usar para el punto de conexión MCP HTTP en launchSettings.json del proyecto AppHost.", "symbols/appHostResourceHttpPort/description": "Número de puerto que se va a usar para el punto de conexión HTTP del servicio de recursos en launchSettings.json del proyecto AppHost.", "symbols/appHostHttpsPort/description": "Número de puerto que se va a usar para el punto de conexión HTTPS en launchSettings.json del proyecto AppHost. Esta opción solo es aplicable cuando no se usa el parámetro no-https.", "symbols/appHostOtlpHttpsPort/description": "Número de puerto que se va a usar para el punto de conexión HTTPS de OTLP en launchSettings.json del proyecto AppHost.", - "symbols/appHostMcpHttpsPort/description": "Número de puerto que se va a usar para el punto de conexión MCP HTTPS en launchSettings.json del proyecto AppHost.", "symbols/appHostResourceHttpsPort/description": "Número de puerto a usar para el punto de conexión HTTPS del servicio de recursos en launchSettings.json del proyecto AppHost.", "symbols/webHttpPort/description": "Número de puerto que se va a usar para el punto de conexión HTTP en launchSettings.json del proyecto web.", "symbols/webHttpsPort/description": "Número de puerto que se va a usar para el punto de conexión HTTPS en launchSettings.json del proyecto web. Esta opción solo es aplicable cuando no se usa el parámetro no-https.", diff --git a/src/Aspire.ProjectTemplates/templates/aspire-starter/.template.config/localize/templatestrings.fr.json b/src/Aspire.ProjectTemplates/templates/aspire-starter/.template.config/localize/templatestrings.fr.json index 642048b6a0e..7a8063a4cc8 100644 --- a/src/Aspire.ProjectTemplates/templates/aspire-starter/.template.config/localize/templatestrings.fr.json +++ b/src/Aspire.ProjectTemplates/templates/aspire-starter/.template.config/localize/templatestrings.fr.json @@ -1,4 +1,4 @@ -{ +{ "author": "Microsoft", "name": "Application de démarrage Aspire (ASP.NET Core/Blazor)", "description": "Modèle de projet pour créer une application Aspire avec un front-end web Blazor et un service backend d’API web, avec une mise en cache Redis optionnelle.", @@ -24,11 +24,9 @@ "symbols/XUnitVersion/choices/v3mtp/description": "Choisit xUnit.net v3 avec Microsoft Test Platform", "symbols/appHostHttpPort/description": "Numéro de port à utiliser pour le point de terminaison HTTP dans launchSettings.json du projet AppHost.", "symbols/appHostOtlpHttpPort/description": "Numéro de port à utiliser pour le point de terminaison HTTP OTLP dans launchSettings.json du projet AppHost.", - "symbols/appHostMcpHttpPort/description": "Numéro de port à utiliser pour le point de terminaison HTTP MCP dans launchSettings.json du projet AppHost.", "symbols/appHostResourceHttpPort/description": "Numéro de port à utiliser pour le point de terminaison HTTP du service de ressources dans launchSettings.json du projet AppHost.", "symbols/appHostHttpsPort/description": "Numéro de port à utiliser pour le point de terminaison HTTPS dans launchSettings.json du projet AppHost. Cette option n'est applicable que lorsque le paramètre no-https n'est pas utilisé.", "symbols/appHostOtlpHttpsPort/description": "Numéro de port à utiliser pour le point de terminaison HTTPS OTLP dans launchSettings.json du projet AppHost.", - "symbols/appHostMcpHttpsPort/description": "Numéro de port à utiliser pour le point de terminaison HTTPS MCP dans launchSettings.json du projet AppHost.", "symbols/appHostResourceHttpsPort/description": "Numéro de port à utiliser pour le point de terminaison HTTPS du service de ressources dans launchSettings.json du projet AppHost.", "symbols/webHttpPort/description": "Numéro de port à utiliser pour le point de terminaison HTTP dans launchSettings.json du projet Web.", "symbols/webHttpsPort/description": "Numéro de port à utiliser pour le point de terminaison HTTPS dans launchSettings.json du projet Web. Cette option n'est applicable que lorsque le paramètre no-https n'est pas utilisé.", diff --git a/src/Aspire.ProjectTemplates/templates/aspire-starter/.template.config/localize/templatestrings.it.json b/src/Aspire.ProjectTemplates/templates/aspire-starter/.template.config/localize/templatestrings.it.json index 917d30f2580..45c8707b48f 100644 --- a/src/Aspire.ProjectTemplates/templates/aspire-starter/.template.config/localize/templatestrings.it.json +++ b/src/Aspire.ProjectTemplates/templates/aspire-starter/.template.config/localize/templatestrings.it.json @@ -1,4 +1,4 @@ -{ +{ "author": "Microsoft", "name": "App Starter Aspire (ASP.NET Core/Blazor)", "description": "Modello di progetto per la creazione di un'app Aspire con front-end Web Blazor e servizio back-end API Web, con cache Redis opzionale.", @@ -24,11 +24,9 @@ "symbols/XUnitVersion/choices/v3mtp/description": "Sceglie xUnit.net v3 con Microsoft Test Platform", "symbols/appHostHttpPort/description": "Numero di porta da usare per l'endpoint HTTP in launchSettings.json. del progetto AppHost.", "symbols/appHostOtlpHttpPort/description": "Numero di porta da usare per l'endpoint OTLP HTTP in launchSettings.json. del progetto AppHost.", - "symbols/appHostMcpHttpPort/description": "Numero di porta da usare per l'endpoint MCP HTTP in launchSettings.json. del progetto AppHost.", "symbols/appHostResourceHttpPort/description": "Numero di porta da usare per l'endpoint HTTP del servizio risorse in launchSettings.json del progetto AppHost.", "symbols/appHostHttpsPort/description": "Numero di porta da usare per l'endpoint HTTPS in launchSettings.json. del progetto AppHost. Questa opzione è applicabile solo quando il parametro no-https non viene usato.", "symbols/appHostOtlpHttpsPort/description": "Numero di porta da usare per l'endpoint OTLP HTTPS in launchSettings.json. del progetto AppHost.", - "symbols/appHostMcpHttpsPort/description": "Numero di porta da usare per l'endpoint MCP HTTPS in launchSettings.json. del progetto AppHost.", "symbols/appHostResourceHttpsPort/description": "Numero di porta da usare per l'endpoint HTTPS del servizio risorse in launchSettings.json del progetto AppHost.", "symbols/webHttpPort/description": "Numero di porta da usare per l'endpoint HTTP in launchSettings.json. del progetto Web.", "symbols/webHttpsPort/description": "Numero di porta da usare per l'endpoint HTTPS in launchSettings.json del progetto Web. Questa opzione è applicabile solo quando il parametro no-https non viene usato.", diff --git a/src/Aspire.ProjectTemplates/templates/aspire-starter/.template.config/localize/templatestrings.ja.json b/src/Aspire.ProjectTemplates/templates/aspire-starter/.template.config/localize/templatestrings.ja.json index 7b76a68becd..130d141d382 100644 --- a/src/Aspire.ProjectTemplates/templates/aspire-starter/.template.config/localize/templatestrings.ja.json +++ b/src/Aspire.ProjectTemplates/templates/aspire-starter/.template.config/localize/templatestrings.ja.json @@ -1,4 +1,4 @@ -{ +{ "author": "Microsoft", "name": "Aspire スターター アプリ (ASP.NET Core/Blazor)", "description": "Blazor Web フロントエンドと Web API バックエンド サービスを使用して Aspire アプリを作成するためのプロジェクト テンプレート。必要に応じて、Redis キャッシュを使用します。", @@ -24,11 +24,9 @@ "symbols/XUnitVersion/choices/v3mtp/description": "Microsoft Test Platform 付きの xUnit.net v3 を選択します", "symbols/appHostHttpPort/description": "AppHost プロジェクトの launchSettings.json の HTTP エンドポイントに使用するポート番号。", "symbols/appHostOtlpHttpPort/description": "AppHost プロジェクトの launchSettings.json で OTLP HTTP エンドポイントに使用するポート番号。", - "symbols/appHostMcpHttpPort/description": "AppHost プロジェクトの launchSettings.json で MCP HTTP エンドポイントに使用するポート番号。", "symbols/appHostResourceHttpPort/description": "AppHost プロジェクトの launchSettings.json のリソース サービス HTTP エンドポイントに使用するポート番号。", "symbols/appHostHttpsPort/description": "AppHost プロジェクトの launchSettings.json の HTTPS エンドポイントに使用するポート番号。このオプションは、パラメーター no-https を使用しない場合にのみ適用されます。", "symbols/appHostOtlpHttpsPort/description": "AppHost プロジェクトの launchSettings.json で OTLP HTTPS エンドポイントに使用するポート番号。", - "symbols/appHostMcpHttpsPort/description": "AppHost プロジェクトの launchSettings.json で MCP HTTPS エンドポイントに使用するポート番号。", "symbols/appHostResourceHttpsPort/description": "AppHost プロジェクトの launchSettings.json のリソース サービス HTTPS エンドポイントに使用するポート番号。", "symbols/webHttpPort/description": "Web プロジェクトの launchSettings.json の HTTP エンドポイントに使用するポート番号。", "symbols/webHttpsPort/description": "Web プロジェクトの launchSettings.json の HTTPS エンドポイントに使用するポート番号。このオプションは、パラメーター no-https を使用しない場合にのみ適用されます。", diff --git a/src/Aspire.ProjectTemplates/templates/aspire-starter/.template.config/localize/templatestrings.ko.json b/src/Aspire.ProjectTemplates/templates/aspire-starter/.template.config/localize/templatestrings.ko.json index b6637fc6758..69cc04095de 100644 --- a/src/Aspire.ProjectTemplates/templates/aspire-starter/.template.config/localize/templatestrings.ko.json +++ b/src/Aspire.ProjectTemplates/templates/aspire-starter/.template.config/localize/templatestrings.ko.json @@ -1,4 +1,4 @@ -{ +{ "author": "Microsoft", "name": "Aspire 시작 앱(ASP.NET Core/Blazor)", "description": "선택적 Redis 캐싱을 사용하여 Blazor 웹 프런트 엔드와 웹 API 백 엔드 서비스로 Aspire 앱을 만들기 위한 프로젝트 템플릿입니다.", @@ -24,11 +24,9 @@ "symbols/XUnitVersion/choices/v3mtp/description": "Microsoft 테스트 플랫폼이 포함된 xUnit.net v3 선택", "symbols/appHostHttpPort/description": "AppHost 프로젝트의 launchSettings.json HTTP 엔드포인트에 사용할 포트 번호입니다.", "symbols/appHostOtlpHttpPort/description": "AppHost 프로젝트의 launchSettings.json OTLP HTTP 엔드포인트에 사용할 포트 번호입니다.", - "symbols/appHostMcpHttpPort/description": "AppHost 프로젝트의 launchSettings.json에서 MCP HTTP 엔드포인트에 사용할 포트 번호입니다.", "symbols/appHostResourceHttpPort/description": "AppHost 프로젝트의 launchSettings.json 리소스 서비스 HTTP 엔드포인트에 사용할 포트 번호입니다.", "symbols/appHostHttpsPort/description": "AppHost 프로젝트의 launchSettings.json HTTPS 엔드포인트에 사용할 포트 번호입니다. 이 옵션은 no-https 매개 변수가 사용되지 않는 경우에만 적용됩니다.", "symbols/appHostOtlpHttpsPort/description": "AppHost 프로젝트의 launchSettings.json OTLP HTTPS 엔드포인트에 사용할 포트 번호입니다.", - "symbols/appHostMcpHttpsPort/description": "AppHost 프로젝트의 launchSettings.json에서 MCP HTTPS 엔드포인트에 사용할 포트 번호입니다.", "symbols/appHostResourceHttpsPort/description": "AppHost 프로젝트의 launchSettings.json 리소스 서비스 HTTPS 엔드포인트에 사용할 포트 번호입니다.", "symbols/webHttpPort/description": "웹 프로젝트의 launchSettings.json HTTP 엔드포인트에 사용할 포트 번호입니다.", "symbols/webHttpsPort/description": "웹 프로젝트의 launchSettings.json HTTPS 엔드포인트에 사용할 포트 번호입니다. 이 옵션은 no-https 매개 변수가 사용되지 않는 경우에만 적용됩니다.", diff --git a/src/Aspire.ProjectTemplates/templates/aspire-starter/.template.config/localize/templatestrings.pl.json b/src/Aspire.ProjectTemplates/templates/aspire-starter/.template.config/localize/templatestrings.pl.json index 2308dcb0ad7..56cb1da16cc 100644 --- a/src/Aspire.ProjectTemplates/templates/aspire-starter/.template.config/localize/templatestrings.pl.json +++ b/src/Aspire.ProjectTemplates/templates/aspire-starter/.template.config/localize/templatestrings.pl.json @@ -1,4 +1,4 @@ -{ +{ "author": "Microsoft", "name": "Aplikacja startowa Aspire (ASP.NET Core/Blazor)", "description": "Szablon projektu na potrzeby tworzenia aplikacji Aspire z frontonem internetowym platformy Blazor i usługą wewnętrznej bazy danych internetowego interfejsu API, z opcjonalnym buforowaniem Redis.", @@ -24,11 +24,9 @@ "symbols/XUnitVersion/choices/v3mtp/description": "Wybiera xUnit.net v3 z platformą Microsoft Test Platform", "symbols/appHostHttpPort/description": "Numer portu do użycia dla punktu końcowego HTTP w pliku launchSettings.json projektu AppHost.", "symbols/appHostOtlpHttpPort/description": "Numer portu do użycia dla punktu końcowego HTTP OTLP w pliku launchSettings.json projektu AppHost.", - "symbols/appHostMcpHttpPort/description": "Numer portu do użycia dla punktu końcowego HTTP MCP w pliku launchSettings.json projektu AppHost.", "symbols/appHostResourceHttpPort/description": "Numer portu do użycia dla punktu końcowego HTTP usługi zasobów w pliku launchSettings.json projektu AppHost.", "symbols/appHostHttpsPort/description": "Numer portu do użycia dla punktu końcowego HTTPS w pliku launchSettings.json projektu AppHost. Ta opcja ma zastosowanie tylko wtedy, gdy parametr no-https nie jest używany.", "symbols/appHostOtlpHttpsPort/description": "Numer portu do użycia dla punktu końcowego HTTPS OTLP w pliku launchSettings.json projektu AppHost.", - "symbols/appHostMcpHttpsPort/description": "Numer portu do użycia dla punktu końcowego HTTPS MCP w pliku launchSettings.json projektu AppHost.", "symbols/appHostResourceHttpsPort/description": "Numer portu do użycia dla punktu końcowego HTTPS usługi zasobów w pliku launchSettings.json projektu AppHost.", "symbols/webHttpPort/description": "Numer portu do użycia dla punktu końcowego HTTP w pliku launchSettings.json projektu sieci Web.", "symbols/webHttpsPort/description": "Numer portu do użycia dla punktu końcowego HTTPS w pliku launchSettings.json projektu sieci Web. Ta opcja ma zastosowanie tylko wtedy, gdy parametr no-https nie jest używany.", diff --git a/src/Aspire.ProjectTemplates/templates/aspire-starter/.template.config/localize/templatestrings.pt-BR.json b/src/Aspire.ProjectTemplates/templates/aspire-starter/.template.config/localize/templatestrings.pt-BR.json index 3ca6e954157..630a0494283 100644 --- a/src/Aspire.ProjectTemplates/templates/aspire-starter/.template.config/localize/templatestrings.pt-BR.json +++ b/src/Aspire.ProjectTemplates/templates/aspire-starter/.template.config/localize/templatestrings.pt-BR.json @@ -1,4 +1,4 @@ -{ +{ "author": "Microsoft", "name": "App de Inicialização Aspire (ASP.NET Core/Blazor)", "description": "Um modelo de projeto para criar um aplicativo Aspire com front-end web em Blazor e serviço de back-end em API Web, com cache Redis opcional.", @@ -24,11 +24,9 @@ "symbols/XUnitVersion/choices/v3mtp/description": "Escolhe xUnit.net v3 com Plataforma de Teste da Microsoft", "symbols/appHostHttpPort/description": "Número da porta a ser usado para o ponto de extremidade HTTP launchSettings.json do projeto AppHost.", "symbols/appHostOtlpHttpPort/description": "Número da porta a ser usado para o ponto de extremidade HTTP OTLP launchSettings.json do projeto AppHost.", - "symbols/appHostMcpHttpPort/description": "Número da porta a ser usado para o ponto de extremidade HTTP do MCP launchSettings.json do projeto AppHost.", "symbols/appHostResourceHttpPort/description": "Número da porta a ser usado para o ponto de extremidade HTTP do serviço de recurso launchSettings.json do projeto AppHost.", "symbols/appHostHttpsPort/description": "Número da porta a ser usado para o ponto de extremidade HTTPS launchSettings.json do projeto AppHost. Essa opção só é aplicável quando o parâmetro no-https não é usado.", "symbols/appHostOtlpHttpsPort/description": "Número da porta a ser usado para o ponto de extremidade HTTPS OTLP launchSettings.json do projeto AppHost.", - "symbols/appHostMcpHttpsPort/description": "Número da porta a ser usado para o ponto de extremidade HTTPS do MCP launchSettings.json do projeto AppHost.", "symbols/appHostResourceHttpsPort/description": "Número da porta a ser usado para o ponto de extremidade HTTPS do serviço de recurso launchSettings.json do projeto AppHost.", "symbols/webHttpPort/description": "Número da porta a ser usado para o ponto de extremidade HTTP launchSettings.json do projeto Web.", "symbols/webHttpsPort/description": "Número da porta a ser usada para o ponto de extremidade HTTPS em launchSettings.json. Essa opção só é aplicável quando o parâmetro no-https não é usado.", diff --git a/src/Aspire.ProjectTemplates/templates/aspire-starter/.template.config/localize/templatestrings.ru.json b/src/Aspire.ProjectTemplates/templates/aspire-starter/.template.config/localize/templatestrings.ru.json index 0dee131f877..f9b2bbba374 100644 --- a/src/Aspire.ProjectTemplates/templates/aspire-starter/.template.config/localize/templatestrings.ru.json +++ b/src/Aspire.ProjectTemplates/templates/aspire-starter/.template.config/localize/templatestrings.ru.json @@ -1,4 +1,4 @@ -{ +{ "author": "Майкрософт", "name": "Начальное приложение Aspire (ASP.NET Core/Blazor)", "description": "Шаблон проекта для создания приложения Aspire с веб-интерфейсом Blazor и серверной службой веб-API с необязательным кэшированием Redis.", @@ -24,11 +24,9 @@ "symbols/XUnitVersion/choices/v3mtp/description": "Выбирает xUnit.net версии 3 с платформой тестирования Майкрософт", "symbols/appHostHttpPort/description": "Номер порта, который будет использоваться для конечной точки HTTP в файле launchSettings.json проекта AppHost.", "symbols/appHostOtlpHttpPort/description": "Номер порта, который будет использоваться для конечной точки HTTP OTLP в файле launchSettings.json проекта AppHost.", - "symbols/appHostMcpHttpPort/description": "Номер порта для использования в конечной точке MCP HTTP в launchSettings.json проекта AppHost.", "symbols/appHostResourceHttpPort/description": "Номер порта, который будет использоваться для конечной точки HTTP службы ресурсов в файле launchSettings.json проекта AppHost.", "symbols/appHostHttpsPort/description": "Номер порта, который будет использоваться для конечной точки HTTPS в файле launchSettings.json проекта AppHost. Этот параметр применим только в том случае, если NO-HTTP не используется.", "symbols/appHostOtlpHttpsPort/description": "Номер порта, который будет использоваться для конечной точки OTLP HTTPS в файле launchSettings.json проекта AppHost.", - "symbols/appHostMcpHttpsPort/description": "Номер порта для использования в конечной точке MCP HTTPS в launchSettings.json проекта AppHost.", "symbols/appHostResourceHttpsPort/description": "Номер порта, который будет использоваться для конечной точки HTTPS службы ресурсов в файле launchSettings.json проекта AppHost.", "symbols/webHttpPort/description": "Номер порта, который будет использоваться для конечной точки HTTP в файле launchSettings.json веб-проекта.", "symbols/webHttpsPort/description": "Номер порта, который будет использоваться для конечной точки HTTPS в файле launchSettings.json веб-проекта. Этот параметр применим только в том случае, если NO-HTTP не используется.", diff --git a/src/Aspire.ProjectTemplates/templates/aspire-starter/.template.config/localize/templatestrings.tr.json b/src/Aspire.ProjectTemplates/templates/aspire-starter/.template.config/localize/templatestrings.tr.json index 6107674f12e..14544e711ea 100644 --- a/src/Aspire.ProjectTemplates/templates/aspire-starter/.template.config/localize/templatestrings.tr.json +++ b/src/Aspire.ProjectTemplates/templates/aspire-starter/.template.config/localize/templatestrings.tr.json @@ -1,4 +1,4 @@ -{ +{ "author": "Microsoft", "name": "Aspire Başlangıç Uygulaması (ASP.NET Core/Blazor)", "description": "Blazor web ön yüzü ve web API'si arka uç hizmeti ile isteğe bağlı Redis önbellek hizmetine sahip bir Aspire uygulaması oluşturmak için bir proje şablonu.", @@ -24,11 +24,9 @@ "symbols/XUnitVersion/choices/v3mtp/description": "Microsoft Test Platformu özellikli xUnit.net v3'ü seçer", "symbols/appHostHttpPort/description": "AppHost projesinin HTTP uç noktası launchSettings.json bağlantı noktası numarası.", "symbols/appHostOtlpHttpPort/description": "AppHost projesinin OTLP HTTP uç noktası launchSettings.json bağlantı noktası numarası.", - "symbols/appHostMcpHttpPort/description": "AppHost projesinin launchSettings.json dosyasında MCP HTTP uç noktası için kullanılacak bağlantı noktası numarası.", "symbols/appHostResourceHttpPort/description": "AppHost projesinin kaynak hizmeti HTTP uç noktası launchSettings.json bağlantı noktası numarası.", "symbols/appHostHttpsPort/description": "AppHost projesinin HTTPS uç noktası launchSettings.json bağlantı noktası numarası. Bu seçenek yalnızca no-https parametresi kullanılmadığında uygulanabilir.", "symbols/appHostOtlpHttpsPort/description": "AppHost projesinin OTLP HTTPS uç noktası launchSettings.json bağlantı noktası numarası.", - "symbols/appHostMcpHttpsPort/description": "AppHost projesinin launchSettings.json dosyasında MCP HTTPS uç noktası için kullanılacak bağlantı noktası numarası.", "symbols/appHostResourceHttpsPort/description": "AppHost projesinin kaynak hizmeti HTTPS uç noktası launchSettings.json bağlantı noktası numarası.", "symbols/webHttpPort/description": "Web projesinin HTTP uç noktası launchSettings.json bağlantı noktası numarası.", "symbols/webHttpsPort/description": "Web projesinin HTTPS uç noktası launchSettings.json bağlantı noktası numarası. Bu seçenek yalnızca no-https parametresi kullanılmadığında uygulanabilir.", diff --git a/src/Aspire.ProjectTemplates/templates/aspire-starter/.template.config/localize/templatestrings.zh-Hans.json b/src/Aspire.ProjectTemplates/templates/aspire-starter/.template.config/localize/templatestrings.zh-Hans.json index a81f079866f..750755ba6ac 100644 --- a/src/Aspire.ProjectTemplates/templates/aspire-starter/.template.config/localize/templatestrings.zh-Hans.json +++ b/src/Aspire.ProjectTemplates/templates/aspire-starter/.template.config/localize/templatestrings.zh-Hans.json @@ -1,4 +1,4 @@ -{ +{ "author": "Microsoft", "name": "Aspire 入门应用(ASP.NET Core/Blazor)", "description": "用于使用 Blazor Web 前端和 Web API 后端服务创建 Aspire 应用的项目模板,可选择使用 Redis 缓存。", @@ -24,11 +24,9 @@ "symbols/XUnitVersion/choices/v3mtp/description": "使用 Microsoft 测试平台选择 xUnit.net v3", "symbols/appHostHttpPort/description": "该端口号将用于 AppHost 项目的 launchSettings.json 中的 HTTP 终结点。", "symbols/appHostOtlpHttpPort/description": "该端口号将用于 AppHost 项目的 launchSettings.json 中的 OTLP HTTP 终结点。", - "symbols/appHostMcpHttpPort/description": "用于 AppHost 项目的 launchSettings.json 中 MCP HTTP 终结点的端口号。", "symbols/appHostResourceHttpPort/description": "该端口号将用于 AppHost 项目的 launchSettings.json 中的资源服务 HTTP 终结点。", "symbols/appHostHttpsPort/description": "该端口号将用于 AppHost 项目的 launchSettings.json 中的 HTTPS 终结点。仅当不使用参数 no-https 时,此选项才适用。", "symbols/appHostOtlpHttpsPort/description": "该端口号将用于 AppHost 项目的 launchSettings.json 中的 OTLP HTTPS 终结点。", - "symbols/appHostMcpHttpsPort/description": "用于 AppHost 项目的 launchSettings.json 中 MCP HTTPS 终结点的端口号。", "symbols/appHostResourceHttpsPort/description": "该端口号将用于 AppHost 项目的 launchSettings.json 中的资源服务 HTTPS 终结点。", "symbols/webHttpPort/description": "该端口号将用于 Web 项目的 launchSettings.json 中的 HTTP 终结点。", "symbols/webHttpsPort/description": "该端口号将用于 Web 项目的 launchSettings.json 中的 HTTPS 终结点。仅当不使用参数 no-https 时,此选项才适用。", diff --git a/src/Aspire.ProjectTemplates/templates/aspire-starter/.template.config/localize/templatestrings.zh-Hant.json b/src/Aspire.ProjectTemplates/templates/aspire-starter/.template.config/localize/templatestrings.zh-Hant.json index efa1aeb443a..d9649be9d09 100644 --- a/src/Aspire.ProjectTemplates/templates/aspire-starter/.template.config/localize/templatestrings.zh-Hant.json +++ b/src/Aspire.ProjectTemplates/templates/aspire-starter/.template.config/localize/templatestrings.zh-Hant.json @@ -1,4 +1,4 @@ -{ +{ "author": "Microsoft", "name": "Aspire 入門應用程式 (ASP.NET Core/Blazor)", "description": "用於建立 Aspire 應用程式的專案範本,其中包含 Blazor Web 前端與 Web API 後端服務,並可選用 Redis 快取功能。", @@ -24,11 +24,9 @@ "symbols/XUnitVersion/choices/v3mtp/description": "選擇使用 xUnit.net v3 搭配 Microsoft 測試平台", "symbols/appHostHttpPort/description": "要用於 AppHost 專案 launchSettings.json 中 HTTP 端點的連接埠號碼。", "symbols/appHostOtlpHttpPort/description": "要用於 AppHost 專案 launchSettings.json 中 OTLP HTTP 端點的連接埠號碼。", - "symbols/appHostMcpHttpPort/description": "要用於 AppHost 專案 launchSettings.json 中 MCP HTTP 端點的連接埠號碼。", "symbols/appHostResourceHttpPort/description": "要用於 AppHost 專案 launchSettings.json 中資源服務 HTTP 端點的連接埠號碼。", "symbols/appHostHttpsPort/description": "要用於 AppHost 專案 launchSettings.json 中 HTTPS 端點的連接埠號碼。只有在未使用參數 no-https 時,才適用此選項。", "symbols/appHostOtlpHttpsPort/description": "要用於 AppHost 專案 launchSettings.json 中 OTLP HTTPS 端點的連接埠號碼。", - "symbols/appHostMcpHttpsPort/description": "要用於 AppHost 專案 launchSettings.json 中 MCP HTTPS 端點的連接埠號碼。", "symbols/appHostResourceHttpsPort/description": "要用於 AppHost 專案 launchSettings.json 中資源服務 HTTPS 端點的連接埠號碼。", "symbols/webHttpPort/description": "要用於 Web 專案 launchSettings.json 中 HTTP 端點的連接埠號碼。", "symbols/webHttpsPort/description": "要用於 Web 專案 launchSettings.json 中 HTTPS 端點的連接埠號碼。只有在未使用參數 no-https 時,才適用此選項。", diff --git a/src/Aspire.ProjectTemplates/templates/aspire-starter/.template.config/template.json b/src/Aspire.ProjectTemplates/templates/aspire-starter/.template.config/template.json index 3db34df395a..3f2a9d9c80f 100644 --- a/src/Aspire.ProjectTemplates/templates/aspire-starter/.template.config/template.json +++ b/src/Aspire.ProjectTemplates/templates/aspire-starter/.template.config/template.json @@ -203,28 +203,6 @@ }, "replaces": "19000" }, - "appHostMcpHttpPort": { - "type": "parameter", - "datatype": "integer", - "description": "Port number to use for the MCP HTTP endpoint in launchSettings.json of the AppHost project." - }, - "appHostMcpHttpPortGenerated": { - "type": "generated", - "generator": "port", - "parameters": { - "low": 18000, - "high": 18300 - } - }, - "appHostMcpHttpPortReplacer": { - "type": "generated", - "generator": "coalesce", - "parameters": { - "sourceVariableName": "appHostMcpHttpPort", - "fallbackVariableName": "appHostMcpHttpPortGenerated" - }, - "replaces": "18000" - }, "appHostResourceHttpPort": { "type": "parameter", "datatype": "integer", @@ -291,28 +269,6 @@ }, "replaces": "21000" }, - "appHostMcpHttpsPort": { - "type": "parameter", - "datatype": "integer", - "description": "Port number to use for the MCP HTTPS endpoint in launchSettings.json of the AppHost project." - }, - "appHostMcpHttpsPortGenerated": { - "type": "generated", - "generator": "port", - "parameters": { - "low": 23000, - "high": 23300 - } - }, - "appHostMcpHttpsPortReplacer": { - "type": "generated", - "generator": "coalesce", - "parameters": { - "sourceVariableName": "appHostMcpHttpsPort", - "fallbackVariableName": "appHostMcpHttpsPortGenerated" - }, - "replaces": "23000" - }, "appHostResourceHttpsPort": { "type": "parameter", "datatype": "integer", diff --git a/src/Aspire.ProjectTemplates/templates/aspire-starter/Aspire-StarterApplication.1.AppHost/Properties/launchSettings.json b/src/Aspire.ProjectTemplates/templates/aspire-starter/Aspire-StarterApplication.1.AppHost/Properties/launchSettings.json index 70d9b9ae359..83df4bced7d 100644 --- a/src/Aspire.ProjectTemplates/templates/aspire-starter/Aspire-StarterApplication.1.AppHost/Properties/launchSettings.json +++ b/src/Aspire.ProjectTemplates/templates/aspire-starter/Aspire-StarterApplication.1.AppHost/Properties/launchSettings.json @@ -15,7 +15,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "https://localhost:21000", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "https://localhost:23000", "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "https://localhost:22000" } }, @@ -33,7 +32,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "http://localhost:19000", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "http://localhost:18000", "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "http://localhost:20000" } } diff --git a/src/Aspire.ProjectTemplates/templates/aspire-ts-cs-starter/.template.config/dotnetcli.host.json b/src/Aspire.ProjectTemplates/templates/aspire-ts-cs-starter/.template.config/dotnetcli.host.json index a168fc0072d..e3bb46d8051 100644 --- a/src/Aspire.ProjectTemplates/templates/aspire-ts-cs-starter/.template.config/dotnetcli.host.json +++ b/src/Aspire.ProjectTemplates/templates/aspire-ts-cs-starter/.template.config/dotnetcli.host.json @@ -16,12 +16,6 @@ "appHostOtlpHttpsPort": { "isHidden": true }, - "appHostMcpHttpPort": { - "isHidden": true - }, - "appHostMcpHttpsPort": { - "isHidden": true - }, "appHostResourceHttpPort": { "isHidden": true }, diff --git a/src/Aspire.ProjectTemplates/templates/aspire-ts-cs-starter/.template.config/localize/templatestrings.cs.json b/src/Aspire.ProjectTemplates/templates/aspire-ts-cs-starter/.template.config/localize/templatestrings.cs.json index 4e54f14e300..73687a4dae6 100644 --- a/src/Aspire.ProjectTemplates/templates/aspire-ts-cs-starter/.template.config/localize/templatestrings.cs.json +++ b/src/Aspire.ProjectTemplates/templates/aspire-ts-cs-starter/.template.config/localize/templatestrings.cs.json @@ -1,4 +1,4 @@ -{ +{ "author": "Microsoft", "name": "Úvodní aplikace Aspire (ASP.NET Core/React)", "description": "Šablona projektu pro vytvoření aplikace Aspire s front-endem React a back-endovou službou minimálního rozhraní API jazyka C# s volitelným ukládáním do mezipaměti Redis", @@ -10,11 +10,9 @@ "symbols/UseRedisCache/description": "Nakonfiguruje, jestli se má aplikace nastavit tak, aby pro ukládání do mezipaměti používala Redis. K místnímu spouštění se vyžaduje podporovaný modul runtime kontejneru. Další podrobnosti najdete na https://aka.ms/aspire/containers.", "symbols/appHostHttpPort/description": "Číslo portu, který se má použít pro koncový bod HTTP v launchSettings.json projektu AppHost.", "symbols/appHostOtlpHttpPort/description": "Číslo portu, který se má použít pro koncový bod HTTP OTLP v launchSettings.json projektu AppHost.", - "symbols/appHostMcpHttpPort/description": "Číslo portu, který se má použít pro koncový bod MCP HTTP v launchSettings.json projektu AppHost.", "symbols/appHostResourceHttpPort/description": "Číslo portu, který se má použít pro koncový bod HTTP služby prostředků v launchSettings.json projektu AppHost.", "symbols/appHostHttpsPort/description": "Číslo portu, který se má použít pro koncový bod HTTPS v launchSettings.json projektu AppHost. Tato možnost se dá použít jenom v případě, že se nepoužívá parametr no-https.", "symbols/appHostOtlpHttpsPort/description": "Číslo portu, který se má použít pro koncový bod HTTPS OTLP v launchSettings.json projektu AppHost.", - "symbols/appHostMcpHttpsPort/description": "Číslo portu, který se má použít pro koncový bod MCP HTTPS v launchSettings.json projektu AppHost.", "symbols/appHostResourceHttpsPort/description": "Číslo portu, který se má použít pro koncový bod HTTPS služby prostředků v launchSettings.json projektu AppHost.", "symbols/serverHttpPort/description": "Číslo portu, který se má použít pro koncový bod HTTP v launchSettings.json projektu serveru.", "symbols/serverHttpsPort/description": "Číslo portu, který se má použít pro koncový bod HTTPS v launchSettings.json projektu serveru. Tato možnost se dá použít jenom v případě, že se nepoužívá parametr no-https.", diff --git a/src/Aspire.ProjectTemplates/templates/aspire-ts-cs-starter/.template.config/localize/templatestrings.de.json b/src/Aspire.ProjectTemplates/templates/aspire-ts-cs-starter/.template.config/localize/templatestrings.de.json index 9085dbf875f..80bbedd9624 100644 --- a/src/Aspire.ProjectTemplates/templates/aspire-ts-cs-starter/.template.config/localize/templatestrings.de.json +++ b/src/Aspire.ProjectTemplates/templates/aspire-ts-cs-starter/.template.config/localize/templatestrings.de.json @@ -1,4 +1,4 @@ -{ +{ "author": "Microsoft", "name": "Aspire Starter-App (ASP.NET Core/React)", "description": "Eine Projektvorlage zum Erstellen einer Aspire-App mit einem React-Front-End und einem C# Minimal-API-Back-End-Dienst, optional mit Redis-Zwischenspeicherung.", @@ -10,11 +10,9 @@ "symbols/UseRedisCache/description": "Legt fest, ob die Anwendung für die Verwendung von Redis zum Zwischenspeichern eingerichtet werden soll. Erfordert eine unterstützte Containerruntime für die lokale Ausführung. Weitere Informationen finden Sie unter https://aka.ms/aspire/containers.", "symbols/appHostHttpPort/description": "Portnummer, die für den HTTP-Endpunkt in launchSettings.json des AppHost-Projekts verwendet werden soll.", "symbols/appHostOtlpHttpPort/description": "Portnummer, die für den OTLP-HTTP-Endpunkt in launchSettings.json des AppHost-Projekts verwendet werden soll.", - "symbols/appHostMcpHttpPort/description": "Portnummer, die für den MCP-HTTP-Endpunkt in launchSettings.json des AppHost-Projekts verwendet werden soll.", "symbols/appHostResourceHttpPort/description": "Portnummer, die für den HTTP-Endpunkt des Ressourcendiensts in launchSettings.json des AppHost-Projekts verwendet werden soll.", "symbols/appHostHttpsPort/description": "Portnummer, die für den HTTPS-Endpunkt in launchSettings.json des AppHost-Projekts verwendet werden soll. Diese Option ist nur anwendbar, wenn der Parameter no-https nicht verwendet wird.", "symbols/appHostOtlpHttpsPort/description": "Portnummer, die für den OTLP-HTTPS-Endpunkt in launchSettings.json des AppHost-Projekts verwendet werden soll.", - "symbols/appHostMcpHttpsPort/description": "Portnummer, die für den MCP-HTTPS-Endpunkt in launchSettings.json des AppHost-Projekts verwendet werden soll.", "symbols/appHostResourceHttpsPort/description": "Portnummer, die für den HTTPS-Endpunkt des Ressourcendiensts in launchSettings.json des AppHost-Projekts verwendet werden soll.", "symbols/serverHttpPort/description": "Portnummer, die für den HTTP-Endpunkt in launchSettings.json des Serverprojekts verwendet werden soll.", "symbols/serverHttpsPort/description": "Portnummer, die für den HTTPS-Endpunkt in launchSettings.json des Serverprojekts verwendet werden soll. Diese Option ist nur anwendbar, wenn der Parameter no-https nicht verwendet wird.", diff --git a/src/Aspire.ProjectTemplates/templates/aspire-ts-cs-starter/.template.config/localize/templatestrings.en.json b/src/Aspire.ProjectTemplates/templates/aspire-ts-cs-starter/.template.config/localize/templatestrings.en.json index b96aa125ac0..36c326ddeb7 100644 --- a/src/Aspire.ProjectTemplates/templates/aspire-ts-cs-starter/.template.config/localize/templatestrings.en.json +++ b/src/Aspire.ProjectTemplates/templates/aspire-ts-cs-starter/.template.config/localize/templatestrings.en.json @@ -10,11 +10,9 @@ "symbols/UseRedisCache/description": "Configures whether to setup the application to use Redis for caching. Requires a supported container runtime to run locally, see https://aka.ms/aspire/containers for more details.", "symbols/appHostHttpPort/description": "Port number to use for the HTTP endpoint in launchSettings.json of the AppHost project.", "symbols/appHostOtlpHttpPort/description": "Port number to use for the OTLP HTTP endpoint in launchSettings.json of the AppHost project.", - "symbols/appHostMcpHttpPort/description": "Port number to use for the MCP HTTP endpoint in launchSettings.json of the AppHost project.", "symbols/appHostResourceHttpPort/description": "Port number to use for the resource service HTTP endpoint in launchSettings.json of the AppHost project.", "symbols/appHostHttpsPort/description": "Port number to use for the HTTPS endpoint in launchSettings.json of the AppHost project. This option is only applicable when the parameter no-https is not used.", "symbols/appHostOtlpHttpsPort/description": "Port number to use for the OTLP HTTPS endpoint in launchSettings.json of the AppHost project.", - "symbols/appHostMcpHttpsPort/description": "Port number to use for the MCP HTTPS endpoint in launchSettings.json of the AppHost project.", "symbols/appHostResourceHttpsPort/description": "Port number to use for the resource service HTTPS endpoint in launchSettings.json of the AppHost project.", "symbols/serverHttpPort/description": "Port number to use for the HTTP endpoint in launchSettings.json of the Server project.", "symbols/serverHttpsPort/description": "Port number to use for the HTTPS endpoint in launchSettings.json of the Server project. This option is only applicable when the parameter no-https is not used.", diff --git a/src/Aspire.ProjectTemplates/templates/aspire-ts-cs-starter/.template.config/localize/templatestrings.es.json b/src/Aspire.ProjectTemplates/templates/aspire-ts-cs-starter/.template.config/localize/templatestrings.es.json index a0f4051c0fc..1fea68bb228 100644 --- a/src/Aspire.ProjectTemplates/templates/aspire-ts-cs-starter/.template.config/localize/templatestrings.es.json +++ b/src/Aspire.ProjectTemplates/templates/aspire-ts-cs-starter/.template.config/localize/templatestrings.es.json @@ -1,4 +1,4 @@ -{ +{ "author": "Microsoft", "name": "Aplicación starter de Starter (ASP.NET Core/React)", "description": "Plantilla de proyecto para crear una aplicación Desi con un front-end de React y un servicio back-end de API mínimo de C#, con almacenamiento en caché de Redis opcional.", @@ -10,11 +10,9 @@ "symbols/UseRedisCache/description": "Configure si se va a configurar la aplicación para que use Redis para el almacenamiento en caché. Requiere un entorno de ejecución de contenedor compatible para ejecutarse localmente. Consulte https://aka.ms/aspire/containers para obtener más detalles.", "symbols/appHostHttpPort/description": "Número de puerto que se va a usar para el punto de conexión HTTP en launchSettings.json del proyecto AppHost.", "symbols/appHostOtlpHttpPort/description": "Número de puerto que se va a usar para el punto de conexión HTTP de OTLP en launchSettings.json del proyecto AppHost.", - "symbols/appHostMcpHttpPort/description": "Número de puerto que se va a usar para el punto de conexión MCP HTTP en launchSettings.json del proyecto AppHost.", "symbols/appHostResourceHttpPort/description": "Número de puerto que se va a usar para el punto de conexión HTTP del servicio de recursos en launchSettings.json del proyecto AppHost.", "symbols/appHostHttpsPort/description": "Número de puerto que se va a usar para el punto de conexión HTTPS en launchSettings.json del proyecto AppHost. Esta opción solo es aplicable cuando no se usa el parámetro no-https.", "symbols/appHostOtlpHttpsPort/description": "Número de puerto que se va a usar para el punto de conexión HTTPS de OTLP en launchSettings.json del proyecto AppHost.", - "symbols/appHostMcpHttpsPort/description": "Número de puerto que se va a usar para el punto de conexión MCP HTTPS en launchSettings.json del proyecto AppHost.", "symbols/appHostResourceHttpsPort/description": "Número de puerto a usar para el punto de conexión HTTPS del servicio de recursos en launchSettings.json del proyecto AppHost.", "symbols/serverHttpPort/description": "Número de puerto que se va a usar para el punto de conexión HTTP en launchSettings.json del proyecto de servidor.", "symbols/serverHttpsPort/description": "Número de puerto que se va a usar para el punto de conexión HTTPS en launchSettings.json del proyecto de servidor. Esta opción solo es aplicable cuando no se usa el parámetro no-https.", diff --git a/src/Aspire.ProjectTemplates/templates/aspire-ts-cs-starter/.template.config/localize/templatestrings.fr.json b/src/Aspire.ProjectTemplates/templates/aspire-ts-cs-starter/.template.config/localize/templatestrings.fr.json index 56032929d6b..1a0f2ddee3c 100644 --- a/src/Aspire.ProjectTemplates/templates/aspire-ts-cs-starter/.template.config/localize/templatestrings.fr.json +++ b/src/Aspire.ProjectTemplates/templates/aspire-ts-cs-starter/.template.config/localize/templatestrings.fr.json @@ -1,4 +1,4 @@ -{ +{ "author": "Microsoft", "name": "Application de démarrage Aspire (ASP.NET Core/React)", "description": "Modèle de projet pour créer une application Aspire avec un front-end React et un service backend d’API Minimal en C#, avec une mise en cache Redis optionnelle.", @@ -10,11 +10,9 @@ "symbols/UseRedisCache/description": "Permet la configuration s’il faut configurer l’application afin qu’elle utilise Redis pour la mise en cache. Nécessite un runtime du conteneur pris en charge pour fonctionner localement, voir https://aka.ms/aspire/containers pour obtenir plus d’informations.", "symbols/appHostHttpPort/description": "Numéro de port à utiliser pour le point de terminaison HTTP dans launchSettings.json du projet AppHost.", "symbols/appHostOtlpHttpPort/description": "Numéro de port à utiliser pour le point de terminaison HTTP OTLP dans launchSettings.json du projet AppHost.", - "symbols/appHostMcpHttpPort/description": "Numéro de port à utiliser pour le point de terminaison HTTP MCP dans launchSettings.json du projet AppHost.", "symbols/appHostResourceHttpPort/description": "Numéro de port à utiliser pour le point de terminaison HTTP du service de ressources dans launchSettings.json du projet AppHost.", "symbols/appHostHttpsPort/description": "Numéro de port à utiliser pour le point de terminaison HTTPS dans launchSettings.json du projet AppHost. Cette option n'est applicable que lorsque le paramètre no-https n'est pas utilisé.", "symbols/appHostOtlpHttpsPort/description": "Numéro de port à utiliser pour le point de terminaison HTTPS OTLP dans launchSettings.json du projet AppHost.", - "symbols/appHostMcpHttpsPort/description": "Numéro de port à utiliser pour le point de terminaison HTTPS MCP dans launchSettings.json du projet AppHost.", "symbols/appHostResourceHttpsPort/description": "Numéro de port à utiliser pour le point de terminaison HTTPS du service de ressources dans launchSettings.json du projet AppHost.", "symbols/serverHttpPort/description": "Numéro de port à utiliser pour le point de terminaison HTTP dans launchSettings.json du projet Serveur.", "symbols/serverHttpsPort/description": "Numéro de port à utiliser pour le point de terminaison HTTPS dans launchSettings.json du projet Serveur. Cette option n’est applicable que lorsque le paramètre no-https n’est pas utilisé.", diff --git a/src/Aspire.ProjectTemplates/templates/aspire-ts-cs-starter/.template.config/localize/templatestrings.it.json b/src/Aspire.ProjectTemplates/templates/aspire-ts-cs-starter/.template.config/localize/templatestrings.it.json index 6f460207b2a..69b93e0879c 100644 --- a/src/Aspire.ProjectTemplates/templates/aspire-ts-cs-starter/.template.config/localize/templatestrings.it.json +++ b/src/Aspire.ProjectTemplates/templates/aspire-ts-cs-starter/.template.config/localize/templatestrings.it.json @@ -1,4 +1,4 @@ -{ +{ "author": "Microsoft", "name": "App Starter Aspire (ASP.NET Core/React)", "description": "Modello di progetto per la creazione di un'app Aspire con front-end React e servizio back-end Minimal API in C#, con cache Redis opzionale.", @@ -10,11 +10,9 @@ "symbols/UseRedisCache/description": "Configura se impostare l'applicazione per l'utilizzo di Redis per la memorizzazione nella cache. Richiede l'esecuzione locale di un runtime del contenitore supportato. Per altri dettagli, vedere https://aka.ms/aspire/containers.", "symbols/appHostHttpPort/description": "Numero di porta da usare per l'endpoint HTTP in launchSettings.json. del progetto AppHost.", "symbols/appHostOtlpHttpPort/description": "Numero di porta da usare per l'endpoint OTLP HTTP in launchSettings.json. del progetto AppHost.", - "symbols/appHostMcpHttpPort/description": "Numero di porta da usare per l'endpoint MCP HTTP in launchSettings.json. del progetto AppHost.", "symbols/appHostResourceHttpPort/description": "Numero di porta da usare per l'endpoint HTTP del servizio risorse in launchSettings.json del progetto AppHost.", "symbols/appHostHttpsPort/description": "Numero di porta da usare per l'endpoint HTTPS in launchSettings.json. del progetto AppHost. Questa opzione è applicabile solo quando il parametro no-https non viene usato.", "symbols/appHostOtlpHttpsPort/description": "Numero di porta da usare per l'endpoint OTLP HTTPS in launchSettings.json. del progetto AppHost.", - "symbols/appHostMcpHttpsPort/description": "Numero di porta da usare per l'endpoint MCP HTTPS in launchSettings.json. del progetto AppHost.", "symbols/appHostResourceHttpsPort/description": "Numero di porta da usare per l'endpoint HTTPS del servizio risorse in launchSettings.json del progetto AppHost.", "symbols/serverHttpPort/description": "Numero di porta da usare per l'endpoint HTTP in launchSettings.json. del progetto Server.", "symbols/serverHttpsPort/description": "Numero di porta da usare per l'endpoint HTTPS in launchSettings.json del progetto Server. Questa opzione è applicabile solo quando il parametro no-https non viene usato.", diff --git a/src/Aspire.ProjectTemplates/templates/aspire-ts-cs-starter/.template.config/localize/templatestrings.ja.json b/src/Aspire.ProjectTemplates/templates/aspire-ts-cs-starter/.template.config/localize/templatestrings.ja.json index 48285bdf6c1..d4e2bbd1602 100644 --- a/src/Aspire.ProjectTemplates/templates/aspire-ts-cs-starter/.template.config/localize/templatestrings.ja.json +++ b/src/Aspire.ProjectTemplates/templates/aspire-ts-cs-starter/.template.config/localize/templatestrings.ja.json @@ -1,4 +1,4 @@ -{ +{ "author": "Microsoft", "name": "Aspire スターター アプリ (ASP.NET Core/React)", "description": "React フロントエンドと C# MInimal API バックエンド サービスを使用して Aspire アプリを作成するためのプロジェクト テンプレート。必要に応じて、Redis キャッシュを使用します。", @@ -10,11 +10,9 @@ "symbols/UseRedisCache/description": "Redis をキャッシュに使用するようにアプリケーションを設定するかどうかを構成します。ローカルで実行するには、サポートされているコンテナー ランタイムが必要です。詳細については、https://aka.ms/aspire/containers を参照してください。", "symbols/appHostHttpPort/description": "AppHost プロジェクトの launchSettings.json の HTTP エンドポイントに使用するポート番号。", "symbols/appHostOtlpHttpPort/description": "AppHost プロジェクトの launchSettings.json で OTLP HTTP エンドポイントに使用するポート番号。", - "symbols/appHostMcpHttpPort/description": "AppHost プロジェクトの launchSettings.json で MCP HTTP エンドポイント向けに使用するポート番号。", "symbols/appHostResourceHttpPort/description": "AppHost プロジェクトの launchSettings.json のリソース サービス HTTP エンドポイントに使用するポート番号。", "symbols/appHostHttpsPort/description": "AppHost プロジェクトの launchSettings.json の HTTPS エンドポイントに使用するポート番号。このオプションは、パラメーター no-https を使用しない場合にのみ適用されます。", "symbols/appHostOtlpHttpsPort/description": "AppHost プロジェクトの launchSettings.json で OTLP HTTPS エンドポイントに使用するポート番号。", - "symbols/appHostMcpHttpsPort/description": "AppHost プロジェクトの launchSettings.json で MCP HTTPS エンドポイント向けに使用するポート番号。", "symbols/appHostResourceHttpsPort/description": "AppHost プロジェクトの launchSettings.json のリソース サービス HTTPS エンドポイントに使用するポート番号。", "symbols/serverHttpPort/description": "Server プロジェクトの launchSettings.json の HTTP エンドポイントに使用するポート番号。", "symbols/serverHttpsPort/description": "Server プロジェクトの launchSettings.json の HTTPS エンドポイントに使用するポート番号。このオプションは、パラメーター no-https を使用されていない場合にのみ適用されます。", diff --git a/src/Aspire.ProjectTemplates/templates/aspire-ts-cs-starter/.template.config/localize/templatestrings.ko.json b/src/Aspire.ProjectTemplates/templates/aspire-ts-cs-starter/.template.config/localize/templatestrings.ko.json index 9aaf2f818e4..caaccaa2455 100644 --- a/src/Aspire.ProjectTemplates/templates/aspire-ts-cs-starter/.template.config/localize/templatestrings.ko.json +++ b/src/Aspire.ProjectTemplates/templates/aspire-ts-cs-starter/.template.config/localize/templatestrings.ko.json @@ -1,4 +1,4 @@ -{ +{ "author": "Microsoft", "name": "Aspire Starter 앱(ASP.NET Core/React)", "description": "선택적 Redis 캐싱을 사용하여 React 프런트 엔드와 C# 최소 API 백 엔드 서비스로 Aspire 앱을 만들기 위한 프로젝트 템플릿입니다.", @@ -10,11 +10,9 @@ "symbols/UseRedisCache/description": "캐싱에 Redis를 사용하도록 애플리케이션을 설정할지 여부를 구성합니다. 로컬로 실행하려면 지원되는 컨테이너 런타임이 필요합니다. 자세한 내용은 https://aka.ms/aspire/containers를 참조하세요.", "symbols/appHostHttpPort/description": "AppHost 프로젝트의 launchSettings.json HTTP 엔드포인트에 사용할 포트 번호입니다.", "symbols/appHostOtlpHttpPort/description": "AppHost 프로젝트의 launchSettings.json OTLP HTTP 엔드포인트에 사용할 포트 번호입니다.", - "symbols/appHostMcpHttpPort/description": "AppHost 프로젝트의 launchSettings.json에서 MCP HTTP 엔드포인트에 사용할 포트 번호입니다.", "symbols/appHostResourceHttpPort/description": "AppHost 프로젝트의 launchSettings.json 리소스 서비스 HTTP 엔드포인트에 사용할 포트 번호입니다.", "symbols/appHostHttpsPort/description": "AppHost 프로젝트의 launchSettings.json HTTPS 엔드포인트에 사용할 포트 번호입니다. 이 옵션은 no-https 매개 변수가 사용되지 않는 경우에만 적용됩니다.", "symbols/appHostOtlpHttpsPort/description": "AppHost 프로젝트의 launchSettings.json OTLP HTTPS 엔드포인트에 사용할 포트 번호입니다.", - "symbols/appHostMcpHttpsPort/description": "AppHost 프로젝트의 launchSettings.json에서 MCP HTTPS 엔드포인트에 사용할 포트 번호입니다.", "symbols/appHostResourceHttpsPort/description": "AppHost 프로젝트의 launchSettings.json 리소스 서비스 HTTPS 엔드포인트에 사용할 포트 번호입니다.", "symbols/serverHttpPort/description": "서버 프로젝트의 launchSettings.json에서 HTTP 엔드포인트에 사용할 포트 번호입니다.", "symbols/serverHttpsPort/description": "서버 프로젝트의 launchSettings.json에서 HTTPS 엔드포인트에 사용할 포트 번호입니다. 이 옵션은 no-https 매개 변수가 사용되지 않는 경우에만 적용됩니다.", diff --git a/src/Aspire.ProjectTemplates/templates/aspire-ts-cs-starter/.template.config/localize/templatestrings.pl.json b/src/Aspire.ProjectTemplates/templates/aspire-ts-cs-starter/.template.config/localize/templatestrings.pl.json index 8b4b04eb446..62aff1c423a 100644 --- a/src/Aspire.ProjectTemplates/templates/aspire-ts-cs-starter/.template.config/localize/templatestrings.pl.json +++ b/src/Aspire.ProjectTemplates/templates/aspire-ts-cs-starter/.template.config/localize/templatestrings.pl.json @@ -1,4 +1,4 @@ -{ +{ "author": "Microsoft", "name": "Aplikacja startowa Aspire (ASP.NET Core/React)", "description": "Szablon projektu do tworzenia aplikacji Aspire z frontonem React i minimalną usługą zaplecza interfejsu API w języku C#, z opcjonalnym buforowaniem Redis.", @@ -10,11 +10,9 @@ "symbols/UseRedisCache/description": "Określa, czy konfigurować aplikację do korzystania z magazynu danych Redis na potrzeby buforowania. Wymaga obsługiwanego środowiska uruchomieniowego kontenera na potrzeby uruchomienia lokalnego. Aby uzyskać więcej informacji, zobacz https://aka.ms/aspire/containers.", "symbols/appHostHttpPort/description": "Numer portu do użycia dla punktu końcowego HTTP w pliku launchSettings.json projektu AppHost.", "symbols/appHostOtlpHttpPort/description": "Numer portu do użycia dla punktu końcowego HTTP OTLP w pliku launchSettings.json projektu AppHost.", - "symbols/appHostMcpHttpPort/description": "Numer portu do użycia dla punktu końcowego HTTP MCP w pliku launchSettings.json projektu AppHost.", "symbols/appHostResourceHttpPort/description": "Numer portu do użycia dla punktu końcowego HTTP usługi zasobów w pliku launchSettings.json projektu AppHost.", "symbols/appHostHttpsPort/description": "Numer portu do użycia dla punktu końcowego HTTPS w pliku launchSettings.json projektu AppHost. Ta opcja ma zastosowanie tylko wtedy, gdy parametr no-https nie jest używany.", "symbols/appHostOtlpHttpsPort/description": "Numer portu do użycia dla punktu końcowego HTTPS OTLP w pliku launchSettings.json projektu AppHost.", - "symbols/appHostMcpHttpsPort/description": "Numer portu do użycia dla punktu końcowego HTTPS MCP w pliku launchSettings.json projektu AppHost.", "symbols/appHostResourceHttpsPort/description": "Numer portu do użycia dla punktu końcowego HTTPS usługi zasobów w pliku launchSettings.json projektu AppHost.", "symbols/serverHttpPort/description": "Numer portu do użycia dla punktu końcowego HTTP w pliku launchSettings.json projektu sieci Web.", "symbols/serverHttpsPort/description": "Numer portu do użycia dla punktu końcowego HTTPS w pliku launchSettings.json projektu serwera. Ta opcja ma zastosowanie tylko wtedy, gdy parametr no-https nie jest używany.", diff --git a/src/Aspire.ProjectTemplates/templates/aspire-ts-cs-starter/.template.config/localize/templatestrings.pt-BR.json b/src/Aspire.ProjectTemplates/templates/aspire-ts-cs-starter/.template.config/localize/templatestrings.pt-BR.json index 2a51d7450a3..e71e573e9e7 100644 --- a/src/Aspire.ProjectTemplates/templates/aspire-ts-cs-starter/.template.config/localize/templatestrings.pt-BR.json +++ b/src/Aspire.ProjectTemplates/templates/aspire-ts-cs-starter/.template.config/localize/templatestrings.pt-BR.json @@ -1,4 +1,4 @@ -{ +{ "author": "Microsoft", "name": "Aplicativo Inicial Aspire (ASP.NET Core/React)", "description": "Um modelo de projeto para criar um aplicativo Aspire com front-end React e serviço de back-end C# com API Mínima, com cache Redis opcional.", @@ -10,11 +10,9 @@ "symbols/UseRedisCache/description": "Configura se o aplicativo deve usar Redis para cache. Requer um runtime de contêiner com suporte para execução local; confira https://aka.ms/aspire/containers para obter mais detalhes.", "symbols/appHostHttpPort/description": "Número da porta a ser usado para o ponto de extremidade HTTP launchSettings.json do projeto AppHost.", "symbols/appHostOtlpHttpPort/description": "Número da porta a ser usado para o ponto de extremidade HTTP OTLP launchSettings.json do projeto AppHost.", - "symbols/appHostMcpHttpPort/description": "Número da porta a ser usado para o ponto de extremidade HTTP do MCP launchSettings.json do projeto AppHost.", "symbols/appHostResourceHttpPort/description": "Número da porta a ser usado para o ponto de extremidade HTTP do serviço de recurso launchSettings.json do projeto AppHost.", "symbols/appHostHttpsPort/description": "Número da porta a ser usado para o ponto de extremidade HTTPS launchSettings.json do projeto AppHost. Essa opção só é aplicável quando o parâmetro no-https não é usado.", "symbols/appHostOtlpHttpsPort/description": "Número da porta a ser usado para o ponto de extremidade HTTPS OTLP launchSettings.json do projeto AppHost.", - "symbols/appHostMcpHttpsPort/description": "Número da porta a ser usado para o ponto de extremidade HTTPS do MCP launchSettings.json do projeto AppHost.", "symbols/appHostResourceHttpsPort/description": "Número da porta a ser usado para o ponto de extremidade HTTPS do serviço de recurso launchSettings.json do projeto AppHost.", "symbols/serverHttpPort/description": "Número da porta a ser usado para o ponto de extremidade HTTP em launchSettings.json do projeto Servidor.", "symbols/serverHttpsPort/description": "Número da porta a ser usado para o ponto de extremidade HTTPS em launchSettings.json do projeto Servidor. Esta opção só se aplica quando o parâmetro no-https não é usado.", diff --git a/src/Aspire.ProjectTemplates/templates/aspire-ts-cs-starter/.template.config/localize/templatestrings.ru.json b/src/Aspire.ProjectTemplates/templates/aspire-ts-cs-starter/.template.config/localize/templatestrings.ru.json index a53de591e6f..38b5a099bb0 100644 --- a/src/Aspire.ProjectTemplates/templates/aspire-ts-cs-starter/.template.config/localize/templatestrings.ru.json +++ b/src/Aspire.ProjectTemplates/templates/aspire-ts-cs-starter/.template.config/localize/templatestrings.ru.json @@ -1,4 +1,4 @@ -{ +{ "author": "Майкрософт", "name": "Начальное приложение Aspire (ASP.NET Core/React)", "description": "Шаблон проекта для создания приложения Aspire с интерфейсной частью React и серверной службой минимального API на C# с необязательным кэшированием Redis.", @@ -10,11 +10,9 @@ "symbols/UseRedisCache/description": "Определяет, следует ли настраивать приложение с целью использования Redis для кэширования. Для локального запуска требуется поддерживаемая среда выполнения контейнеров. Дополнительные сведения см. на странице https://aka.ms/aspire/containers.", "symbols/appHostHttpPort/description": "Номер порта, который будет использоваться для конечной точки HTTP в файле launchSettings.json проекта AppHost.", "symbols/appHostOtlpHttpPort/description": "Номер порта, который будет использоваться для конечной точки HTTP OTLP в файле launchSettings.json проекта AppHost.", - "symbols/appHostMcpHttpPort/description": "Номер порта для использования в конечной точке MCP HTTP в launchSettings.json проекта AppHost.", "symbols/appHostResourceHttpPort/description": "Номер порта, который будет использоваться для конечной точки HTTP службы ресурсов в файле launchSettings.json проекта AppHost.", "symbols/appHostHttpsPort/description": "Номер порта, который будет использоваться для конечной точки HTTPS в файле launchSettings.json проекта AppHost. Этот параметр применим только в том случае, если NO-HTTP не используется.", "symbols/appHostOtlpHttpsPort/description": "Номер порта, который будет использоваться для конечной точки OTLP HTTPS в файле launchSettings.json проекта AppHost.", - "symbols/appHostMcpHttpsPort/description": "Номер порта для использования в конечной точке MCP HTTPS в launchSettings.json проекта AppHost.", "symbols/appHostResourceHttpsPort/description": "Номер порта, который будет использоваться для конечной точки HTTPS службы ресурсов в файле launchSettings.json проекта AppHost.", "symbols/serverHttpPort/description": "Номер порта, который будет использоваться для конечной точки HTTP в файле launchSettings.json проекта сервера.", "symbols/serverHttpsPort/description": "Номер порта, который будет использоваться для конечной точки HTTPS в файле launchSettings.json проекта сервера. Этот параметр применим только в том случае, если NO-HTTP не используется.", diff --git a/src/Aspire.ProjectTemplates/templates/aspire-ts-cs-starter/.template.config/localize/templatestrings.tr.json b/src/Aspire.ProjectTemplates/templates/aspire-ts-cs-starter/.template.config/localize/templatestrings.tr.json index 9bc5aae0f19..f104f5c8446 100644 --- a/src/Aspire.ProjectTemplates/templates/aspire-ts-cs-starter/.template.config/localize/templatestrings.tr.json +++ b/src/Aspire.ProjectTemplates/templates/aspire-ts-cs-starter/.template.config/localize/templatestrings.tr.json @@ -1,4 +1,4 @@ -{ +{ "author": "Microsoft", "name": "Aspire Başlangıç Uygulaması (ASP.NET Core/React)", "description": "İsteğe bağlı Redis önbelleğiyle bir React ön uç ve C# Minimal API arka uç hizmetini içeren bir Aspire uygulaması oluşturmak için proje şablonu.", @@ -10,11 +10,9 @@ "symbols/UseRedisCache/description": "Uygulamanın önbelleğe alma için Redis’i kullanmak üzere ayarlanıp ayarlanmayacağını yapılandırır. Yerel olarak çalıştırmak için desteklenen bir kapsayıcı çalışma zamanı gerektirir. Daha fazla ayrıntı için https://aka.ms/aspire/containers sayfasına bakın.", "symbols/appHostHttpPort/description": "AppHost projesinin HTTP uç noktası launchSettings.json bağlantı noktası numarası.", "symbols/appHostOtlpHttpPort/description": "AppHost projesinin OTLP HTTP uç noktası launchSettings.json bağlantı noktası numarası.", - "symbols/appHostMcpHttpPort/description": "AppHost projesinin launchSettings.json dosyasında MCP HTTP uç noktası için kullanılacak bağlantı noktası numarası.", "symbols/appHostResourceHttpPort/description": "AppHost projesinin kaynak hizmeti HTTP uç noktası launchSettings.json bağlantı noktası numarası.", "symbols/appHostHttpsPort/description": "AppHost projesinin HTTPS uç noktası launchSettings.json bağlantı noktası numarası. Bu seçenek yalnızca no-https parametresi kullanılmadığında uygulanabilir.", "symbols/appHostOtlpHttpsPort/description": "AppHost projesinin OTLP HTTPS uç noktası launchSettings.json bağlantı noktası numarası.", - "symbols/appHostMcpHttpsPort/description": "AppHost projesinin launchSettings.json dosyasında MCP HTTPS uç noktası için kullanılacak bağlantı noktası numarası.", "symbols/appHostResourceHttpsPort/description": "AppHost projesinin kaynak hizmeti HTTPS uç noktası launchSettings.json bağlantı noktası numarası.", "symbols/serverHttpPort/description": "Sunucu projesinin launchSettings.json dosyasındaki HTTP uç noktası için kullanılacak bağlantı noktası numarası.", "symbols/serverHttpsPort/description": "Sunucu projesinin launchSettings.json dosyasındaki HTTPS uç noktası için kullanılacak bağlantı noktası numarası. Bu seçenek yalnızca no-https parametresi kullanılmadığında uygulanabilir.", diff --git a/src/Aspire.ProjectTemplates/templates/aspire-ts-cs-starter/.template.config/localize/templatestrings.zh-Hans.json b/src/Aspire.ProjectTemplates/templates/aspire-ts-cs-starter/.template.config/localize/templatestrings.zh-Hans.json index cf79d3345ec..9bc45ff9d95 100644 --- a/src/Aspire.ProjectTemplates/templates/aspire-ts-cs-starter/.template.config/localize/templatestrings.zh-Hans.json +++ b/src/Aspire.ProjectTemplates/templates/aspire-ts-cs-starter/.template.config/localize/templatestrings.zh-Hans.json @@ -1,4 +1,4 @@ -{ +{ "author": "Microsoft", "name": "Aspire 入门应用(ASP.NET Core/React)", "description": "用于使用 React 前端和 C# Minimal API 后端服务创建 Aspire 应用的项目模板,可选择使用 Redis 缓存。", @@ -10,11 +10,9 @@ "symbols/UseRedisCache/description": "配置是否将应用程序设置为使用 Redis 进行缓存。需要支持的容器运行时才能在本地运行,有关详细信息,请访问 https://aka.ms/aspire/containers for more details。", "symbols/appHostHttpPort/description": "该端口号将用于 AppHost 项目的 launchSettings.json 中的 HTTP 终结点。", "symbols/appHostOtlpHttpPort/description": "该端口号将用于 AppHost 项目的 launchSettings.json 中的 OTLP HTTP 终结点。", - "symbols/appHostMcpHttpPort/description": "用于 AppHost 项目的 launchSettings.json 中 MCP HTTP 终结点的端口号。", "symbols/appHostResourceHttpPort/description": "该端口号将用于 AppHost 项目的 launchSettings.json 中的资源服务 HTTP 终结点。", "symbols/appHostHttpsPort/description": "该端口号将用于 AppHost 项目的 launchSettings.json 中的 HTTPS 终结点。仅当不使用参数 no-https 时,此选项才适用。", "symbols/appHostOtlpHttpsPort/description": "该端口号将用于 AppHost 项目的 launchSettings.json 中的 OTLP HTTPS 终结点。", - "symbols/appHostMcpHttpsPort/description": "用于 AppHost 项目的 launchSettings.json 中 MCP HTTPS 终结点的端口号。", "symbols/appHostResourceHttpsPort/description": "该端口号将用于 AppHost 项目的 launchSettings.json 中的资源服务 HTTPS 终结点。", "symbols/serverHttpPort/description": "该端口号将用于服务器项目的 launchSettings.json 中的 HTTP 终结点。", "symbols/serverHttpsPort/description": "该端口号将用于服务器项目的 launchSettings.json 中的 HTTPS 终结点。仅当不使用参数 no-https 时,此选项才适用。", diff --git a/src/Aspire.ProjectTemplates/templates/aspire-ts-cs-starter/.template.config/localize/templatestrings.zh-Hant.json b/src/Aspire.ProjectTemplates/templates/aspire-ts-cs-starter/.template.config/localize/templatestrings.zh-Hant.json index b7fb1a2b976..34a1af22c73 100644 --- a/src/Aspire.ProjectTemplates/templates/aspire-ts-cs-starter/.template.config/localize/templatestrings.zh-Hant.json +++ b/src/Aspire.ProjectTemplates/templates/aspire-ts-cs-starter/.template.config/localize/templatestrings.zh-Hant.json @@ -1,4 +1,4 @@ -{ +{ "author": "Microsoft", "name": "Aspire 入門應用程式 (ASP.NET Core/React)", "description": "用於建立 Aspire 應用程式的專案範本,其中包含 React 前端與 C# Minimal API 後端服務,並可選用 Redis 快取功能。", @@ -10,11 +10,9 @@ "symbols/UseRedisCache/description": "設定是否要將應用程式設為使用 Redis 進行快取。需要支援的容器執行階段,才能在本機執行,如需詳細資料,請參閱 https://aka.ms/aspire/containers。", "symbols/appHostHttpPort/description": "要用於 AppHost 專案 launchSettings.json 中 HTTP 端點的連接埠號碼。", "symbols/appHostOtlpHttpPort/description": "要用於 AppHost 專案 launchSettings.json 中 OTLP HTTP 端點的連接埠號碼。", - "symbols/appHostMcpHttpPort/description": "要用於 AppHost 專案 launchSettings.json 中 MCP HTTP 端點的連接埠號碼。", "symbols/appHostResourceHttpPort/description": "要用於 AppHost 專案 launchSettings.json 中資源服務 HTTP 端點的連接埠號碼。", "symbols/appHostHttpsPort/description": "要用於 AppHost 專案 launchSettings.json 中 HTTPS 端點的連接埠號碼。只有在未使用參數 no-https 時,才適用此選項。", "symbols/appHostOtlpHttpsPort/description": "要用於 AppHost 專案 launchSettings.json 中 OTLP HTTPS 端點的連接埠號碼。", - "symbols/appHostMcpHttpsPort/description": "要用於 AppHost 專案 launchSettings.json 中 MCP HTTPS 端點的連接埠號碼。", "symbols/appHostResourceHttpsPort/description": "要用於 AppHost 專案 launchSettings.json 中資源服務 HTTPS 端點的連接埠號碼。", "symbols/serverHttpPort/description": "要用於伺服器專案 launchSettings.json 中 HTTP 端點的連接埠號碼。", "symbols/serverHttpsPort/description": "要用於伺服器專案 launchSettings.json 中 HTTPS 端點的連接埠號碼。只有在未使用參數 no-https 時,才適用此選項。", diff --git a/src/Aspire.ProjectTemplates/templates/aspire-ts-cs-starter/.template.config/template.json b/src/Aspire.ProjectTemplates/templates/aspire-ts-cs-starter/.template.config/template.json index efa5be5ed7d..305dbc2ae71 100644 --- a/src/Aspire.ProjectTemplates/templates/aspire-ts-cs-starter/.template.config/template.json +++ b/src/Aspire.ProjectTemplates/templates/aspire-ts-cs-starter/.template.config/template.json @@ -125,28 +125,6 @@ }, "replaces": "19000" }, - "appHostMcpHttpPort": { - "type": "parameter", - "datatype": "integer", - "description": "Port number to use for the MCP HTTP endpoint in launchSettings.json of the AppHost project." - }, - "appHostMcpHttpPortGenerated": { - "type": "generated", - "generator": "port", - "parameters": { - "low": 18000, - "high": 18300 - } - }, - "appHostMcpHttpPortReplacer": { - "type": "generated", - "generator": "coalesce", - "parameters": { - "sourceVariableName": "appHostMcpHttpPort", - "fallbackVariableName": "appHostMcpHttpPortGenerated" - }, - "replaces": "18000" - }, "appHostResourceHttpPort": { "type": "parameter", "datatype": "integer", @@ -213,28 +191,6 @@ }, "replaces": "21000" }, - "appHostMcpHttpsPort": { - "type": "parameter", - "datatype": "integer", - "description": "Port number to use for the MCP HTTPS endpoint in launchSettings.json of the AppHost project." - }, - "appHostMcpHttpsPortGenerated": { - "type": "generated", - "generator": "port", - "parameters": { - "low": 23000, - "high": 23300 - } - }, - "appHostMcpHttpsPortReplacer": { - "type": "generated", - "generator": "coalesce", - "parameters": { - "sourceVariableName": "appHostMcpHttpsPort", - "fallbackVariableName": "appHostMcpHttpsPortGenerated" - }, - "replaces": "23000" - }, "appHostResourceHttpsPort": { "type": "parameter", "datatype": "integer", diff --git a/src/Aspire.ProjectTemplates/templates/aspire-ts-cs-starter/Aspire-StarterApplication.1.AppHost/Properties/launchSettings.json b/src/Aspire.ProjectTemplates/templates/aspire-ts-cs-starter/Aspire-StarterApplication.1.AppHost/Properties/launchSettings.json index 70d9b9ae359..83df4bced7d 100644 --- a/src/Aspire.ProjectTemplates/templates/aspire-ts-cs-starter/Aspire-StarterApplication.1.AppHost/Properties/launchSettings.json +++ b/src/Aspire.ProjectTemplates/templates/aspire-ts-cs-starter/Aspire-StarterApplication.1.AppHost/Properties/launchSettings.json @@ -15,7 +15,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "https://localhost:21000", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "https://localhost:23000", "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "https://localhost:22000" } }, @@ -33,7 +32,6 @@ "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "http://localhost:19000", - "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL": "http://localhost:18000", "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "http://localhost:20000" } } diff --git a/src/Shared/DashboardConfigNames.cs b/src/Shared/DashboardConfigNames.cs index d8ef0d782cc..4a143142ecd 100644 --- a/src/Shared/DashboardConfigNames.cs +++ b/src/Shared/DashboardConfigNames.cs @@ -9,7 +9,6 @@ internal static class DashboardConfigNames public static readonly ConfigName DashboardOtlpGrpcUrlName = new(KnownConfigNames.DashboardOtlpGrpcEndpointUrl); public static readonly ConfigName DashboardOtlpHttpUrlName = new(KnownConfigNames.DashboardOtlpHttpEndpointUrl); - public static readonly ConfigName DashboardMcpUrlName = new(KnownConfigNames.DashboardMcpEndpointUrl); public static readonly ConfigName DashboardUnsecuredAllowAnonymousName = new(KnownConfigNames.DashboardUnsecuredAllowAnonymous); public static readonly ConfigName DashboardConfigFilePathName = new(KnownConfigNames.DashboardConfigFilePath); public static readonly ConfigName DashboardFileConfigDirectoryName = new(KnownConfigNames.DashboardFileConfigDirectory); @@ -21,13 +20,8 @@ internal static class DashboardConfigNames public static readonly ConfigName DashboardOtlpAuthModeName = new("Dashboard:Otlp:AuthMode", "DASHBOARD__OTLP__AUTHMODE"); public static readonly ConfigName DashboardOtlpPrimaryApiKeyName = new("Dashboard:Otlp:PrimaryApiKey", "DASHBOARD__OTLP__PRIMARYAPIKEY"); public static readonly ConfigName DashboardOtlpSecondaryApiKeyName = new("Dashboard:Otlp:SecondaryApiKey", "DASHBOARD__OTLP__SECONDARYAPIKEY"); - public static readonly ConfigName DashboardMcpPublicUrlName = new("Dashboard:Mcp:PublicUrl", "DASHBOARD__MCP__PUBLICURL"); - public static readonly ConfigName DashboardMcpAuthModeName = new("Dashboard:Mcp:AuthMode", "DASHBOARD__MCP__AUTHMODE"); - public static readonly ConfigName DashboardMcpPrimaryApiKeyName = new("Dashboard:Mcp:PrimaryApiKey", "DASHBOARD__MCP__PRIMARYAPIKEY"); - public static readonly ConfigName DashboardMcpDisableName = new("Dashboard:Mcp:Disabled", "DASHBOARD__MCP__DISABLED"); - public static readonly ConfigName DashboardMcpUseCliMcpName = new("Dashboard:Mcp:UseCliMcp", "DASHBOARD__MCP__USECLIMCP"); - // Dashboard API Authentication - used for MCP and Telemetry API + // Dashboard API Authentication - used for Telemetry API public static readonly ConfigName DashboardApiEnabledName = new("Dashboard:Api:Enabled", "DASHBOARD__API__ENABLED"); public static readonly ConfigName DashboardApiAuthModeName = new("Dashboard:Api:AuthMode", "DASHBOARD__API__AUTHMODE"); public static readonly ConfigName DashboardApiPrimaryApiKeyName = new("Dashboard:Api:PrimaryApiKey", "DASHBOARD__API__PRIMARYAPIKEY"); diff --git a/src/Shared/KnownConfigNames.cs b/src/Shared/KnownConfigNames.cs index 57d3f2dbe54..9966032963f 100644 --- a/src/Shared/KnownConfigNames.cs +++ b/src/Shared/KnownConfigNames.cs @@ -8,7 +8,6 @@ internal static class KnownConfigNames public const string AspNetCoreUrls = "ASPNETCORE_URLS"; public const string AllowUnsecuredTransport = "ASPIRE_ALLOW_UNSECURED_TRANSPORT"; public const string VersionCheckDisabled = "ASPIRE_VERSION_CHECK_DISABLED"; - public const string DashboardMcpEndpointUrl = "ASPIRE_DASHBOARD_MCP_ENDPOINT_URL"; public const string DashboardOtlpGrpcEndpointUrl = "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL"; public const string DashboardOtlpHttpEndpointUrl = "ASPIRE_DASHBOARD_OTLP_HTTP_ENDPOINT_URL"; public const string DashboardFrontendBrowserToken = "ASPIRE_DASHBOARD_FRONTEND_BROWSERTOKEN"; diff --git a/tests/Aspire.Cli.Tests/Mcp/AppHostConnectionSelectionLogicTests.cs b/tests/Aspire.Cli.Tests/Mcp/AppHostConnectionSelectionLogicTests.cs index 975669d056d..222ffc63e56 100644 --- a/tests/Aspire.Cli.Tests/Mcp/AppHostConnectionSelectionLogicTests.cs +++ b/tests/Aspire.Cli.Tests/Mcp/AppHostConnectionSelectionLogicTests.cs @@ -71,7 +71,6 @@ private static AppHostAuxiliaryBackchannel CreateConnection(string hash, string hash, socketPath: "/tmp/socket", rpc, - mcpInfo: null, appHostInfo: new AppHostInformation { AppHostPath = appHostPath, ProcessId = processId, CliProcessId = null }, isInScope); } diff --git a/tests/Aspire.Cli.Tests/Mcp/ListAppHostsToolTests.cs b/tests/Aspire.Cli.Tests/Mcp/ListAppHostsToolTests.cs index 02104bee4f7..b7cab281fbf 100644 --- a/tests/Aspire.Cli.Tests/Mcp/ListAppHostsToolTests.cs +++ b/tests/Aspire.Cli.Tests/Mcp/ListAppHostsToolTests.cs @@ -175,7 +175,7 @@ private static AppHostAuxiliaryBackchannel CreateAppHostConnection(string hash, { // Create a mock JsonRpc that won't be used var rpc = new JsonRpc(Stream.Null); - return new AppHostAuxiliaryBackchannel(hash, socketPath, rpc, mcpInfo: null, appHostInfo, isInScope); + return new AppHostAuxiliaryBackchannel(hash, socketPath, rpc, appHostInfo, isInScope); } } diff --git a/tests/Aspire.Cli.Tests/TestServices/TestAppHostAuxiliaryBackchannel.cs b/tests/Aspire.Cli.Tests/TestServices/TestAppHostAuxiliaryBackchannel.cs index 41d3f7d3f36..16d1eee74eb 100644 --- a/tests/Aspire.Cli.Tests/TestServices/TestAppHostAuxiliaryBackchannel.cs +++ b/tests/Aspire.Cli.Tests/TestServices/TestAppHostAuxiliaryBackchannel.cs @@ -15,7 +15,6 @@ internal sealed class TestAppHostAuxiliaryBackchannel : IAppHostAuxiliaryBackcha { public string Hash { get; set; } = "test-hash"; public string SocketPath { get; set; } = "/tmp/test.sock"; - public DashboardMcpConnectionInfo? McpInfo { get; set; } public AppHostInformation? AppHostInfo { get; set; } public bool IsInScope { get; set; } = true; public DateTimeOffset ConnectedAt { get; set; } = DateTimeOffset.UtcNow; diff --git a/tests/Aspire.Dashboard.Components.Tests/Layout/MainLayoutTests.cs b/tests/Aspire.Dashboard.Components.Tests/Layout/MainLayoutTests.cs index 096ab716d11..6605e486091 100644 --- a/tests/Aspire.Dashboard.Components.Tests/Layout/MainLayoutTests.cs +++ b/tests/Aspire.Dashboard.Components.Tests/Layout/MainLayoutTests.cs @@ -128,11 +128,9 @@ public async Task OnInitialize_UnsecuredOtlp_Dismissed_NoMessageBar(bool unsecur } [Theory] - [InlineData(true, false, false)] - [InlineData(true, true, false)] - [InlineData(true, false, true)] - [InlineData(false, true, true)] - public async Task OnInitialize_UnsecuredOtlp_SuppressConfigured_NoMessageBar(bool expectMessageBar, bool telemetrySuppressUnsecuredMessage, bool mcpSuppressUnsecuredMessage) + [InlineData(true, false)] + [InlineData(false, true)] + public async Task OnInitialize_UnsecuredOtlp_SuppressConfigured_NoMessageBar(bool expectMessageBar, bool telemetrySuppressUnsecuredMessage) { // Arrange var testLocalStorage = new TestLocalStorage(); @@ -141,7 +139,6 @@ public async Task OnInitialize_UnsecuredOtlp_SuppressConfigured_NoMessageBar(boo SetupMainLayoutServices(localStorage: testLocalStorage, messageService: messageService, configureOptions: o => { o.Otlp.SuppressUnsecuredMessage = telemetrySuppressUnsecuredMessage; - o.Mcp.SuppressUnsecuredMessage = mcpSuppressUnsecuredMessage; }); var messageShownTcs = new TaskCompletionSource(TaskCreationOptions.RunContinuationsAsynchronously); @@ -201,13 +198,9 @@ private void SetupMainLayoutServices(TestLocalStorage? localStorage = null, Mess // Configure OTLP endpoint URLs so they can be parsed o.Otlp.GrpcEndpointUrl = "http://localhost:4317"; o.Otlp.AuthMode = OtlpAuthMode.Unsecured; - // Configure MCP endpoint URL so it can be parsed - o.Mcp.EndpointUrl = "http://localhost:6274"; - o.Mcp.AuthMode = McpAuthMode.Unsecured; configureOptions?.Invoke(o); // Call TryParseOptions to populate parsed endpoint addresses o.Otlp.TryParseOptions(out _); - o.Mcp.TryParseOptions(out _); }); FluentUISetupHelpers.SetupFluentDialogProvider(this); diff --git a/tests/Aspire.Dashboard.Tests/BrowserSecurityHeadersMiddlewareTests.cs b/tests/Aspire.Dashboard.Tests/BrowserSecurityHeadersMiddlewareTests.cs index c112e2931fd..9a3883d2d10 100644 --- a/tests/Aspire.Dashboard.Tests/BrowserSecurityHeadersMiddlewareTests.cs +++ b/tests/Aspire.Dashboard.Tests/BrowserSecurityHeadersMiddlewareTests.cs @@ -65,7 +65,6 @@ public async Task InvokeAsync_Scheme_ImageSourceChangesOnScheme(string scheme, s [Theory] [InlineData(ConnectionType.OtlpGrpc)] [InlineData(ConnectionType.OtlpHttp)] - [InlineData(ConnectionType.Mcp)] public async Task InvokeAsync_Otlp_NotAdded(ConnectionType connectionType) { // Arrange diff --git a/tests/Aspire.Dashboard.Tests/Integration/FrontendBrowserTokenAuthTests.cs b/tests/Aspire.Dashboard.Tests/Integration/FrontendBrowserTokenAuthTests.cs index a245a157b94..6de762c8451 100644 --- a/tests/Aspire.Dashboard.Tests/Integration/FrontendBrowserTokenAuthTests.cs +++ b/tests/Aspire.Dashboard.Tests/Integration/FrontendBrowserTokenAuthTests.cs @@ -195,23 +195,11 @@ public async Task LogOutput_NoToken_GeneratedTokenLogged() Assert.NotEqual(0, uri.Port); }, w => - { - Assert.Equal("MCP listening on: {McpEndpointUri}", LogTestHelpers.GetValue(w, "{OriginalFormat}")); - - var uri = new Uri((string)LogTestHelpers.GetValue(w, "McpEndpointUri")!); - Assert.NotEqual(0, uri.Port); - }, - w => { Assert.Equal("OTLP server is unsecured. Untrusted apps can send telemetry to the dashboard. For more information, visit https://go.microsoft.com/fwlink/?linkid=2267030", LogTestHelpers.GetValue(w, "{OriginalFormat}")); Assert.Equal(LogLevel.Warning, w.LogLevel); }, w => - { - Assert.Equal("MCP server is unsecured. Untrusted apps can access sensitive information.", LogTestHelpers.GetValue(w, "{OriginalFormat}")); - Assert.Equal(LogLevel.Warning, w.LogLevel); - }, - w => { Assert.Equal("Dashboard API is unsecured. Untrusted apps can access sensitive telemetry data.", LogTestHelpers.GetValue(w, "{OriginalFormat}")); Assert.Equal(LogLevel.Warning, w.LogLevel); diff --git a/tests/Aspire.Dashboard.Tests/Integration/IntegrationTestHelpers.cs b/tests/Aspire.Dashboard.Tests/Integration/IntegrationTestHelpers.cs index 4a002981404..d8efea6611c 100644 --- a/tests/Aspire.Dashboard.Tests/Integration/IntegrationTestHelpers.cs +++ b/tests/Aspire.Dashboard.Tests/Integration/IntegrationTestHelpers.cs @@ -61,7 +61,6 @@ public static DashboardWebApplication CreateDashboardWebApplication( [DashboardConfigNames.DashboardFrontendUrlName.ConfigKey] = "http://127.0.0.1:0", [DashboardConfigNames.DashboardOtlpGrpcUrlName.ConfigKey] = "http://127.0.0.1:0", [DashboardConfigNames.DashboardOtlpHttpUrlName.ConfigKey] = "http://127.0.0.1:0", - [DashboardConfigNames.DashboardMcpUrlName.ConfigKey] = "http://127.0.0.1:0", [DashboardConfigNames.DashboardOtlpAuthModeName.ConfigKey] = nameof(OtlpAuthMode.Unsecured), [DashboardConfigNames.DashboardFrontendAuthModeName.ConfigKey] = nameof(FrontendAuthMode.Unsecured), [DashboardConfigNames.DashboardApiEnabledName.ConfigKey] = "true", diff --git a/tests/Aspire.Dashboard.Tests/Integration/McpConfigurationTests.cs b/tests/Aspire.Dashboard.Tests/Integration/McpConfigurationTests.cs deleted file mode 100644 index c289c355ae7..00000000000 --- a/tests/Aspire.Dashboard.Tests/Integration/McpConfigurationTests.cs +++ /dev/null @@ -1,176 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. - -using System.Text.Json; -using System.Text.Json.Nodes; -using Aspire.Dashboard.Mcp; -using Xunit; - -namespace Aspire.Dashboard.Tests.Integration; - -public class McpConfigurationTests -{ - [Fact] - public void McpConfig_WithApiKey_GeneratesProperInputConfiguration() - { - // Arrange - var inputs = new List - { - new McpInputModel - { - Id = "x_mcp_api_key", - Type = "promptString", - Description = "Enter x-mcp-api-key", - Password = true - } - }; - - var configModel = new McpJsonFileServerModel - { - Inputs = inputs, - Servers = new() - { - ["aspire-dashboard"] = new() - { - Type = "http", - Url = "http://localhost:23052/mcp", - Headers = new Dictionary - { - [McpApiKeyAuthenticationHandler.McpApiKeyHeaderName] = "${input:x_mcp_api_key}" - } - } - } - }; - - // Act - var json = JsonSerializer.Serialize(configModel, McpConfigFileModelContext.Default.McpJsonFileServerModel); - var parsed = JsonNode.Parse(json); - - // Assert - verify the structure matches the expected format from the issue - Assert.NotNull(parsed); - - // Check inputs array exists - var inputsArray = parsed!["inputs"]?.AsArray(); - Assert.NotNull(inputsArray); - Assert.Single(inputsArray!); - - // Verify input configuration - var input = inputsArray![0]; - Assert.Equal("x_mcp_api_key", input!["id"]?.GetValue()); - Assert.Equal("promptString", input["type"]?.GetValue()); - Assert.Equal("Enter x-mcp-api-key", input["description"]?.GetValue()); - Assert.True(input["password"]?.GetValue()); - - // Check servers configuration - var servers = parsed["servers"]; - Assert.NotNull(servers); - - var dashboard = servers!["aspire-dashboard"]; - Assert.NotNull(dashboard); - Assert.Equal("http", dashboard!["type"]?.GetValue()); - Assert.Equal("http://localhost:23052/mcp", dashboard["url"]?.GetValue()); - - // Verify header uses input reference, not hardcoded key - var headers = dashboard["headers"]; - Assert.NotNull(headers); - var headerValue = headers!["x-mcp-api-key"]?.GetValue(); - Assert.Equal("${input:x_mcp_api_key}", headerValue); - } - - [Fact] - public void McpInstallButton_WithApiKey_GeneratesProperInputConfiguration() - { - // Arrange - var inputs = new List - { - new McpInputModel - { - Id = "x_mcp_api_key", - Type = "promptString", - Description = "Enter x-mcp-api-key", - Password = true - } - }; - - var model = new McpInstallButtonServerModel - { - Name = "aspire-dashboard", - Inputs = inputs, - Type = "http", - Url = "http://localhost:23052/mcp", - Headers = new Dictionary - { - [McpApiKeyAuthenticationHandler.McpApiKeyHeaderName] = "${input:x_mcp_api_key}" - } - }; - - // Act - var json = JsonSerializer.Serialize(model, McpInstallButtonModelContext.Default.McpInstallButtonServerModel); - var parsed = JsonNode.Parse(json); - - // Assert - Assert.NotNull(parsed); - - // Check name - Assert.Equal("aspire-dashboard", parsed!["name"]?.GetValue()); - - // Check inputs array exists - var inputsArray = parsed["inputs"]?.AsArray(); - Assert.NotNull(inputsArray); - Assert.Single(inputsArray!); - - // Verify input configuration - var input = inputsArray![0]; - Assert.Equal("x_mcp_api_key", input!["id"]?.GetValue()); - Assert.Equal("promptString", input["type"]?.GetValue()); - Assert.Equal("Enter x-mcp-api-key", input["description"]?.GetValue()); - Assert.True(input["password"]?.GetValue()); - - // Verify header uses input reference - var headers = parsed["headers"]; - Assert.NotNull(headers); - var headerValue = headers!["x-mcp-api-key"]?.GetValue(); - Assert.Equal("${input:x_mcp_api_key}", headerValue); - } - - [Fact] - public void McpConfig_WithoutApiKey_NoInputsOrHeaders() - { - // Arrange - var configModel = new McpJsonFileServerModel - { - Inputs = null, - Servers = new() - { - ["aspire-dashboard"] = new() - { - Type = "http", - Url = "http://localhost:23052/mcp", - Headers = null - } - } - }; - - // Act - var json = JsonSerializer.Serialize(configModel, McpConfigFileModelContext.Default.McpJsonFileServerModel); - var parsed = JsonNode.Parse(json); - - // Assert - Assert.NotNull(parsed); - - // Should not have inputs in JSON when null (due to JsonIgnoreCondition.WhenWritingNull) - Assert.Null(parsed!["inputs"]); - - // Check servers configuration exists - var servers = parsed["servers"]; - Assert.NotNull(servers); - - var dashboard = servers!["aspire-dashboard"]; - Assert.NotNull(dashboard); - Assert.Equal("http", dashboard!["type"]?.GetValue()); - Assert.Equal("http://localhost:23052/mcp", dashboard["url"]?.GetValue()); - - // Should not have headers - Assert.Null(dashboard["headers"]); - } -} diff --git a/tests/Aspire.Dashboard.Tests/Integration/McpServiceTests.cs b/tests/Aspire.Dashboard.Tests/Integration/McpServiceTests.cs deleted file mode 100644 index 04bff74f41e..00000000000 --- a/tests/Aspire.Dashboard.Tests/Integration/McpServiceTests.cs +++ /dev/null @@ -1,415 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. - -using System.Net; -using System.Text; -using System.Text.Json.Nodes; -using Aspire.Dashboard.Configuration; -using Aspire.Dashboard.Mcp; -using Aspire.Dashboard.Telemetry; -using Aspire.Hosting; -using Microsoft.AspNetCore.InternalTesting; -using Microsoft.Extensions.DependencyInjection; -using Xunit; - -namespace Aspire.Dashboard.Tests.Integration; - -public class McpServiceTests -{ - private readonly ITestOutputHelper _testOutputHelper; - - public McpServiceTests(ITestOutputHelper testOutputHelper) - { - _testOutputHelper = testOutputHelper; - } - - [Fact] - public async Task CallService_McpEndPoint_Success() - { - // Arrange - await using var app = IntegrationTestHelpers.CreateDashboardWebApplication(_testOutputHelper); - await app.StartAsync().DefaultTimeout(); - - using var httpClient = IntegrationTestHelpers.CreateHttpClient($"http://{app.McpEndPointAccessor().EndPoint}"); - - var sessionId = await InitializeSessionAsync(httpClient); - var request = CreateListToolsRequest(sessionId); - - // Act - var responseMessage = await httpClient.SendAsync(request).DefaultTimeout(TestConstants.LongTimeoutDuration); - responseMessage.EnsureSuccessStatusCode(); - - var responseData = await GetDataFromSseResponseAsync(responseMessage); - - // Assert - var jsonResponse = JsonNode.Parse(responseData!)!; - var tools = jsonResponse["result"]!["tools"]!.AsArray(); - - Assert.NotEmpty(tools); - } - - [Fact] - public async Task CallService_McpEndPointDisabled_Failure() - { - // Arrange - await using var app = IntegrationTestHelpers.CreateDashboardWebApplication(_testOutputHelper, config => - { - config[DashboardConfigNames.DashboardMcpDisableName.ConfigKey] = "true"; - }); - await app.StartAsync().DefaultTimeout(); - - using var httpClient = IntegrationTestHelpers.CreateHttpClient($"http://{app.McpEndPointAccessor().EndPoint}"); - - var request = CreateListToolsRequest(); - - // Act - var responseMessage = await httpClient.SendAsync(request).DefaultTimeout(TestConstants.LongTimeoutDuration); - - // Assert - Assert.Equal(HttpStatusCode.NotFound, responseMessage.StatusCode); - } - - [Fact] - public async Task CallService_McpEndPoint_RequiredApiKeyWrong_Failure() - { - // Arrange - var apiKey = "TestKey123!"; - await using var app = IntegrationTestHelpers.CreateDashboardWebApplication(_testOutputHelper, config => - { - config[DashboardConfigNames.DashboardMcpAuthModeName.ConfigKey] = OtlpAuthMode.ApiKey.ToString(); - config[DashboardConfigNames.DashboardMcpPrimaryApiKeyName.ConfigKey] = apiKey; - }); - await app.StartAsync().DefaultTimeout(); - - using var httpClient = IntegrationTestHelpers.CreateHttpClient($"http://{app.McpEndPointAccessor().EndPoint}"); - - var requestMessage = CreateListToolsRequest(); - - // Act - var responseMessage = await httpClient.SendAsync(requestMessage).DefaultTimeout(TestConstants.LongTimeoutDuration); - - // Assert - Assert.Equal(HttpStatusCode.Unauthorized, responseMessage.StatusCode); - } - - [Fact] - public async Task CallService_McpEndPoint_RequiredApiKeySent_Success() - { - // Arrange - var apiKey = "TestKey123!"; - await using var app = IntegrationTestHelpers.CreateDashboardWebApplication(_testOutputHelper, config => - { - config[DashboardConfigNames.DashboardMcpAuthModeName.ConfigKey] = OtlpAuthMode.ApiKey.ToString(); - config[DashboardConfigNames.DashboardMcpPrimaryApiKeyName.ConfigKey] = apiKey; - }); - await app.StartAsync().DefaultTimeout(); - - using var httpClient = IntegrationTestHelpers.CreateHttpClient($"http://{app.McpEndPointAccessor().EndPoint}"); - - void AddApiKey(HttpRequestMessage r) => r.Headers.TryAddWithoutValidation(McpApiKeyAuthenticationHandler.McpApiKeyHeaderName, apiKey); - - var sessionId = await InitializeSessionAsync(httpClient, AddApiKey); - - var listRequest = CreateListToolsRequest(sessionId); - AddApiKey(listRequest); - - var responseMessage = await httpClient.SendAsync(listRequest).DefaultTimeout(TestConstants.LongTimeoutDuration); - responseMessage.EnsureSuccessStatusCode(); - - var responseData = await GetDataFromSseResponseAsync(responseMessage); - - // Assert - var jsonResponse = JsonNode.Parse(responseData!)!; - var tools = jsonResponse["result"]!["tools"]!.AsArray(); - - Assert.NotEmpty(tools); - } - - [Fact] - public async Task CallService_NoResourceService_ResourceToolsNotRegistered() - { - // Arrange - Create dashboard without configuring resource service URL - await using var app = IntegrationTestHelpers.CreateDashboardWebApplication(_testOutputHelper); - await app.StartAsync().DefaultTimeout(); - - using var httpClient = IntegrationTestHelpers.CreateHttpClient($"http://{app.McpEndPointAccessor().EndPoint}"); - - var sessionId = await InitializeSessionAsync(httpClient); - var request = CreateListToolsRequest(sessionId); - - // Act - var responseMessage = await httpClient.SendAsync(request).DefaultTimeout(TestConstants.LongTimeoutDuration); - responseMessage.EnsureSuccessStatusCode(); - - var responseData = await GetDataFromSseResponseAsync(responseMessage); - - // Assert - var jsonResponse = JsonNode.Parse(responseData!)!; - var tools = jsonResponse["result"]!["tools"]!.AsArray(); - - // Verify that telemetry tools are available - Assert.Contains(tools, t => t!["name"]?.ToString() == "list_structured_logs"); - Assert.Contains(tools, t => t!["name"]?.ToString() == "list_traces"); - Assert.Contains(tools, t => t!["name"]?.ToString() == "list_trace_structured_logs"); - - // Verify that resource tools are NOT available - Assert.DoesNotContain(tools, t => t!["name"]?.ToString() == "list_resources"); - Assert.DoesNotContain(tools, t => t!["name"]?.ToString() == "list_console_logs"); - Assert.DoesNotContain(tools, t => t!["name"]?.ToString() == "execute_resource_command"); - } - - [Fact] - public async Task CallService_WithResourceService_ResourceToolsRegistered() - { - // Arrange - Create dashboard with resource service URL configured - await using var app = IntegrationTestHelpers.CreateDashboardWebApplication(_testOutputHelper, config => - { - config[DashboardConfigNames.ResourceServiceUrlName.ConfigKey] = "http://localhost:5000"; - config[DashboardConfigNames.ResourceServiceClientAuthModeName.ConfigKey] = nameof(ResourceClientAuthMode.Unsecured); - }); - await app.StartAsync().DefaultTimeout(); - - using var httpClient = IntegrationTestHelpers.CreateHttpClient($"http://{app.McpEndPointAccessor().EndPoint}"); - - var sessionId = await InitializeSessionAsync(httpClient); - var request = CreateListToolsRequest(sessionId); - - // Act - var responseMessage = await httpClient.SendAsync(request).DefaultTimeout(TestConstants.LongTimeoutDuration); - responseMessage.EnsureSuccessStatusCode(); - - var responseData = await GetDataFromSseResponseAsync(responseMessage); - - // Assert - var jsonResponse = JsonNode.Parse(responseData!)!; - var tools = jsonResponse["result"]!["tools"]!.AsArray(); - - // Verify that telemetry tools are available - Assert.Contains(tools, t => t!["name"]?.ToString() == "list_structured_logs"); - Assert.Contains(tools, t => t!["name"]?.ToString() == "list_traces"); - Assert.Contains(tools, t => t!["name"]?.ToString() == "list_trace_structured_logs"); - - // Verify that resource tools ARE available - Assert.Contains(tools, t => t!["name"]?.ToString() == "list_resources"); - Assert.Contains(tools, t => t!["name"]?.ToString() == "list_console_logs"); - Assert.Contains(tools, t => t!["name"]?.ToString() == "execute_resource_command"); - } - - [Fact] - public async Task CallService_BrowserEndPoint_Failure() - { - // Arrange - await using var app = IntegrationTestHelpers.CreateDashboardWebApplication(_testOutputHelper); - await app.StartAsync().DefaultTimeout(); - - using var httpClient = IntegrationTestHelpers.CreateHttpClient($"http://{app.FrontendSingleEndPointAccessor().EndPoint}"); - - var request = CreateListToolsRequest(); - - // Act - var responseMessage = await httpClient.SendAsync(request).DefaultTimeout(TestConstants.LongTimeoutDuration); - - // Assert - Assert.Equal(HttpStatusCode.Unauthorized, responseMessage.StatusCode); - } - - [Fact] - public async Task CallService_McpEndPointHttpOnly_Success() - { - // Arrange - await using var app = IntegrationTestHelpers.CreateDashboardWebApplication(_testOutputHelper, - additionalConfiguration: data => - { - data[DashboardConfigNames.DashboardFrontendUrlName.ConfigKey] = "https://127.0.0.1:0"; - data[DashboardConfigNames.DashboardOtlpGrpcUrlName.ConfigKey] = "https://127.0.0.1:0"; - data[DashboardConfigNames.DashboardOtlpHttpUrlName.ConfigKey] = "https://127.0.0.1:0"; - - // Only HTTP endpoint - data[DashboardConfigNames.DashboardMcpUrlName.ConfigKey] = "http://127.0.0.1:0"; - }); - - await app.StartAsync().DefaultTimeout(); - - using var httpClient = IntegrationTestHelpers.CreateHttpClient($"http://{app.McpEndPointAccessor().EndPoint}"); - - var sessionId = await InitializeSessionAsync(httpClient); - var request = CreateListToolsRequest(sessionId); - - // Act - var responseMessage = await httpClient.SendAsync(request).DefaultTimeout(TestConstants.LongTimeoutDuration); - responseMessage.EnsureSuccessStatusCode(); - - var responseData = await GetDataFromSseResponseAsync(responseMessage); - - // Assert - var jsonResponse = JsonNode.Parse(responseData!)!; - var tools = jsonResponse["result"]!["tools"]!.AsArray(); - - Assert.NotEmpty(tools); - } - - [Fact] - public async Task CallService_McpTool_TelemetryRecorded() - { - // Arrange - var testTelemetrySender = new TestDashboardTelemetrySender { IsTelemetryEnabled = true }; - - await using var app = IntegrationTestHelpers.CreateDashboardWebApplication( - _testOutputHelper, - preConfigureBuilder: builder => - { - // Replace the telemetry sender with our test version - builder.Services.AddSingleton(testTelemetrySender); - }); - - await app.StartAsync().DefaultTimeout(); - - // Initialize telemetry service - var telemetryService = app.Services.GetRequiredService(); - await telemetryService.InitializeAsync(); - - using var httpClient = IntegrationTestHelpers.CreateHttpClient($"http://{app.McpEndPointAccessor().EndPoint}"); - - var sessionId = await InitializeSessionAsync(httpClient); - var request = CreateListToolsRequest(sessionId); - - // Act - var responseMessage = await httpClient.SendAsync(request).DefaultTimeout(TestConstants.LongTimeoutDuration); - responseMessage.EnsureSuccessStatusCode(); - - // Assert - // Read telemetry items until we find the McpToolCall event - bool foundMcpToolCall = false; - while (await testTelemetrySender.ContextChannel.Reader.WaitToReadAsync().DefaultTimeout()) - { - var context = await testTelemetrySender.ContextChannel.Reader.ReadAsync().DefaultTimeout(); - if (context.Name.Contains(TelemetryEventKeys.McpToolCall)) - { - foundMcpToolCall = true; - break; - } - } - Assert.True(foundMcpToolCall, "Expected to find McpToolCall telemetry event"); - - // Then read until we find the EndOperation event - bool foundEndOperation = false; - while (await testTelemetrySender.ContextChannel.Reader.WaitToReadAsync().DefaultTimeout()) - { - var context = await testTelemetrySender.ContextChannel.Reader.ReadAsync().DefaultTimeout(); - if (context.Name.Contains(TelemetryEndpoints.TelemetryEndOperation)) - { - foundEndOperation = true; - break; - } - } - Assert.True(foundEndOperation, "Expected to find EndOperation telemetry event"); - } - - internal static HttpRequestMessage CreateInitializeRequest(string? sessionId = null) - { - var json = - """ - { - "jsonrpc": "2.0", - "id": "init", - "method": "initialize", - "params": { - "protocolVersion": "2025-03-26", - "capabilities": {}, - "clientInfo": { - "name": "test-client", - "version": "1.0.0" - } - } - } - """; - var content = new ByteArrayContent(Encoding.UTF8.GetBytes(json)); - content.Headers.TryAddWithoutValidation("content-type", "application/json"); - var request = new HttpRequestMessage(HttpMethod.Post, "/mcp") - { - Content = content - }; - request.Headers.TryAddWithoutValidation("accept", "application/json"); - request.Headers.TryAddWithoutValidation("accept", "text/event-stream"); - if (sessionId is not null) - { - request.Headers.TryAddWithoutValidation("Mcp-Session-Id", sessionId); - } - return request; - } - - internal static async Task InitializeSessionAsync(HttpClient httpClient, Action? configureRequest = null) - { - var initRequest = CreateInitializeRequest(); - configureRequest?.Invoke(initRequest); - var initResponse = await httpClient.SendAsync(initRequest).DefaultTimeout(TestConstants.LongTimeoutDuration); - initResponse.EnsureSuccessStatusCode(); - var sessionId = initResponse.Headers.GetValues("Mcp-Session-Id").First(); - - // Consume the SSE response body to properly release the connection - await initResponse.Content.ReadAsStringAsync().DefaultTimeout(TestConstants.LongTimeoutDuration); - - // Send initialized notification - var notificationJson = - """ - { - "jsonrpc": "2.0", - "method": "notifications/initialized" - } - """; - var notificationContent = new ByteArrayContent(Encoding.UTF8.GetBytes(notificationJson)); - notificationContent.Headers.TryAddWithoutValidation("content-type", "application/json"); - var notificationRequest = new HttpRequestMessage(HttpMethod.Post, "/mcp") - { - Content = notificationContent - }; - notificationRequest.Headers.TryAddWithoutValidation("accept", "application/json"); - notificationRequest.Headers.TryAddWithoutValidation("accept", "text/event-stream"); - notificationRequest.Headers.TryAddWithoutValidation("Mcp-Session-Id", sessionId); - configureRequest?.Invoke(notificationRequest); - var notificationResponse = await httpClient.SendAsync(notificationRequest).DefaultTimeout(TestConstants.LongTimeoutDuration); - notificationResponse.EnsureSuccessStatusCode(); - - return sessionId; - } - - internal static HttpRequestMessage CreateListToolsRequest(string? sessionId = null) - { - var json = - """ - { - "jsonrpc": "2.0", - "id": "1", - "method": "tools/list", - "params": {} - } - """; - var content = new ByteArrayContent(Encoding.UTF8.GetBytes(json)); - content.Headers.TryAddWithoutValidation("content-type", "application/json"); - var request = new HttpRequestMessage(HttpMethod.Post, "/mcp") - { - Content = content - }; - request.Headers.TryAddWithoutValidation("accept", "application/json"); - request.Headers.TryAddWithoutValidation("accept", "text/event-stream"); - if (sessionId is not null) - { - request.Headers.TryAddWithoutValidation("Mcp-Session-Id", sessionId); - } - return request; - } - - internal static async Task GetDataFromSseResponseAsync(HttpResponseMessage response) - { - string responseText = await response.Content.ReadAsStringAsync(); - - // Find the line that starts with "data:" - var dataLine = Array.Find(responseText.Split('\n'), line => line.StartsWith("data:")); - if (dataLine != null) - { - return dataLine.Substring("data:".Length).Trim(); - } - - return null; - } -} diff --git a/tests/Aspire.Dashboard.Tests/Integration/Playwright/Infrastructure/DashboardServerFixture.cs b/tests/Aspire.Dashboard.Tests/Integration/Playwright/Infrastructure/DashboardServerFixture.cs index 55a4d90822a..c7a1042f49c 100644 --- a/tests/Aspire.Dashboard.Tests/Integration/Playwright/Infrastructure/DashboardServerFixture.cs +++ b/tests/Aspire.Dashboard.Tests/Integration/Playwright/Infrastructure/DashboardServerFixture.cs @@ -29,8 +29,7 @@ public DashboardServerFixture() [DashboardConfigNames.DashboardFrontendUrlName.ConfigKey] = "http://127.0.0.1:0", [DashboardConfigNames.DashboardOtlpHttpUrlName.ConfigKey] = "http://127.0.0.1:0", [DashboardConfigNames.DashboardOtlpAuthModeName.ConfigKey] = nameof(OtlpAuthMode.Unsecured), - [DashboardConfigNames.DashboardFrontendAuthModeName.ConfigKey] = nameof(FrontendAuthMode.Unsecured), - [DashboardConfigNames.DashboardMcpAuthModeName.ConfigKey] = nameof(McpAuthMode.Unsecured) + [DashboardConfigNames.DashboardFrontendAuthModeName.ConfigKey] = nameof(FrontendAuthMode.Unsecured) }; } diff --git a/tests/Aspire.Dashboard.Tests/Integration/StartupTests.cs b/tests/Aspire.Dashboard.Tests/Integration/StartupTests.cs index 4b000997ff9..d4134ffd182 100644 --- a/tests/Aspire.Dashboard.Tests/Integration/StartupTests.cs +++ b/tests/Aspire.Dashboard.Tests/Integration/StartupTests.cs @@ -358,86 +358,6 @@ await ServerRetryHelper.BindPortWithRetry(async port => } } - [Fact] - public async Task Configuration_BrowserAndOtlpGrpcAndMcpEndpointSame_Https_EndPointPortsAssigned() - { - // Arrange - DashboardWebApplication? app = null; - try - { - await ServerRetryHelper.BindPortWithRetry(async port => - { - app = IntegrationTestHelpers.CreateDashboardWebApplication(testOutputHelper, - additionalConfiguration: initialData => - { - initialData[DashboardConfigNames.DashboardFrontendUrlName.ConfigKey] = $"https://127.0.0.1:{port}"; - initialData[DashboardConfigNames.DashboardOtlpGrpcUrlName.ConfigKey] = $"https://127.0.0.1:{port}"; - initialData[DashboardConfigNames.DashboardOtlpHttpUrlName.ConfigKey] = $"https://127.0.0.1:{port}"; - initialData[DashboardConfigNames.DashboardMcpUrlName.ConfigKey] = $"https://127.0.0.1:{port}"; - }); - - // Act - await app.StartAsync().DefaultTimeout(); - }, NullLogger.Instance); - - // Assert - Assert.NotNull(app); - Assert.Equal(app.FrontendSingleEndPointAccessor().EndPoint.Port, app.OtlpServiceGrpcEndPointAccessor().EndPoint.Port); - - // Check browser access - using var browserHttpClient = new HttpClient(new HttpClientHandler - { - ServerCertificateCustomValidationCallback = (message, cert, chain, errors) => - { - return true; - } - }) - { - BaseAddress = new Uri($"https://{app.FrontendSingleEndPointAccessor().EndPoint}") - }; - var request = new HttpRequestMessage(HttpMethod.Get, "/"); - var response = await browserHttpClient.SendAsync(request).DefaultTimeout(); - response.EnsureSuccessStatusCode(); - - // Check OTLP service - using var channel = IntegrationTestHelpers.CreateGrpcChannel($"https://{app.FrontendSingleEndPointAccessor().EndPoint}", testOutputHelper); - var client = new LogsService.LogsServiceClient(channel); - var serviceResponse = await client.ExportAsync(new ExportLogsServiceRequest()).ResponseAsync.DefaultTimeout(); - Assert.Equal(0, serviceResponse.PartialSuccess.RejectedLogRecords); - - // Check MCP service - using var mcpHttpClient = new HttpClient(new HttpClientHandler - { - ServerCertificateCustomValidationCallback = (message, cert, chain, errors) => - { - return true; - } - }) - { - BaseAddress = new Uri($"https://{app.McpEndPointAccessor().EndPoint}") - }; - var mcpSessionId = await McpServiceTests.InitializeSessionAsync(mcpHttpClient); - var mcpRequest = McpServiceTests.CreateListToolsRequest(mcpSessionId); - - var responseMessage = await mcpHttpClient.SendAsync(mcpRequest).DefaultTimeout(TestConstants.LongTimeoutDuration); - responseMessage.EnsureSuccessStatusCode(); - - var responseData = await McpServiceTests.GetDataFromSseResponseAsync(responseMessage); - - var jsonResponse = JsonNode.Parse(responseData!)!; - var tools = jsonResponse["result"]!["tools"]!.AsArray(); - - Assert.NotEmpty(tools); - } - finally - { - if (app is not null) - { - await app.DisposeAsync().DefaultTimeout(); - } - } - } - [Fact] public async Task Configuration_BrowserAndOtlpGrpcEndpointSame_NoHttps_Error() { @@ -710,23 +630,11 @@ public async Task LogOutput_DynamicPort_PortResolvedInLogs() Assert.NotEqual(0, uri.Port); }, w => - { - Assert.Equal("MCP listening on: {McpEndpointUri}", LogTestHelpers.GetValue(w, "{OriginalFormat}")); - - var uri = new Uri((string)LogTestHelpers.GetValue(w, "McpEndpointUri")!); - Assert.NotEqual(0, uri.Port); - }, - w => { Assert.Equal("OTLP server is unsecured. Untrusted apps can send telemetry to the dashboard. For more information, visit https://go.microsoft.com/fwlink/?linkid=2267030", LogTestHelpers.GetValue(w, "{OriginalFormat}")); Assert.Equal(LogLevel.Warning, w.LogLevel); }, w => - { - Assert.Equal("MCP server is unsecured. Untrusted apps can access sensitive information.", LogTestHelpers.GetValue(w, "{OriginalFormat}")); - Assert.Equal(LogLevel.Warning, w.LogLevel); - }, - w => { Assert.Equal("Dashboard API is unsecured. Untrusted apps can access sensitive telemetry data.", LogTestHelpers.GetValue(w, "{OriginalFormat}")); Assert.Equal(LogLevel.Warning, w.LogLevel); @@ -752,7 +660,7 @@ public async Task LogOutput_NoOtlpEndpoints_NoOtlpLogs() // Assert var l = testSink.Writes.Where(w => w.LoggerName == typeof(DashboardWebApplication).FullName && w.LogLevel >= LogLevel.Information).ToList(); - // Should have version, frontend, MCP, and MCP warning logs, but no OTLP logs + // Should have version, frontend, and API warning logs, but no OTLP logs Assert.Collection(l, w => { @@ -763,43 +671,12 @@ public async Task LogOutput_NoOtlpEndpoints_NoOtlpLogs() Assert.Equal("Now listening on: {DashboardUri}", LogTestHelpers.GetValue(w, "{OriginalFormat}")); }, w => - { - Assert.Equal("MCP listening on: {McpEndpointUri}", LogTestHelpers.GetValue(w, "{OriginalFormat}")); - }, - w => - { - Assert.Equal("MCP server is unsecured. Untrusted apps can access sensitive information.", LogTestHelpers.GetValue(w, "{OriginalFormat}")); - Assert.Equal(LogLevel.Warning, w.LogLevel); - }, - w => { Assert.Equal("Dashboard API is unsecured. Untrusted apps can access sensitive telemetry data.", LogTestHelpers.GetValue(w, "{OriginalFormat}")); Assert.Equal(LogLevel.Warning, w.LogLevel); }); } - [Fact] - public async Task LogOutput_McpDisabled_NoMcpWarningLog() - { - // Arrange - var testSink = new TestSink(); - await using var app = IntegrationTestHelpers.CreateDashboardWebApplication(testOutputHelper, - additionalConfiguration: data => - { - data[DashboardConfigNames.DashboardMcpDisableName.ConfigKey] = "true"; - }, - testSink: testSink); - - // Act - await app.StartAsync().DefaultTimeout(); - - // Assert - var l = testSink.Writes.Where(w => w.LoggerName == typeof(DashboardWebApplication).FullName && w.LogLevel >= LogLevel.Warning).ToList(); - - // Should have no MCP unsecured warning when MCP is disabled - Assert.DoesNotContain(l, w => LogTestHelpers.GetValue(w, "{OriginalFormat}")?.ToString()?.Contains("MCP server is unsecured") == true); - } - [Theory] [InlineData(null, HttpStatusCode.NotFound)] [InlineData(true, HttpStatusCode.OK)] @@ -881,7 +758,6 @@ await ServerRetryHelper.BindPortsWithRetry(async ports => data[DashboardConfigNames.DashboardFrontendUrlName.ConfigKey] = $"https://localhost:{frontendPort1};http://localhost:{frontendPort2}"; data[DashboardConfigNames.DashboardOtlpGrpcUrlName.ConfigKey] = $"http://localhost:{otlpGrpcPort}"; data[DashboardConfigNames.DashboardOtlpHttpUrlName.ConfigKey] = $"http://localhost:{otlpHttpPort}"; - data[DashboardConfigNames.DashboardMcpUrlName.ConfigKey] = "http://127.0.0.1:0"; // Test that a dynamic port has a set value in logs. }); // Act @@ -927,23 +803,11 @@ await ServerRetryHelper.BindPortsWithRetry(async ports => Assert.Equal(otlpHttpPort, uri.Port); }, w => - { - Assert.Equal("MCP listening on: {McpEndpointUri}", LogTestHelpers.GetValue(w, "{OriginalFormat}")); - - var uri = new Uri((string)LogTestHelpers.GetValue(w, "McpEndpointUri")!); - Assert.NotEqual(0, uri.Port); // Check that allocated port is in log message - }, - w => { Assert.Equal("OTLP server is unsecured. Untrusted apps can send telemetry to the dashboard. For more information, visit https://go.microsoft.com/fwlink/?linkid=2267030", LogTestHelpers.GetValue(w, "{OriginalFormat}")); Assert.Equal(LogLevel.Warning, w.LogLevel); }, w => - { - Assert.Equal("MCP server is unsecured. Untrusted apps can access sensitive information.", LogTestHelpers.GetValue(w, "{OriginalFormat}")); - Assert.Equal(LogLevel.Warning, w.LogLevel); - }, - w => { Assert.Equal("Dashboard API is unsecured. Untrusted apps can access sensitive telemetry data.", LogTestHelpers.GetValue(w, "{OriginalFormat}")); Assert.Equal(LogLevel.Warning, w.LogLevel); diff --git a/tests/Aspire.Dashboard.Tests/Integration/TelemetryApiTests.cs b/tests/Aspire.Dashboard.Tests/Integration/TelemetryApiTests.cs index 15d6995796c..dd74d0e8f85 100644 --- a/tests/Aspire.Dashboard.Tests/Integration/TelemetryApiTests.cs +++ b/tests/Aspire.Dashboard.Tests/Integration/TelemetryApiTests.cs @@ -42,46 +42,6 @@ public async Task Configuration_ApiAuthModeDefaults_WhenNotConfigured() Assert.Equal(ApiAuthMode.Unsecured, options.Api.AuthMode); } - [Fact] - public async Task Configuration_ApiKeyFromApi_CopiedToMcp() - { - // Arrange - only set API key (canonical config) - var apiKey = "ApiKey123!"; - await using var app = IntegrationTestHelpers.CreateDashboardWebApplication(_testOutputHelper, config => - { - config[DashboardConfigNames.DashboardFrontendAuthModeName.ConfigKey] = FrontendAuthMode.Unsecured.ToString(); - config[DashboardConfigNames.DashboardApiAuthModeName.ConfigKey] = ApiAuthMode.ApiKey.ToString(); - config[DashboardConfigNames.DashboardApiPrimaryApiKeyName.ConfigKey] = apiKey; - }); - await app.StartAsync().DefaultTimeout(); - - // Assert - verify Mcp gets Api key (Api -> Mcp fallback) - var options = app.Services.GetRequiredService>().CurrentValue; - Assert.NotNull(options.Mcp.GetPrimaryApiKeyBytesOrNull()); - Assert.Equal(apiKey.Length, options.Mcp.GetPrimaryApiKeyBytesOrNull()!.Length); - } - - [Fact] - public async Task Configuration_ApiKeyExplicit_OverridesMcp() - { - // Arrange - set both MCP and API keys (API should take precedence) - var mcpKey = "McpKey123!"; - var apiKey = "ApiKey456!"; - await using var app = IntegrationTestHelpers.CreateDashboardWebApplication(_testOutputHelper, config => - { - config[DashboardConfigNames.DashboardFrontendAuthModeName.ConfigKey] = FrontendAuthMode.Unsecured.ToString(); - config[DashboardConfigNames.DashboardMcpPrimaryApiKeyName.ConfigKey] = mcpKey; - config[DashboardConfigNames.DashboardApiAuthModeName.ConfigKey] = ApiAuthMode.ApiKey.ToString(); - config[DashboardConfigNames.DashboardApiPrimaryApiKeyName.ConfigKey] = apiKey; - }); - await app.StartAsync().DefaultTimeout(); - - // Assert - Api should use its own key, not MCP's - var options = app.Services.GetRequiredService>().CurrentValue; - Assert.NotNull(options.Api.GetPrimaryApiKeyBytesOrNull()); - Assert.Equal(apiKey.Length, options.Api.GetPrimaryApiKeyBytesOrNull()!.Length); - } - #endregion [Fact] @@ -375,30 +335,6 @@ public async Task GetSpans_WithSecondaryApiKey_Returns200() Assert.Equal(HttpStatusCode.OK, response.StatusCode); } - [Fact] - public async Task GetSpans_McpKeyFallback_Returns200() - { - // Arrange - using legacy MCP key config (backward compatibility) - var apiKey = "LegacyMcpKey123!"; - await using var app = IntegrationTestHelpers.CreateDashboardWebApplication(_testOutputHelper, config => - { - config[DashboardConfigNames.DashboardFrontendAuthModeName.ConfigKey] = FrontendAuthMode.BrowserToken.ToString(); - // Use legacy MCP config instead of new Api config - config[DashboardConfigNames.DashboardMcpAuthModeName.ConfigKey] = McpAuthMode.ApiKey.ToString(); - config[DashboardConfigNames.DashboardMcpPrimaryApiKeyName.ConfigKey] = apiKey; - }); - await app.StartAsync().DefaultTimeout(); - - using var httpClient = IntegrationTestHelpers.CreateHttpClient($"http://{app.FrontendSingleEndPointAccessor().EndPoint}"); - httpClient.DefaultRequestHeaders.TryAddWithoutValidation(ApiAuthenticationHandler.ApiKeyHeaderName, apiKey); - - // Act - var response = await httpClient.GetAsync("/api/telemetry/spans").DefaultTimeout(); - - // Assert - MCP key should work via fallback - Assert.Equal(HttpStatusCode.OK, response.StatusCode); - } - [Fact] public async Task GetSpans_StreamingMode_ReturnsNdjsonContentType() { diff --git a/tests/Aspire.Dashboard.Tests/Mcp/AspireResourceMcpToolsTests.cs b/tests/Aspire.Dashboard.Tests/Mcp/AspireResourceMcpToolsTests.cs deleted file mode 100644 index 9d1e932f2bb..00000000000 --- a/tests/Aspire.Dashboard.Tests/Mcp/AspireResourceMcpToolsTests.cs +++ /dev/null @@ -1,229 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. - -using System.Collections.Immutable; -using System.Threading.Channels; -using Aspire.Dashboard.Configuration; -using Aspire.Dashboard.Mcp; -using Aspire.Dashboard.Model; -using Aspire.Dashboard.Tests.Model; -using Aspire.Dashboard.Tests.Shared; -using Aspire.Tests.Shared.DashboardModel; -using Google.Protobuf.WellKnownTypes; -using Microsoft.Extensions.Logging.Abstractions; -using Xunit; - -namespace Aspire.Dashboard.Tests.Mcp; - -public class AspireResourceMcpToolsTests -{ - private static readonly ResourcePropertyViewModel s_excludeFromMcpProperty = new ResourcePropertyViewModel(KnownProperties.Resource.ExcludeFromMcp, Value.ForBool(true), isValueSensitive: false, knownProperty: null, priority: 0); - - [Fact] - public void ListResources_NoResources_ReturnsResourceData() - { - // Arrange - var dashboardClient = new TestDashboardClient(isEnabled: true, initialResources: []); - var tools = CreateTools(dashboardClient); - - // Act - var result = tools.ListResources(); - - // Assert - Assert.NotNull(result); - Assert.Contains("# RESOURCE DATA", result); - } - - [Fact] - public void ListResources_SingleResource_ReturnsResourceData() - { - // Arrange - var resource = ModelTestHelpers.CreateResource(resourceName: "app1"); - var dashboardClient = new TestDashboardClient(isEnabled: true, initialResources: [resource]); - var tools = CreateTools(dashboardClient); - - // Act - var result = tools.ListResources(); - - // Assert - Assert.NotNull(result); - Assert.Contains("# RESOURCE DATA", result); - Assert.Contains("app1", result); - } - - [Fact] - public void ListResources_MultipleResources_ReturnsAllResources() - { - // Arrange - var resource1 = ModelTestHelpers.CreateResource(resourceName: "app1"); - var resource2 = ModelTestHelpers.CreateResource(resourceName: "app2"); - var dashboardClient = new TestDashboardClient(isEnabled: true, initialResources: [resource1, resource2]); - var tools = CreateTools(dashboardClient); - - // Act - var result = tools.ListResources(); - - // Assert - Assert.NotNull(result); - Assert.Contains("# RESOURCE DATA", result); - Assert.Contains("app1", result); - Assert.Contains("app2", result); - } - - [Fact] - public void ListResources_OptOutResources_FiltersOptOutResources() - { - // Arrange - var resource1 = ModelTestHelpers.CreateResource(resourceName: "app1"); - var resource2 = ModelTestHelpers.CreateResource( - resourceName: "app2", - properties: new Dictionary { [KnownProperties.Resource.ExcludeFromMcp] = s_excludeFromMcpProperty }); - var dashboardClient = new TestDashboardClient(isEnabled: true, initialResources: [resource1, resource2]); - var tools = CreateTools(dashboardClient); - - // Act - var result = tools.ListResources(); - - // Assert - Assert.NotNull(result); - Assert.Contains("# RESOURCE DATA", result); - Assert.Contains("app1", result); - Assert.DoesNotContain("app2", result); - } - - [Fact] - public async Task ListConsoleLogsAsync_ResourceNotFound_ReturnsErrorMessage() - { - // Arrange - var resource = ModelTestHelpers.CreateResource(resourceName: "app1"); - var dashboardClient = new TestDashboardClient(isEnabled: true, initialResources: [resource]); - var tools = CreateTools(dashboardClient); - - // Act - var result = await tools.ListConsoleLogsAsync("nonexistent", CancellationToken.None); - - // Assert - Assert.NotNull(result); - Assert.Contains("Unable to find a resource named 'nonexistent'", result); - } - - [Fact] - public async Task ListConsoleLogsAsync_ResourceOptOut_ReturnsErrorMessage() - { - // Arrange - var resource = ModelTestHelpers.CreateResource( - resourceName: "app1", - properties: new Dictionary { [KnownProperties.Resource.ExcludeFromMcp] = s_excludeFromMcpProperty }); - var dashboardClient = new TestDashboardClient(isEnabled: true, initialResources: [resource]); - var tools = CreateTools(dashboardClient); - - // Act - var result = await tools.ListConsoleLogsAsync("app1", CancellationToken.None); - - // Assert - Assert.NotNull(result); - Assert.Contains("Unable to find a resource named 'app1'", result); - } - - [Fact] - public async Task ListConsoleLogsAsync_ResourceFound_ReturnsLogs() - { - // Arrange - var resource = ModelTestHelpers.CreateResource(resourceName: "app1"); - var logsChannel = Channel.CreateUnbounded>(); - logsChannel.Writer.Complete(); - - var dashboardClient = new TestDashboardClient( - isEnabled: true, - initialResources: [resource], - consoleLogsChannelProvider: _ => logsChannel); - var tools = CreateTools(dashboardClient); - - // Act - var result = await tools.ListConsoleLogsAsync("app1", CancellationToken.None); - - // Assert - Assert.NotNull(result); - Assert.Contains("# CONSOLE LOGS", result); - } - - [Fact] - public async Task ListConsoleLogsAsync_MultipleResourcesWithSameName_HandlesGracefully() - { - // Arrange - // When there are multiple resources with same name, GetResources returns them but - // TryGetResource should return false since Count != 1 - var resource1 = ModelTestHelpers.CreateResource(resourceName: "app1"); - var resource2 = ModelTestHelpers.CreateResource(resourceName: "app1"); // Same name - var dashboardClient = new TestDashboardClient(isEnabled: true, initialResources: [resource1, resource2]); - var tools = CreateTools(dashboardClient); - - // Act - var result = await tools.ListConsoleLogsAsync("app1", CancellationToken.None); - - // Assert - Assert.NotNull(result); - // Should return error message when multiple resources match - Assert.Contains("Unable to find a resource named 'app1'", result); - } - - [Fact] - public async Task ExecuteResourceCommand_ResourceNotFound_ThrowsMcpProtocolException() - { - // Arrange - var dashboardClient = new TestDashboardClient(isEnabled: true, initialResources: []); - var tools = CreateTools(dashboardClient); - - // Act & Assert - var exception = await Assert.ThrowsAsync( - async () => await tools.ExecuteResourceCommand("nonexistent", "start")); - - Assert.Contains("Resource 'nonexistent' not found", exception.Message); - } - - [Fact] - public async Task ExecuteResourceCommand_ResourceOptOut_ThrowsMcpProtocolException() - { - // Arrange - var resource = ModelTestHelpers.CreateResource( - resourceName: "app1", - commands: ImmutableArray.Empty, - properties: new Dictionary { [KnownProperties.Resource.ExcludeFromMcp] = s_excludeFromMcpProperty }); - var dashboardClient = new TestDashboardClient(isEnabled: true, initialResources: [resource]); - var tools = CreateTools(dashboardClient); - - // Act & Assert - var exception = await Assert.ThrowsAsync( - async () => await tools.ExecuteResourceCommand("app1", "start")); - - Assert.Contains("Resource 'app1' not found", exception.Message); - } - - [Fact] - public async Task ExecuteResourceCommand_CommandNotFound_ThrowsMcpProtocolException() - { - // Arrange - var resource = ModelTestHelpers.CreateResource(resourceName: "app1", commands: ImmutableArray.Empty); - var dashboardClient = new TestDashboardClient(isEnabled: true, initialResources: [resource]); - var tools = CreateTools(dashboardClient); - - // Act & Assert - var exception = await Assert.ThrowsAsync( - async () => await tools.ExecuteResourceCommand("app1", "nonexistent-command")); - - Assert.Contains("Command 'nonexistent-command' not found", exception.Message); - } - - private static AspireResourceMcpTools CreateTools(IDashboardClient dashboardClient) - { - var options = new DashboardOptions(); - options.Frontend.EndpointUrls = "https://localhost:1234"; - options.Frontend.PublicUrl = "https://localhost:8080"; - Assert.True(options.Frontend.TryParseOptions(out _)); - - return new AspireResourceMcpTools( - dashboardClient, - new TestOptionsMonitor(options), - NullLogger.Instance); - } -} diff --git a/tests/Aspire.Dashboard.Tests/Mcp/AspireTelemetryMcpToolsTests.cs b/tests/Aspire.Dashboard.Tests/Mcp/AspireTelemetryMcpToolsTests.cs deleted file mode 100644 index 54e65477c1e..00000000000 --- a/tests/Aspire.Dashboard.Tests/Mcp/AspireTelemetryMcpToolsTests.cs +++ /dev/null @@ -1,300 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. - -using Aspire.Dashboard.Configuration; -using Aspire.Dashboard.Mcp; -using Aspire.Dashboard.Model; -using Aspire.Dashboard.Otlp.Model; -using Aspire.Dashboard.Otlp.Storage; -using Aspire.Dashboard.Tests.Model; -using Aspire.Dashboard.Tests.Shared; -using Aspire.Tests.Shared.DashboardModel; -using Aspire.Tests.Shared.Telemetry; -using Google.Protobuf.Collections; -using Google.Protobuf.WellKnownTypes; -using Microsoft.Extensions.Logging.Abstractions; -using OpenTelemetry.Proto.Logs.V1; -using OpenTelemetry.Proto.Trace.V1; -using Xunit; -using static Aspire.Tests.Shared.Telemetry.TelemetryTestHelpers; - -namespace Aspire.Dashboard.Tests.Mcp; - -public class AspireTelemetryMcpToolsTests -{ - private static readonly ResourcePropertyViewModel s_excludeFromMcpProperty = new ResourcePropertyViewModel(KnownProperties.Resource.ExcludeFromMcp, Value.ForBool(true), isValueSensitive: false, knownProperty: null, priority: 0); - private static readonly DateTime s_testTime = new(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc); - - [Fact] - public void ListTraces_NoResources_ReturnsEmptyResult() - { - // Arrange - var repository = CreateRepository(); - var tools = CreateTools(repository); - - // Act - var result = tools.ListTraces(resourceName: null); - - // Assert - Assert.NotNull(result); - Assert.Contains("# TRACES DATA", result); - } - - [Fact] - public void ListTraces_SingleResource_ReturnsTraces() - { - // Arrange - var repository = CreateRepository(); - AddResource(repository, "app1"); - var tools = CreateTools(repository); - - // Act - var result = tools.ListTraces(resourceName: "app1"); - - // Assert - Assert.NotNull(result); - Assert.Contains("# TRACES DATA", result); - Assert.Contains("app1", result); - } - - [Fact] - public void ListTraces_ResourceOptOut_FilterTraces() - { - // Arrange - var repository = CreateRepository(); - AddResource(repository, "app1", "instance1"); - AddResource(repository, "app2", "instance1"); - - var resource = ModelTestHelpers.CreateResource( - resourceName: "app1-instance1", - displayName: "app1", - properties: new Dictionary { [KnownProperties.Resource.ExcludeFromMcp] = s_excludeFromMcpProperty }); - var dashboardClient = new TestDashboardClient(isEnabled: true, initialResources: [resource]); - - var tools = CreateTools(repository, dashboardClient); - - // Act - var result = tools.ListTraces(); - - // Assert - Assert.NotNull(result); - Assert.Contains("# TRACES DATA", result); - Assert.DoesNotContain("app1", result); - Assert.Contains("app2", result); - } - - [Fact] - public void ListTraces_MultipleResourcesWithSameName_HandlesGracefully() - { - // Arrange - var repository = CreateRepository(); - // Add multiple resources with the same name but different instance IDs - AddResource(repository, "app1", instanceId: "instance1"); - AddResource(repository, "app1", instanceId: "instance2"); - var tools = CreateTools(repository); - - // Act - This should not throw even though there are multiple matches - var result = tools.ListTraces(resourceName: "app1"); - - // Assert - Assert.NotNull(result); - // When there are multiple resources with the same name, the method should return an error message - Assert.Contains("doesn't have any telemetry", result); - } - - [Fact] - public void ListTraces_ResourceNotFound_ReturnsErrorMessage() - { - // Arrange - var repository = CreateRepository(); - AddResource(repository, "app1"); - var tools = CreateTools(repository); - - // Act - var result = tools.ListTraces(resourceName: "nonexistent"); - - // Assert - Assert.NotNull(result); - Assert.Contains("doesn't have any telemetry", result); - } - - [Fact] - public void ListStructuredLogs_NoResources_ReturnsEmptyResult() - { - // Arrange - var repository = CreateRepository(); - var tools = CreateTools(repository); - - // Act - var result = tools.ListStructuredLogs(resourceName: null); - - // Assert - Assert.NotNull(result); - Assert.Contains("# STRUCTURED LOGS DATA", result); - } - - [Fact] - public void ListStructuredLogs_HasResource_ReturnsLogs() - { - // Arrange - var repository = CreateRepository(); - AddResource(repository, "app1"); - var tools = CreateTools(repository); - - // Act - var result = tools.ListStructuredLogs(); - - // Assert - Assert.NotNull(result); - Assert.Contains("# STRUCTURED LOGS DATA", result); - Assert.Contains("app1", result); - } - - [Fact] - public void ListStructuredLogs_ResourceOptOut_FiltersLogs() - { - // Arrange - var repository = CreateRepository(); - AddResource(repository, "app1", "instance1"); - AddResource(repository, "app2", "instance1"); - - var resource = ModelTestHelpers.CreateResource( - resourceName: "app1-instance1", - displayName: "app1", - properties: new Dictionary { [KnownProperties.Resource.ExcludeFromMcp] = s_excludeFromMcpProperty }); - var dashboardClient = new TestDashboardClient(isEnabled: true, initialResources: [resource]); - - var tools = CreateTools(repository, dashboardClient); - - // Act - var result = tools.ListStructuredLogs(); - - // Assert - Assert.NotNull(result); - Assert.Contains("# STRUCTURED LOGS DATA", result); - Assert.DoesNotContain("app1", result); - Assert.Contains("app2", result); - } - - [Fact] - public void ListStructuredLogs_SingleResource_ReturnsLogs() - { - // Arrange - var repository = CreateRepository(); - AddResource(repository, "app1"); - var tools = CreateTools(repository); - - // Act - var result = tools.ListStructuredLogs(resourceName: "app1"); - - // Assert - Assert.NotNull(result); - Assert.Contains("# STRUCTURED LOGS DATA", result); - Assert.Contains("app1", result); - } - - [Fact] - public void ListStructuredLogs_MultipleResourcesWithSameName_HandlesGracefully() - { - // Arrange - var repository = CreateRepository(); - // Add multiple resources with the same name but different instance IDs - AddResource(repository, "app1", instanceId: "instance1"); - AddResource(repository, "app1", instanceId: "instance2"); - var tools = CreateTools(repository); - - // Act - This should not throw even though there are multiple matches - var result = tools.ListStructuredLogs(resourceName: "app1"); - - // Assert - Assert.NotNull(result); - // When there are multiple resources with the same name, the method should return an error message - Assert.Contains("doesn't have any telemetry", result); - } - - [Fact] - public void ListTraceStructuredLogs_WithTraceId_ReturnsLogs() - { - // Arrange - var repository = CreateRepository(); - AddResource(repository, "app1"); - var tools = CreateTools(repository); - - // Act - var result = tools.ListTraceStructuredLogs(traceId: "test-trace-id"); - - // Assert - Assert.NotNull(result); - Assert.Contains("# STRUCTURED LOGS DATA", result); - } - - private static AspireTelemetryMcpTools CreateTools(TelemetryRepository repository, IDashboardClient? dashboardClient = null) - { - var options = new DashboardOptions(); - options.Frontend.EndpointUrls = "https://localhost:1234"; - options.Frontend.PublicUrl = "https://localhost:8080"; - Assert.True(options.Frontend.TryParseOptions(out _)); - - return new AspireTelemetryMcpTools( - repository, - [], - new TestOptionsMonitor(options), - dashboardClient ?? new TestDashboardClient(), - NullLogger.Instance); - } - - private static TelemetryRepository CreateRepository() - { - return TelemetryTestHelpers.CreateRepository(); - } - - private static void AddResource(TelemetryRepository repository, string name, string? instanceId = null) - { - var idPrefix = instanceId != null ? $"{name}-{instanceId}" : name; - - var addContext = new AddContext(); - repository.AddTraces(addContext, new RepeatedField() - { - new ResourceSpans - { - Resource = CreateResource(name: name, instanceId: instanceId), - ScopeSpans = - { - new ScopeSpans - { - Scope = CreateScope(), - Spans = - { - CreateSpan(traceId: idPrefix + "1", spanId: idPrefix + "1-1", startTime: s_testTime.AddMinutes(1), endTime: s_testTime.AddMinutes(10)), - CreateSpan(traceId: idPrefix + "1", spanId: idPrefix + "1-2", startTime: s_testTime.AddMinutes(5), endTime: s_testTime.AddMinutes(10), parentSpanId: idPrefix + "1-1"), - CreateSpan(traceId: idPrefix + "2", spanId: idPrefix + "2-1", startTime: s_testTime.AddMinutes(6), endTime: s_testTime.AddMinutes(10)) - } - } - } - } - }); - - Assert.Equal(0, addContext.FailureCount); - - repository.AddLogs(addContext, new RepeatedField() - { - new ResourceLogs - { - Resource = CreateResource(name: name, instanceId: instanceId), - ScopeLogs = - { - new ScopeLogs - { - Scope = CreateScope(), - LogRecords = - { - CreateLogRecord(time: s_testTime, message: "Log entry!") - } - } - } - } - }); - - Assert.Equal(0, addContext.FailureCount); - } -} diff --git a/tests/Aspire.Dashboard.Tests/Mcp/McpConfigModelTests.cs b/tests/Aspire.Dashboard.Tests/Mcp/McpConfigModelTests.cs deleted file mode 100644 index d1118ead7a4..00000000000 --- a/tests/Aspire.Dashboard.Tests/Mcp/McpConfigModelTests.cs +++ /dev/null @@ -1,162 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. - -using System.Text.Json; -using Aspire.Dashboard.Mcp; -using Xunit; - -namespace Aspire.Dashboard.Tests.Mcp; - -public class McpConfigModelTests -{ - [Fact] - public void McpJsonFileServerModel_WithApiKey_IncludesInputs() - { - // Arrange - var inputs = new List - { - new McpInputModel - { - Id = "x_mcp_api_key", - Type = "promptString", - Description = "Enter x-mcp-api-key", - Password = true - } - }; - - var model = new McpJsonFileServerModel - { - Inputs = inputs, - Servers = new() - { - ["aspire-dashboard"] = new() - { - Type = "http", - Url = "http://localhost:23052/mcp", - Headers = new Dictionary - { - ["x-mcp-api-key"] = "${input:x_mcp_api_key}" - } - } - } - }; - - // Act - var json = JsonSerializer.Serialize(model, McpConfigFileModelContext.Default.McpJsonFileServerModel); - - // Assert - Assert.Contains("\"inputs\"", json); - Assert.Contains("\"x_mcp_api_key\"", json); - Assert.Contains("\"promptString\"", json); - Assert.Contains("\"Enter x-mcp-api-key\"", json); - Assert.Contains("\"password\": true", json); - Assert.Contains("${input:x_mcp_api_key}", json); - } - - [Fact] - public void McpJsonFileServerModel_WithoutApiKey_NoInputs() - { - // Arrange - var model = new McpJsonFileServerModel - { - Inputs = null, - Servers = new() - { - ["aspire-dashboard"] = new() - { - Type = "http", - Url = "http://localhost:23052/mcp", - Headers = null - } - } - }; - - // Act - var json = JsonSerializer.Serialize(model, McpConfigFileModelContext.Default.McpJsonFileServerModel); - - // Assert - Assert.DoesNotContain("\"inputs\"", json); - } - - [Fact] - public void McpInstallButtonServerModel_WithApiKey_IncludesInputs() - { - // Arrange - var inputs = new List - { - new McpInputModel - { - Id = "x_mcp_api_key", - Type = "promptString", - Description = "Enter x-mcp-api-key", - Password = true - } - }; - - var model = new McpInstallButtonServerModel - { - Name = "aspire-dashboard", - Inputs = inputs, - Type = "http", - Url = "http://localhost:23052/mcp", - Headers = new Dictionary - { - ["x-mcp-api-key"] = "${input:x_mcp_api_key}" - } - }; - - // Act - var json = JsonSerializer.Serialize(model, McpInstallButtonModelContext.Default.McpInstallButtonServerModel); - - // Assert - Assert.Contains("\"inputs\"", json); - Assert.Contains("\"x_mcp_api_key\"", json); - Assert.Contains("\"promptString\"", json); - Assert.Contains("\"Enter x-mcp-api-key\"", json); - Assert.Contains("\"password\":true", json); - Assert.Contains("${input:x_mcp_api_key}", json); - Assert.Contains("\"name\":\"aspire-dashboard\"", json); - } - - [Fact] - public void McpInstallButtonServerModel_WithoutApiKey_NoInputs() - { - // Arrange - var model = new McpInstallButtonServerModel - { - Name = "aspire-dashboard", - Inputs = null, - Type = "http", - Url = "http://localhost:23052/mcp", - Headers = null - }; - - // Act - var json = JsonSerializer.Serialize(model, McpInstallButtonModelContext.Default.McpInstallButtonServerModel); - - // Assert - Assert.DoesNotContain("\"inputs\"", json); - } - - [Fact] - public void McpInputModel_SerializesCorrectly() - { - // Arrange - var input = new McpInputModel - { - Id = "x_mcp_api_key", - Type = "promptString", - Description = "Enter x-mcp-api-key", - Password = true - }; - - // Act - var json = JsonSerializer.Serialize(input, McpInstallButtonModelContext.Default.McpInputModel); - - // Assert - Assert.Contains("\"id\":\"x_mcp_api_key\"", json); - Assert.Contains("\"type\":\"promptString\"", json); - Assert.Contains("\"description\":\"Enter x-mcp-api-key\"", json); - Assert.Contains("\"password\":true", json); - } -} diff --git a/tests/Aspire.Dashboard.Tests/Mcp/McpIconHelperTests.cs b/tests/Aspire.Dashboard.Tests/Mcp/McpIconHelperTests.cs deleted file mode 100644 index 7f8067790ae..00000000000 --- a/tests/Aspire.Dashboard.Tests/Mcp/McpIconHelperTests.cs +++ /dev/null @@ -1,75 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. - -using Aspire.Dashboard.Mcp; -using Aspire.Shared.Mcp; -using Xunit; - -namespace Aspire.Dashboard.Tests.Mcp; - -public class McpIconHelperTests -{ - [Fact] - public void GetAspireIcons_LoadsAllIconsFromDashboard() - { - // Arrange - var assembly = typeof(McpExtensions).Assembly; - var resourceNamespace = "Aspire.Dashboard.Mcp.Resources"; - - // Act - var icons = McpIconHelper.GetAspireIcons(assembly, resourceNamespace); - - // Assert - Assert.NotNull(icons); - Assert.Equal(5, icons.Count); - - // Verify each icon has correct properties - Assert.All(icons, icon => - { - Assert.NotNull(icon); - Assert.Equal("image/png", icon.MimeType); - Assert.NotNull(icon.Source); - Assert.StartsWith("data:image/png;base64,", icon.Source); - - // Verify it's actually base64 encoded data - var base64Part = icon.Source.Substring("data:image/png;base64,".Length); - Assert.True(base64Part.Length > 0, "Icon should have base64 data"); - - // Verify base64 is valid by attempting to decode - var bytes = Convert.FromBase64String(base64Part); - Assert.True(bytes.Length > 0, "Icon data should not be empty"); - - // Verify PNG header (first 4 bytes should be PNG signature: 89 50 4E 47) - Assert.Equal(0x89, bytes[0]); - Assert.Equal(0x50, bytes[1]); - Assert.Equal(0x4E, bytes[2]); - Assert.Equal(0x47, bytes[3]); - - Assert.NotNull(icon.Sizes); - Assert.Single(icon.Sizes); - }); - - // Verify all expected sizes are present - var sizes = icons.SelectMany(i => i.Sizes ?? []).ToHashSet(); - Assert.Contains("16", sizes); - Assert.Contains("32", sizes); - Assert.Contains("48", sizes); - Assert.Contains("64", sizes); - Assert.Contains("256", sizes); - } - - [Fact] - public void GetAspireIcons_MissingResource_ThrowsInvalidOperationException() - { - // Arrange - var assembly = typeof(McpExtensions).Assembly; - var invalidResourceNamespace = "Aspire.Dashboard.Invalid.Namespace"; - - // Act & Assert - var exception = Assert.Throws(() => - McpIconHelper.GetAspireIcons(assembly, invalidResourceNamespace)); - - Assert.Contains("Could not find embedded resource", exception.Message); - Assert.Contains(invalidResourceNamespace, exception.Message); - } -} diff --git a/tests/Aspire.Hosting.Tests/Backchannel/AuxiliaryBackchannelTests.cs b/tests/Aspire.Hosting.Tests/Backchannel/AuxiliaryBackchannelTests.cs index 574e82b43a6..7e178fb63f7 100644 --- a/tests/Aspire.Hosting.Tests/Backchannel/AuxiliaryBackchannelTests.cs +++ b/tests/Aspire.Hosting.Tests/Backchannel/AuxiliaryBackchannelTests.cs @@ -109,7 +109,6 @@ public async Task CanConnectMultipleClientsToAuxiliaryBackchannel() public async Task CanInvokeRpcMethodOnAuxiliaryBackchannel() { // This test verifies that RPC methods can be invoked - // When the Dashboard is not part of the app model, null should be returned using var builder = TestDistributedApplicationBuilder.CreateWithTestContainerRegistry(outputHelper); using var app = builder.Build(); @@ -129,14 +128,14 @@ public async Task CanInvokeRpcMethodOnAuxiliaryBackchannel() using var stream = new NetworkStream(socket, ownsSocket: true); using var rpc = JsonRpc.Attach(stream); - // Invoke the GetDashboardMcpConnectionInfoAsync RPC method - var connectionInfo = await rpc.InvokeAsync( - "GetDashboardMcpConnectionInfoAsync", + // Invoke the GetAppHostInformationAsync RPC method + var appHostInfo = await rpc.InvokeAsync( + "GetAppHostInformationAsync", Array.Empty() ).DefaultTimeout(); - // Since the dashboard is not part of the app model, it should return null - Assert.Null(connectionInfo); + Assert.NotNull(appHostInfo); + Assert.True(appHostInfo.ProcessId > 0); await app.StopAsync().DefaultTimeout(); } @@ -207,20 +206,20 @@ public async Task MultipleClientsCanInvokeRpcMethodsConcurrently() using var stream = new NetworkStream(socket, ownsSocket: true); using var rpc = JsonRpc.Attach(stream); - var connectionInfo = await rpc.InvokeAsync( - "GetDashboardMcpConnectionInfoAsync", + var appHostInfo = await rpc.InvokeAsync( + "GetAppHostInformationAsync", Array.Empty() ); - // Since the dashboard is not part of the app model, it should return null - Assert.Null(connectionInfo); + Assert.NotNull(appHostInfo); + Assert.True(appHostInfo.ProcessId > 0); - return connectionInfo; + return appHostInfo; }); var results = await Task.WhenAll(tasks).DefaultTimeout(); Assert.Equal(5, results.Length); - Assert.All(results, Assert.Null); + Assert.All(results, Assert.NotNull); await app.StopAsync().DefaultTimeout(); } diff --git a/tests/Aspire.Hosting.Tests/Dashboard/DashboardResourceTests.cs b/tests/Aspire.Hosting.Tests/Dashboard/DashboardResourceTests.cs index 1b4c919007c..12bbca2652c 100644 --- a/tests/Aspire.Hosting.Tests/Dashboard/DashboardResourceTests.cs +++ b/tests/Aspire.Hosting.Tests/Dashboard/DashboardResourceTests.cs @@ -96,8 +96,7 @@ public async Task DashboardDoesNotAddResource_ConfiguresExistingDashboard(string builder.Configuration.AddInMemoryCollection(new Dictionary { ["ASPNETCORE_URLS"] = "http://localhost", - [dashboardOtlpGrpcEndpointUrlKey] = "http://localhost", - [KnownConfigNames.DashboardMcpEndpointUrl] = "http://localhost" + [dashboardOtlpGrpcEndpointUrlKey] = "http://localhost" }); var container = builder.AddContainer(KnownResourceNames.AspireDashboard, "my-image"); @@ -110,7 +109,7 @@ public async Task DashboardDoesNotAddResource_ConfiguresExistingDashboard(string var dashboard = Assert.Single(model.Resources); - SetDashboardAllocatedEndpoints(dashboard, otlpGrpcPort: 5001, otlpHttpPort: 5002, httpPort: 5003, mcpPort: 5004, httpsPort: 5005); + SetDashboardAllocatedEndpoints(dashboard, otlpGrpcPort: 5001, otlpHttpPort: 5002, httpPort: 5003, httpsPort: 5005); Assert.Same(container.Resource, dashboard); @@ -125,11 +124,6 @@ public async Task DashboardDoesNotAddResource_ConfiguresExistingDashboard(string Assert.Equal("true", e.Value); }, e => - { - Assert.Equal(KnownConfigNames.DashboardMcpEndpointUrl, e.Key); - Assert.Equal("http://localhost:5004", e.Value); - }, - e => { Assert.Equal(KnownConfigNames.DashboardOtlpGrpcEndpointUrl, e.Key); Assert.Equal("http://localhost:5001", e.Value); @@ -165,21 +159,6 @@ public async Task DashboardDoesNotAddResource_ConfiguresExistingDashboard(string Assert.Equal("http://localhost:5003", e.Value); }, e => - { - Assert.Equal("DASHBOARD__MCP__AUTHMODE", e.Key); - Assert.Equal("Unsecured", e.Value); - }, - e => - { - Assert.Equal("DASHBOARD__MCP__PUBLICURL", e.Key); - Assert.Equal("http://localhost:5004", e.Value); - }, - e => - { - Assert.Equal("DASHBOARD__MCP__USECLIMCP", e.Key); - Assert.Equal("true", e.Value); - }, - e => { Assert.Equal("DASHBOARD__OTLP__AUTHMODE", e.Key); Assert.Equal("Unsecured", e.Value); @@ -197,48 +176,6 @@ public async Task DashboardDoesNotAddResource_ConfiguresExistingDashboard(string ); } - [Theory] - [InlineData(5004, "http://localhost")] // MCP port - [InlineData(5003, null)] // HTTP port - public async Task DashboardDoesNotAddResource_ConfiguresMcpEndpoint(int expectedPort, string? mcpEndpointUrl) - { - using var builder = TestDistributedApplicationBuilder.Create( - options => options.DisableDashboard = false, - testOutputHelper: testOutputHelper); - - builder.Services.AddSingleton(); - - builder.Configuration.Sources.Clear(); - - builder.Configuration.AddInMemoryCollection(new Dictionary - { - ["ASPNETCORE_URLS"] = "http://localhost", - [KnownConfigNames.DashboardOtlpGrpcEndpointUrl] = "http://localhost", - [KnownConfigNames.DashboardMcpEndpointUrl] = mcpEndpointUrl - }); - - var container = builder.AddContainer(KnownResourceNames.AspireDashboard, "my-image"); - - using var app = builder.Build(); - - await app.ExecuteBeforeStartHooksAsync(default).DefaultTimeout(); - - var model = app.Services.GetRequiredService(); - - var dashboard = Assert.Single(model.Resources); - - SetDashboardAllocatedEndpoints(dashboard, otlpGrpcPort: 5001, otlpHttpPort: 5002, httpPort: 5003, mcpPort: 5004, httpsPort: 5005); - - Assert.Same(container.Resource, dashboard); - - var config = (await EnvironmentVariableEvaluator.GetEnvironmentVariablesAsync(dashboard, DistributedApplicationOperation.Run, TestServiceProvider.Instance).DefaultTimeout()) - .OrderBy(c => c.Key) - .ToList(); - - Assert.Equal($"http://localhost:{expectedPort}", config.Single(e => e.Key == DashboardConfigNames.DashboardMcpPublicUrlName.EnvVarName).Value); - Assert.Equal($"http://localhost:{expectedPort}", config.Single(e => e.Key == DashboardConfigNames.DashboardMcpUrlName.EnvVarName).Value); - } - [Fact] public async Task DashboardWithDllPathLaunchesDotnet() { @@ -302,7 +239,7 @@ public async Task DashboardAuthConfigured_EnvVarsPresent(string dashboardOtlpGrp var dashboard = Assert.Single(model.Resources); - SetDashboardAllocatedEndpoints(dashboard, otlpGrpcPort: 5001, otlpHttpPort: 5002, httpPort: 5000, mcpPort: 5003, httpsPort: 5004); + SetDashboardAllocatedEndpoints(dashboard, otlpGrpcPort: 5001, otlpHttpPort: 5002, httpPort: 5000, httpsPort: 5004); var config = await EnvironmentVariableEvaluator.GetEnvironmentVariablesAsync(dashboard, DistributedApplicationOperation.Run, TestServiceProvider.Instance).DefaultTimeout(); @@ -341,7 +278,7 @@ public async Task DashboardAuthRemoved_EnvVarsUnsecured(string dashboardOtlpGrpc var dashboard = Assert.Single(model.Resources); - SetDashboardAllocatedEndpoints(dashboard, otlpGrpcPort: 5001, otlpHttpPort: 5002, httpPort: 5000, mcpPort: 5003, httpsPort: 5004); + SetDashboardAllocatedEndpoints(dashboard, otlpGrpcPort: 5001, otlpHttpPort: 5002, httpPort: 5000, httpsPort: 5004); var config = await EnvironmentVariableEvaluator.GetEnvironmentVariablesAsync(dashboard, DistributedApplicationOperation.Run, TestServiceProvider.Instance).DefaultTimeout(); @@ -377,7 +314,7 @@ public async Task DashboardResourceServiceUriIsSet(string dashboardOtlpGrpcEndpo var dashboard = Assert.Single(model.Resources); - SetDashboardAllocatedEndpoints(dashboard, otlpGrpcPort: 5001, otlpHttpPort: 5002, httpPort: 5000, mcpPort: 5003, httpsPort: 5004); + SetDashboardAllocatedEndpoints(dashboard, otlpGrpcPort: 5001, otlpHttpPort: 5002, httpPort: 5000, httpsPort: 5004); var config = await EnvironmentVariableEvaluator.GetEnvironmentVariablesAsync(dashboard, DistributedApplicationOperation.Run, TestServiceProvider.Instance).DefaultTimeout(); @@ -420,7 +357,7 @@ public async Task DashboardResource_OtlpHttpEndpoint_CorsEnvVarSet(string? expli var dashboard = Assert.Single(model.Resources, r => r.Name == "aspire-dashboard"); - SetDashboardAllocatedEndpoints(dashboard, otlpGrpcPort: 5001, otlpHttpPort: 5002, httpPort: 5003, mcpPort: 5004, httpsPort: 5005); + SetDashboardAllocatedEndpoints(dashboard, otlpGrpcPort: 5001, otlpHttpPort: 5002, httpPort: 5003, httpsPort: 5005); var config = await EnvironmentVariableEvaluator.GetEnvironmentVariablesAsync(dashboard, DistributedApplicationOperation.Run, app.Services).DefaultTimeout(); @@ -461,7 +398,7 @@ public async Task DashboardResource_OtlpGrpcEndpoint_CorsEnvVarNotSet(string? ex var dashboard = Assert.Single(model.Resources, r => r.Name == "aspire-dashboard"); - SetDashboardAllocatedEndpoints(dashboard, otlpGrpcPort: 5001, otlpHttpPort: 5002, httpPort: 5003, mcpPort: 5004, httpsPort: 5005); + SetDashboardAllocatedEndpoints(dashboard, otlpGrpcPort: 5001, otlpHttpPort: 5002, httpPort: 5003, httpsPort: 5005); var config = await EnvironmentVariableEvaluator.GetEnvironmentVariablesAsync(dashboard, DistributedApplicationOperation.Run, app.Services).DefaultTimeout(); @@ -693,7 +630,7 @@ public async Task DashboardResource_UrlsIncludeTokenQuerystringWhenConfigured(st var dashboard = Assert.Single(model.Resources); - SetDashboardAllocatedEndpoints(dashboard, otlpGrpcPort: 5001, otlpHttpPort: 5002, httpPort: 5003, mcpPort: 5004, httpsPort: 5005); + SetDashboardAllocatedEndpoints(dashboard, otlpGrpcPort: 5001, otlpHttpPort: 5002, httpPort: 5003, httpsPort: 5005); // Act - Get the URLs by invoking the ResourceUrlsCallbackAnnotation var urlsCallback = dashboard.Annotations.OfType().Single(); @@ -723,7 +660,7 @@ public async Task DashboardResource_UrlsIncludeTokenQuerystringWhenConfigured(st Assert.Equal("Dashboard (https)", httpsUrl.DisplayText); } - static void SetDashboardAllocatedEndpoints(IResource dashboard, int otlpGrpcPort, int otlpHttpPort, int httpPort, int mcpPort, int httpsPort) + static void SetDashboardAllocatedEndpoints(IResource dashboard, int otlpGrpcPort, int otlpHttpPort, int httpPort, int httpsPort) { foreach (var endpoint in dashboard.Annotations.OfType()) { @@ -735,10 +672,6 @@ static void SetDashboardAllocatedEndpoints(IResource dashboard, int otlpGrpcPort { endpoint.AllocatedEndpoint = new(endpoint, "localhost", otlpHttpPort, targetPortExpression: otlpHttpPort.ToString()); } - else if (endpoint.Name == DashboardEventHandlers.McpEndpointName) - { - endpoint.AllocatedEndpoint = new(endpoint, "localhost", mcpPort, targetPortExpression: mcpPort.ToString()); - } else if (endpoint.Name == "http") { endpoint.AllocatedEndpoint = new(endpoint, "localhost", httpPort, targetPortExpression: httpPort.ToString());