Modernize MIST for .NET 10 and replace PowerShell install scripts with NuGet build integration#17
Draft
Modernize MIST for .NET 10 and replace PowerShell install scripts with NuGet build integration#17
Conversation
…stall scripts with NuGet props/targets Agent-Logs-Url: https://github.com/mathtone/MIST/sessions/ab5d4939-5085-49bc-9512-6130ad9f811e Co-authored-by: mathtone <7595818+mathtone@users.noreply.github.com>
Agent-Logs-Url: https://github.com/mathtone/MIST/sessions/ab5d4939-5085-49bc-9512-6130ad9f811e Co-authored-by: mathtone <7595818+mathtone@users.noreply.github.com>
Copilot created this pull request from a session on behalf of
mathtone
May 1, 2026 11:30
View session
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
MIST was stuck on the legacy NuGet 2.x install model: a PowerShell
Install.ps1mutated the consumer's.csprojto register the IL-weaving build task, and target frameworks stopped atnet8.0. This change extends framework coverage through .NET 10 and moves integration to the modernbuild/+buildTransitive/props/targets convention so a plain<PackageReference>is enough.Target frameworks
Mathtone.MIST(attribute library):netstandard2.0;net472;net6.0;net8.0;net9.0;net10.0.Mathtone.MIST.Builder(task assembly): multi-targetednet472(full-framework MSBuild) +net8.0(.NET SDK); selected at build time via$(MSBuildRuntimeType).NuGet integration (replaces the PowerShell scripts)
build/Mathtone.MIST.Builder.props+.targets, auto-imported by NuGet, register<UsingTask>and runNotificationWeaverBuildTaskAfterTargets="Build".tasks/<tfm>/viaTargetsForTfmSpecificContentInPackage(per-TFM packing).buildTransitive/files forward tobuild/, so transitive references work too.Consumer install collapses to:
Removals
Mathtone.MIST.Builder.Scripts/(Install.ps1,Uninstall.ps1,.pssproj).Tests/Mathtone.MIST.Tests.NugetScriptTest/— its sole purpose was validating the PS install path.Mathtone.MIST.Builder.csproj.old.Mathtone.MIST.sln.Incidental fixes
NotificationWeaver.FindPdbPathForreturned a bare filename with no directory, which broke underdotnet build(where the task's cwd ≠ output dir) and would have blocked the new auto-integration. Now combines the assembly's directory with the pdb name..gitignore: whitelistMathtone.MIST.Builder/build/andbuildTransitive/(the catch-allbuild/rule was hiding the new package files); ignore.nuget/bootstrapped by net472 restore.SuppressNotifytypo (wasSupressNotify).