Conversation
* Add Getting Started walkthrough to VS Code extension * Update extension/walkthrough/dashboard.md Co-authored-by: Maddy Montaquila (Leger) <maddyleger1@gmail.com> --------- Co-authored-by: Maddy Montaquila (Leger) <maddyleger1@gmail.com>
* Add AspireExport coverage for Azure Redis Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Update playground/polyglot/TypeScript/Aspire.Hosting.Azure.Redis/ValidationAppHost/tsconfig.json Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Add polyglot exports for Aspire.Hosting.Garnet Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Refine AspireExport descriptions for polyglot-garnet Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…operties and methods (#14785)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Enhance DTO handling in callback proxies: implement writeback for modified DTOs and support circular references in serialization * Enhance DTO writeback handling: improve support for circular references and ensure non-DTO args are safely ignored during writeback * Enhance DTO property handling: respect JsonPropertyName and JsonIgnore attributes, and skip read-only properties during writeback
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Add polyglot exports for Aspire.Hosting.GitHub.Models Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Update src/Aspire.Hosting.GitHub.Models/GitHubModelsExtensions.cs Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update src/Aspire.Hosting.GitHub.Models/GitHubModelsExtensions.cs Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Refine AspireExport descriptions for polyglot-github-models Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Update playground/polyglot/TypeScript/Aspire.Hosting.GitHub.Models/ValidationAppHost/apphost.ts Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Add polyglot exports for Aspire.Hosting.Qdrant Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Refine AspireExport descriptions for polyglot-qdrant Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
#14915) The Sigstore and Tuf NuGet packages (and their transitive dependency NSec.Cryptography) were added to Aspire.Cli in #14569 but the corresponding FileSignInfo entries in eng/Signing.props were not added. This causes SIGN004 errors in the internal build because the Arcade SDK detects 3rd-party DLLs being signed with the Microsoft certificate. Add FileSignInfo entries with CertificateName="3PartySHA2" for: - NSec.Cryptography.dll (transitive dep, © Klaus Hartke) - Sigstore.dll (direct dep) - Tuf.dll (direct dep) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Restructure CLI resource commands under 'aspire resource' * Detect bare-word args in 'aspire start' and guide users to 'aspire resource' * Remove TreatUnmatchedTokensAsErrors=false from StartCommand * Add tests that 'aspire start/stop myresource' fail * Restore unmatched token forwarding in StartCommand and add forwarding tests * Move StartDescription to StartCommandStrings
* Add polyglot exports for Aspire.Hosting.Yarp Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Refine AspireExport descriptions for polyglot-yarp Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Use generated methods in yarp apphost Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Expand yarp apphost generated method coverage Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Expose Yarp transform methods to polyglot apphost Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Add polyglot exports for Aspire.Hosting.OpenAI Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Refine AspireExport descriptions for polyglot-openai Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Use generated methods in openai apphost Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Add polyglot exports for Aspire.Hosting.Azure.SignalR Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Refine AspireExport descriptions for polyglot-azure-signalr Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Remove polyglot app hosts remark from AddAzureSignalR Removed remark about overload availability in polyglot app hosts. * Remove polyglot app hosts remark from documentation Removed remark about overload availability in polyglot app hosts. --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Add polyglot exports for Aspire.Hosting.Nats Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Refine AspireExport descriptions for polyglot-nats Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Update src/Aspire.Hosting.Nats/NatsBuilderExtensions.cs Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update Nats TypeScript validation apphost to exercise all exports - Exercise addNats, withJetStream, withDataVolume, withDataBindMount - Test withReference and withServiceReference on consumer container - Add .modules/**/*.d.ts to tsconfig include Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Add polyglot exports for Aspire.Hosting.DevTunnels Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Refine AspireExport descriptions for polyglot-devtunnels Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Use generated methods in devtunnels apphost Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Complete AspireExport coverage for Aspire.Hosting.DevTunnels Add [AspireExport] or [AspireExportIgnore] attributes to all 11 public extension methods in DevTunnelResourceBuilderExtensions.cs. Exported methods (6): - addDevTunnel: Create dev tunnel resource - withTunnelReference: Expose specific endpoint via tunnel - withTunnelReferenceAnonymous: Expose endpoint with access control - withTunnelReferenceAll: Expose all endpoints on a resource - withAnonymousAccess: Make tunnel anonymously accessible - getTunnelEndpoint: Get public tunnel endpoint for a given endpoint Ignored methods (5) with reasons: - WithReference(DevTunnelPortOptions): Not ATS-compatible - WithReference(EndpointReference, DevTunnelPortOptions): Not ATS-compatible - GetEndpoint<TResource>: Delegates to IResource overload - GetEndpoint(IResource, string): IResource not ATS-mapped - WithReference(targetResource, tunnelResource): Service discovery injection Update TypeScript validation apphost to exercise all exported methods and regenerate SDK. TypeScript compilation (tsc --noEmit) passes. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Add AspireExport coverage for Azure AppConfiguration Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Address review feedback for polyglot-azure-appconfiguration Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Add polyglot exports for Aspire.Hosting.Azure.WebPubSub Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Refine AspireExport descriptions for polyglot-azure-webpubsub Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Use generated methods in azure-webpubsub apphost Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Fix AspireExport coverage for Azure WebPubSub integration - Fix addHub collision: remove [AspireExport] from simple overload, keep fuller overload with capability ID 'addHub' - Add [AspireExportIgnore] to WithRoleAssignments with WebPubSubBuiltInRole[] - Create AzureWebPubSubRole internal enum for ATS-compatible role shim - Add polyglot WithRoleAssignments shim with [AspireExport] - Update validation apphost.ts to exercise all exported APIs - Regenerate TypeScript SDK Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Add polyglot exports for Aspire.Hosting.Azure.ContainerRegistry Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Refine AspireExport descriptions for polyglot-azure-containerregistry Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Use generated methods in containerregistry apphost Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Add polyglot exports for Aspire.Hosting.Milvus
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Refine AspireExport descriptions for polyglot-milvus
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Add AspireExport to Milvus WithAttu and update validation apphost
- Add [AspireExport("withAttu")] to WithAttu method in MilvusBuilderExtensions
- Update TypeScript validation apphost to exercise all exported methods:
addMilvus, addDatabase, withAttu, withDataVolume, withDataBindMount,
withConfigurationFile, and withReference from core
- Regenerate TypeScript SDK with withAttu support
- Clean up settings.json (remove sdkVersion and package versions)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
---------
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Add dashboard browser setting for VS Code extension Add settings to control which browser opens the Aspire dashboard during debugging and whether to close it when debugging ends: - aspire.dashboardBrowser: Choose between opening in default external browser (default), Chrome debug session, Edge debug session, or Firefox debug session - aspire.closeDashboardOnDebugEnd: Automatically close the dashboard browser tab when debugging ends (works with debug browser options) Debug browser sessions are launched as child sessions of the Aspire debug session, so they automatically close when the parent session ends. Dashboard lifecycle management is consolidated in AspireDebugSession. * Update extension/src/debugger/AspireDebugSession.ts Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update extension/src/debugger/AspireDebugSession.ts Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update extension/src/server/interactionService.ts Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update extension/src/debugger/AspireDebugSession.ts Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Revert auto-generated schema changes * Move DashboardBrowserType export after all imports --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Make template discovery async in aspire new command Separate template definition (sync) from template availability (async) so that NewCommand can register template subcommands without blocking on async I/O in the constructor. - Add sync GetTemplates() to ITemplateFactory/ITemplateProvider that returns template definitions without performing runtime checks - Keep GetTemplatesAsync() for execution-time availability filtering (e.g. .NET SDK availability check) - NewCommand constructor uses GetTemplates() for subcommand registration - NewCommand.ExecuteAsync uses GetTemplatesAsync() to resolve which templates are actually available at runtime - Template subcommands and per-template help output are preserved Fixes #14805 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Filter .NET templates from subcommands when dotnet is not available Add IsDotNetOnPath() sync check to DotNetTemplateFactory.GetTemplates() so .NET templates are only registered as subcommands when dotnet is found on PATH or via the private SDK installation. This addresses the UX concern where 'aspire new --help' advertised .NET templates even on systems without the .NET SDK installed. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Mitch Denny <mitch@mitchdeny.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
#14786) Co-authored-by: JamesNK <303201+JamesNK@users.noreply.github.com> Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
* Add GitHubModelName enum for polyglot export support - Generate internal GitHubModelName enum and GetModelId conversion method in tools/GenModel.cs and GitHubModel.Generated.cs - Add internal AddGitHubModel(GitHubModelName) overload exported as addGitHubModel for polyglot app hosts - Mark string and GitHubModel overloads as AspireExportIgnore - Rename WithHealthCheck export to enableHealthCheck to avoid collision with core withHealthCheck(key) - Update ValidationAppHost/apphost.ts to exercise all exported methods - Fix tsconfig.json to include .d.ts files per convention Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Add addGitHubModelById for arbitrary model ID strings Exports an internal addGitHubModelById method so TypeScript users can pass model identifier strings (e.g. 'custom-vendor/custom-model') for models not yet in the GitHubModelName enum. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…rt/stop/restart (#14930) * Rename built-in resource commands: resource-start/stop/restart -> start/stop/restart Rename the built-in resource command identifiers from 'resource-start', 'resource-stop', 'resource-restart' to 'start', 'stop', 'restart'. - Update KnownResourceCommands constants to use the new short names - Add internal legacy constants for backwards compatibility - Add fallback mapping in ResourceCommandService so callers using the old names (e.g. 'resource-start') are mapped to the new names - Remove the CLI ResourceCommand name-mapping layer (no longer needed) - Update Dashboard CommandViewModel, MCP tools, and Assistant descriptions - Update VS Code extension to check for both old and new command names - Update all affected tests and add backwards-compat tests * Remove duplicate test method
* Add polyglot exports for Aspire.Hosting.Oracle Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Refine AspireExport descriptions for polyglot-oracle Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Add AspireExport property coverage for Oracle hosting integration - Add [AspireExport(ExposeProperties = true)] to OracleDatabaseServerResource and OracleDatabaseResource to expose properties to polyglot app hosts - Add [AspireExportIgnore] on ConnectionStringExpression for both resources - Update playground ValidationAppHost apphost.ts to exercise all exported methods: addOracle, addDatabase, withDataVolume, withDataBindMount, withInitFiles, withDbSetupBindMount, withReference, withServiceReference, fluent chaining, and property access - Regenerate TypeScript SDK with updated property accessors - Clean up settings.json (remove sdkVersion and package version) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Add project reference support for polyglot apphost integrations Allow .aspire/settings.json packages entries to reference local .csproj files instead of NuGet versions. When a value ends in '.csproj', it's treated as a project reference: PrebuiltAppHostServer publishes it via dotnet publish and copies the full transitive DLL closure into the integration libs path. DotNetBasedAppHostServerProject adds ProjectReference elements to the generated csproj. Introduces IntegrationReference record type to represent both NuGet packages and project references, replacing the (Name, Version) tuple throughout IAppHostServerProject.PrepareAsync and related APIs. Fixes #14760 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Remove GetAllPackages, migrate tests to GetIntegrationReferences Remove the now-unused GetAllPackages methods from AspireJsonConfiguration. Update tests to use GetIntegrationReferences instead. Add test for project reference detection (.csproj paths). Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Use single dotnet publish for PrebuiltAppHostServer integration resolution Replace the two-step approach (BundleNuGetService restore + per-project publish) with a single synthetic .csproj that includes all PackageReferences and ProjectReferences, then dotnet publish once to get the full transitive DLL closure. Remove BundleNuGetService dependency from PrebuiltAppHostServer. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Only use dotnet publish when project references are present Restore BundleNuGetService for the NuGet-only path (no SDK required). Only use dotnet publish with a synthetic project when project references are present in settings.json (requires .NET SDK). Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Use dotnet build with CopyLocalLockFileAssemblies instead of publish Build the synthetic integration project with OutDir pointing directly to the libs path, eliminating the need for dotnet publish and the extra copy step. Remove PublishProjectAsync from IDotNetCliRunner. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Add SDK check for project refs and isolate from parent MSBuild imports Check SDK availability before building project references and provide a clear error message if missing. Write Directory.Packages.props (CPM opt-out), Directory.Build.props, and Directory.Build.targets to the synthetic project directory to prevent parent MSBuild imports from interfering. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Remove DotNetBasedAppHostServerProject casts from SDK commands SdkGenerateCommand and SdkDumpCommand now use IAppHostServerProject.PrepareAsync instead of casting to DotNetBasedAppHostServerProject and calling CreateProjectFilesAsync/BuildAsync directly. This means they work in both dev mode and bundle mode with project references. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Use CLI version for SDK commands, let project deps resolve transitively SDK commands no longer reference DotNetBasedAppHostServerProject.DefaultSdkVersion. The codegen package uses VersionHelper.GetDefaultTemplateVersion() (CLI version), and Aspire.Hosting comes transitively from the integration project reference. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Add unit tests for IntegrationReference and synthetic project generation Tests cover IntegrationReference type properties, AspireJsonConfiguration.GetIntegrationReferences detection of .csproj paths, and PrebuiltAppHostServer.GenerateIntegrationProjectFile output (PackageReference, ProjectReference, OutDir, CopyLocalLockFileAssemblies, analyzer suppression). Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Add E2E test for project reference integration support Tests the full flow: create a .NET hosting integration with [AspireExport], create a TypeScript AppHost, add the integration as a project reference in settings.json, start the AppHost, and verify the custom addMyService method appears in the generated TypeScript SDK. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Simplify E2E test: use ExecuteCallback for file creation Replace multiline cat heredocs with C# ExecuteCallback to write the integration project files and update settings.json. Reads sdkVersion from the settings.json that aspire init creates. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Address PR review feedback - Null-safe value handling in GetIntegrationReferences (trim, null check before .csproj detection) - Clean stale libs directory before project ref build to prevent leftover DLLs - Use XDocument for synthetic project generation instead of string interpolation (XML-safe) - Filter SDK-only packages from ATS assembly list in DotNetBasedAppHostServerProject - Restore xmldoc param comments on PrebuiltAppHostServer constructor Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Use using directive for System.Xml.Linq Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Improve project reference E2E test with describe/wait verification Update apphost.ts to use the custom integration (addMyService), then verify with aspire wait and aspire describe that the resource actually runs. Reduce timeouts to be more reasonable. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Fix E2E test: use redis image instead of nonexistent myservice Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Fix E2E test: correct project reference path and force codegen regeneration The MyIntegration directory is inside the workspace (./MyIntegration not ../MyIntegration). Also delete .modules/ before aspire start to force re-codegen with the new integration. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Fix: write nuget.config with channel sources for project ref builds NuGetConfigMerger.CreateOrUpdateAsync is a no-op for implicit/hive channels. Instead, use GetNuGetSourcesAsync to get the actual feed URLs and write a nuget.config directly into the synthetic project directory. This ensures dotnet build can resolve Aspire packages from hive feeds in CI. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Fix CheckAsync tuple deconstruction after release/13.2 rebase PR #14811 removed ForceInstall from IDotNetSdkInstaller.CheckAsync, changing from 4-element to 3-element tuple. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Add build output logging for integration project failures Capture and log stdout/stderr from dotnet build when the synthetic integration project fails, to help diagnose CI failures. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Dump child log on E2E test failure for CI debugging Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Fix: use RestoreConfigFile to ensure project references resolve from channel feeds When the synthetic project has ProjectReferences, MSBuild restores the referenced project's packages from nuget.config nearest to that project's directory — not the synthetic project's directory. Add RestoreConfigFile to the synthetic .csproj so all projects in the build graph use our channel-aware nuget.config. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Fix E2E test: write nuget.config in workspace for project reference resolution MyIntegration.csproj needs to resolve Aspire.Hosting from the hive during dotnet build. MSBuild walks up from the project directory looking for nuget.config — without one in the workspace, it defaults to nuget.org which doesn't have prerelease versions. Write a nuget.config with hive sources in the workspace root. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Address JamesNK review feedback - Add IntegrationReference validation via factory methods (FromPackage/FromProject) ensuring exactly one of Version or ProjectPath is set - Rename GetAllPackagesAsync to GetIntegrationReferencesAsync - Add explicit null check for Version instead of null-forgiving operator - Use DotNetBasedAppHostServerProject.TargetFramework constant instead of hardcoded "net10.0" in PrebuiltAppHostServer - Replace RestoreConfigFile with RestoreAdditionalProjectSources MSBuild property to add channel sources without replacing the user's NuGet config - Remove nuget.config generation with <clear/> and unconditional nuget.org addition - Stop copying/overwriting user nuget.config (RestoreAdditionalProjectSources makes this unnecessary) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Use RestoreAdditionalProjectSources in DotNetBasedAppHostServerProject Align with PrebuiltAppHostServer: replace NuGetConfigMerger with RestoreAdditionalProjectSources for channel source resolution. This is additive and propagates to the entire restore graph including project references. Update test to verify csproj contains the correct sources instead of checking nuget.config. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Address JamesNK and sebastienros review feedback - IntegrationReference: change from record to class (JamesNK) - Rename 'packages' locals to 'integrations' where assigned from GetIntegrationReferencesAsync (JamesNK) - Call GetNuGetSourcesAsync unconditionally in BuildIntegrationProjectAsync (sebastienros) - Always regenerate codegen when project references are present by including timestamp in hash (sebastienros) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Resolve project ref assembly names from MSBuild build output Add a custom MSBuild target to the synthetic project that writes resolved project reference assembly names to a file after build. Use these actual assembly names (which may differ from settings.json key or csproj filename if <AssemblyName> is overridden) for the AtsAssemblies list in appsettings.json. Move GenerateAppSettingsAsync to after build/restore in all cases for a simpler linear flow. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
🚀 Dogfood this PR with:
curl -fsSL https://raw.githubusercontent.com/dotnet/aspire/main/eng/scripts/get-aspire-cli-pr.sh | bash -s -- 14979Or
iex "& { $(irm https://raw.githubusercontent.com/dotnet/aspire/main/eng/scripts/get-aspire-cli-pr.ps1) } 14979" |
🎬 CLI E2E Test RecordingsThe following terminal recordings are available for commit
📹 Recordings uploaded automatically from CI run #22788210405 |
|
@copilot investigate the failures. |
|
@sebastienros could you please take a look at the polyglot failures? Maybe I made some mistake in the merge? |
Polyglot validation fix: revert
|
Does the fix and explanation make sense? |
NO, it does not. We have a conflict between two big PRs: one that went into main #14557 and one that went into 13.2 #14686 @adamint you will probably need to "manually" re-apply your PR into main; the changes to DcpExecutor are to intertwined for an automatic merge. LMK if you need any help with that. |
# Conflicts: # eng/Versions.props # src/Aspire.Cli/Resources/xlf/ResourceCommandStrings.cs.xlf # src/Aspire.Cli/Resources/xlf/ResourceCommandStrings.de.xlf # src/Aspire.Cli/Resources/xlf/ResourceCommandStrings.es.xlf # src/Aspire.Cli/Resources/xlf/ResourceCommandStrings.fr.xlf # src/Aspire.Cli/Resources/xlf/ResourceCommandStrings.it.xlf # src/Aspire.Cli/Resources/xlf/ResourceCommandStrings.ja.xlf # src/Aspire.Cli/Resources/xlf/ResourceCommandStrings.ko.xlf # src/Aspire.Cli/Resources/xlf/ResourceCommandStrings.pl.xlf # src/Aspire.Cli/Resources/xlf/ResourceCommandStrings.pt-BR.xlf # src/Aspire.Cli/Resources/xlf/ResourceCommandStrings.ru.xlf # src/Aspire.Cli/Resources/xlf/ResourceCommandStrings.tr.xlf # src/Aspire.Cli/Resources/xlf/ResourceCommandStrings.zh-Hans.xlf # src/Aspire.Cli/Resources/xlf/ResourceCommandStrings.zh-Hant.xlf # src/Aspire.Cli/Resources/xlf/StopCommandStrings.cs.xlf # src/Aspire.Cli/Resources/xlf/StopCommandStrings.de.xlf # src/Aspire.Cli/Resources/xlf/StopCommandStrings.es.xlf # src/Aspire.Cli/Resources/xlf/StopCommandStrings.fr.xlf # src/Aspire.Cli/Resources/xlf/StopCommandStrings.it.xlf # src/Aspire.Cli/Resources/xlf/StopCommandStrings.ja.xlf # src/Aspire.Cli/Resources/xlf/StopCommandStrings.ko.xlf # src/Aspire.Cli/Resources/xlf/StopCommandStrings.pl.xlf # src/Aspire.Cli/Resources/xlf/StopCommandStrings.pt-BR.xlf # src/Aspire.Cli/Resources/xlf/StopCommandStrings.ru.xlf # src/Aspire.Cli/Resources/xlf/StopCommandStrings.tr.xlf # src/Aspire.Cli/Resources/xlf/StopCommandStrings.zh-Hans.xlf # src/Aspire.Cli/Resources/xlf/StopCommandStrings.zh-Hant.xlf # src/Aspire.Cli/Telemetry/AspireCliTelemetry.cs # src/Aspire.Hosting.RemoteHost/Ats/AtsMarshaller.cs # tests/Aspire.Hosting.RemoteHost.Tests/AtsMarshallerTests.cs # tests/Aspire.Hosting.RemoteHost.Tests/CapabilityDispatcherTests.cs
Summary
Backmerge
origin/release/13.2intomain.This PR started as a partial backmerge. It has now been updated by merging the current tip of
origin/release/13.2into this branch, with conflicts resolved in favor ofrelease/13.2where appropriate.Conflicts resolved in this update
tests/Aspire.Cli.EndToEnd.Tests/BannerTests.csrelease/13.2version, including theHex1bTerminalAutomatorflow and the existing[ActiveIssue("https://github.com/dotnet/aspire/issues/14307")]onBanner_NotDisplayedWithNoLogoFlag.src/Aspire.Hosting/Resources/xlf/InteractionStrings.{cs,de,es,fr,it,ja,ko,pl,pt-BR,ru,tr,zh-Hans,zh-Hant}.xlfrelease/13.2translations so they match the updatedParametersInputsRememberDescriptionNotConfiguredsource text.Previously documented conflict resolutions
eng/Versions.propsAspireCliTelemetry.csusing Aspire.Hosting+ release/13.2's OS telemetry and version helpersAtsMarshaller.csReferenceHandler.IgnoreCycles,TypeInfoResolver,ApplyDtoPropertiesAtsMarshallerTests.csCapabilityDispatcherTests.csResourceCommandStringsXLF (13 files)StopCommandStringsXLF (13 files)Validation
./restore.shdotnet build src/Aspire.Hosting/Aspire.Hosting.csproj /p:SkipNativeBuild=truedotnet build tests/Aspire.Cli.EndToEnd.Tests/Aspire.Cli.EndToEnd.Tests.csproj /p:SkipNativeBuild=trueFixes #14976
cc @adamint @JamesNK @IEvangelist @karolz-ms @davidfowl