DYN-10450: Consume DynamoAssistant NuGet as a built-in package#17187
Conversation
Consumes the Autodesk Assistant NuGet (DynamoVisualProgramming.DynamoAssistant,
published by the Dynamo-AutodeskAssistant repo to nuget.org, DYN-10450) and
ships it as a built-in package under Built-In Packages\packages\DynamoAssistant.
Mirrors the DynamoMCP / PythonNet3Engine NuGet-consume pattern.
- DynamoCoreWpf.csproj: pin DynamoVisualProgramming.DynamoAssistant PackageReference
to [0.2.2] (GeneratePathProperty + ExcludeAssets="all") and add a
BuildDynamoAssistantDynamoPackage target that copies the package verbatim into
Built-In Packages\packages\DynamoAssistant.
- check_file_version.ps1: exclude AA's independently-versioned binaries (same
treatment as TuneUp / DSPythonNet3 / DynamoMCP).
- PackageManager tests: account for the new built-in package/view extension
("Autodesk Assistant"; built-in package count 3 -> 4; requested extensions 3 -> 4
and 4 -> 5).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
See the ticket for this pull request: https://jira.autodesk.com/browse/DYN-10450
edwin-vasquez-ucaldas
left a comment
There was a problem hiding this comment.
LGTM.
Just a minor comment into a unit test
| Is.EquivalentTo( | ||
| new List<string> | ||
| { | ||
| "Autodesk Assistant", |
There was a problem hiding this comment.
Is just a unit test, however to be consistent, I think now the package name is: DynamoAssistant instead of AutodeskAssistant
There was a problem hiding this comment.
Thanks @edwin-vasquez-ucaldas! Good catch to double-check. This particular assertion compares View.viewExtensionManager.ViewExtensions.Select(x => x.Name) — i.e. the view extension's display Name property, not the NuGet/package name.
- Package (
pkg.json) name:DynamoAssistant - View extension
Name(what this test asserts):Autodesk Assistant(with a space)
I confirmed the value from the shipped AutodeskAssistantViewExtension.dll (Dynamo.AutodeskAssistant.AutodeskAssistantViewExtension), and its Name returns "Autodesk Assistant". So "Autodesk Assistant" is correct here — changing it to "DynamoAssistant" would make the test fail. Keeping it as-is. 🙂
Update the DynamoVisualProgramming.DynamoAssistant built-in package reference from the pre-release [0.2.2] to the [0.3.1] release now published on public nuget.org. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
Pull request overview
This PR integrates the DynamoVisualProgramming.DynamoAssistant NuGet into DynamoCoreWpf and ships it as a built-in package under Built-In Packages\packages\DynamoAssistant, following the existing “consume NuGet as built-in package” pattern used for DynamoMCP/PythonNet3Engine.
Changes:
- Adds a pinned
PackageReferenceforDynamoVisualProgramming.DynamoAssistantand a post-build target that copies the NuGet’s packaged payload into the built-in packages output folder. - Updates the GitHub
check_file_version.ps1script to exclude DynamoAssistant’s independently-versioned binaries from Dynamo version checks. - Updates PackageManager-related UI/view-extension tests to account for the additional built-in package and view extension.
Reviewed changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
src/DynamoCoreWpf/DynamoCoreWpf.csproj |
Adds the DynamoAssistant NuGet reference and a build target to copy its packaged contents into the built-in packages output. |
.github/scripts/check_file_version.ps1 |
Excludes DynamoAssistant binaries from the file-version enforcement script. |
test/DynamoCoreWpf2Tests/PackageManager/PackageManagerViewExtensionTests.cs |
Updates expected requested-extension counts to reflect the new built-in view extension. |
test/DynamoCoreWpf2Tests/PackageManager/PackageManagerUITests.cs |
Updates expected built-in package count from 3 to 4. |
test/DynamoCoreWpf2Tests/PackageManager/PackageManagerExtensionLoadingTests.cs |
Adds “Autodesk Assistant” to the expected loaded view-extension names. |
| different DynamoVisualProgramming.* API. Bump in lockstep with the AA release for this line. | ||
| --> | ||
| <ItemGroup> | ||
| <PackageReference Include="DynamoVisualProgramming.DynamoAssistant" Version="[0.3.1]" GeneratePathProperty="true" ExcludeAssets="all" /> |
There was a problem hiding this comment.
Description just updated
|
DynamoSelfServe passed in the next: https://c007.cloudbees-ci.autodesk.com/job/DYNCI/job/Dynamo/job/DynamoSelfServe/job/pullRequestValidation/336/ |
|



Purpose
DYN-10450: Consume the Autodesk Assistant NuGet (
DynamoVisualProgramming.DynamoAssistant, published to nuget.org) and ship it as a built-in package underBuilt-In Packages\packages\DynamoAssistant, so Dynamo no longer depends on a separately-installed copy under the user'sAppDatapackages folder. Mirrors the DynamoMCP (#17165) / PythonNet3Engine NuGet-consume pattern.Key changes:
src/DynamoCoreWpf/DynamoCoreWpf.csproj: pinnedDynamoVisualProgramming.DynamoAssistantPackageReferenceto the published[0.3.1](GeneratePathProperty+ExcludeAssets="all"), plus aBuildDynamoAssistantDynamoPackagetarget that copies the package verbatim intoBuilt-In Packages\packages\DynamoAssistant..github/scripts/check_file_version.ps1: exclude the Assistant package's independently-versioned binaries (same treatment as TuneUp / DSPythonNet3 / DynamoMCP) —AutodeskAssistantViewExtension.dll, its resources,AdpSDKCSharpWrapper.dll,Analytics.NET.ADP.dll,Analytics.NET.Core.dll(Newtonsoft.Json.dllis already excluded)."Autodesk Assistant"to the loaded-view-extension list, bumpedExpectedNumberOfBuiltInPackages3→4, andRequestedExtensions3→4 / 4→5.Notes:
[0.3.1]release and should be bumped in lockstep with future Autodesk Assistant releases for this line.PublicAPI.Unshipped.txtis unaffected.Declarations
Check these if you believe they are true
Release Notes
Autodesk Assistant is now shipped as a built-in package in Dynamo.
Reviewers
@edwin-vasquez-ucaldas
FYIs
(N/A)