fix(templates): use shipped Orleans package version - #10690
Merged
ReubenBond merged 1 commit intoAug 20, 2026
Merged
Conversation
Stage template manifests during packing and set their default Orleans version from the template package version, preserving prerelease labels and a usable local development default. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Contributor
There was a problem hiding this comment.
Pull request overview
Updates the Orleans project templates packaging so generated projects default to the same Orleans package version as the installed Microsoft.Orleans.Templates NuGet package, avoiding stale hard-coded versions in newly created projects.
Changes:
- Switch the checked-in template manifests’ default Orleans version to a development placeholder (
10.0.0-dev) for local template development. - Add a pack-time MSBuild target which stages the two template manifests and replaces the development placeholder with
$(PackageVersion), validating the placeholder appears exactly once per manifest. - Update the template README to document that generated projects default to the version shipped with the template package (including prerelease versions).
Show a summary per file
| File | Description |
|---|---|
| templates/Microsoft.Orleans.Templates/templates/orleans/.template.config/template.json | Updates the checked-in default Orleans version to the development placeholder used for pack-time replacement. |
| templates/Microsoft.Orleans.Templates/templates/orleans-web/.template.config/template.json | Updates the checked-in default Orleans version to the development placeholder used for pack-time replacement. |
| templates/Microsoft.Orleans.Templates/README.md | Clarifies that template output uses the Orleans version shipped in the template package, and that --orleans-version overrides it. |
| templates/Microsoft.Orleans.Templates/Microsoft.Orleans.Templates.csproj | Adds pack-time staging/rewrite of template manifests via a Roslyn MSBuild task and includes the rewritten manifests in the nupkg. |
Review details
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
- Files reviewed: 4/4 changed files
- Comments generated: 0
- Review effort level: Lite
This was referenced Aug 28, 2026
Merged
Merged
This was referenced Sep 4, 2026
This was referenced Sep 8, 2026
Closed
This was referenced Sep 16, 2026
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 subscribe to this conversation on GitHub.
Already have an account?
Sign in.
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.
Problem
The
orleansandorleans-webtemplates hard-code Orleans 10.2.2, so newly generated projects can reference a release older than the installed template package.Solution
Stage both template manifests through the NuGet pack extension point and set their default Orleans version from
$(PackageVersion). The checked-in manifests use the repository's10.0.0-devversion for local template development, while packed artifacts inherit their exact package version, including prerelease labels.The pack target validates that each manifest contains exactly one expected development default before replacing it, so manifest drift fails packaging instead of silently shipping a stale version.
The template README now documents that generated projects default to the Orleans version shipped with the template package.
Microsoft Reviewers: Open in CodeFlow