Skip to content

ci-check srv-t3-sdk (temporary, closed after the check) - #8

Closed
xperiandri wants to merge 12 commits into
mainfrom
ci-check/srv-t3-sdk
Closed

xperiandri wants to merge 12 commits into
mainfrom
ci-check/srv-t3-sdk

Conversation

@xperiandri

Copy link
Copy Markdown
Owner

Temporary pull request inside the fork: it makes the real workflows of the repository run on a clean runner for this commit. It is closed when the check is done.

xperiandri and others added 12 commits October 27, 2026 02:21
`dotnet sln migrate` produced `StringResourceVisualizer.slnx` from `StringResourceVisualizer.sln`, and the old file is removed. The projects and the solution items are the same. The project ids are the ones of the old solution, which is what Visual Studio writes into the file itself. The `.slnx` format is XML, much shorter than the `.sln`, and designed to reduce merge conflicts (https://devblogs.microsoft.com/visualstudio/new-simpler-solution-file-format/).

Building it needs the .NET SDK 9.0.200 or later, or MSBuild from Visual Studio or Build Tools 17.13 or later.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
`.github/copilot-instructions.md` is the single source for GitHub Copilot, Claude Code and other agents: the build and test commands, the structure, how the adornments work, the parts that belong to the original author, the rules for Visual Studio extensions and the C# guidelines. `CLAUDE.md` imports it and `AGENTS.md` points to it.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
`create-pr-description.prompt.md` compares the branch with `origin/main` and fills in the pull request template. This repository has no template, so the prompt falls back to a default structure.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
A custom agent for the extension code, based on `madskristensen/CustomAgents`. It refers to the project instructions and to the skills instead of repeating them.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Six skills of `madskristensen/vs-agent-plugins` (commit e971073e2163d4bc66d3e455e102c316e01c94c6) that apply to this extension: `handling-async-threading`, `handling-extension-errors`, `adding-editor-adornments`, `listening-text-view-events`, `adding-options-settings` and `handling-solution-events`. The content is unchanged. The Apache License 2.0 of the upstream repository comes with them, and `README.md` names the source.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Git cannot store a Windows junction, so `Directory.Build.targets` creates it when Visual Studio loads the project, and `.gitignore` excludes it. A command-line build skips the target. `Directory.Build.targets` is a solution item.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
`.claude/settings.json` registers the `vs-agent-plugins` marketplace and enables `vs-extensibility-skills`, the whole catalogue of 40 skills. If Claude Code does not offer to install it, `claude plugin install vs-extensibility-skills@vs-agent-plugins --scope project` does.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
The job runs on `windows-2022`: the VSIX builds only with the MSBuild of Visual Studio, and the extension targets Visual Studio 2022. The integrated firewall of the agent is not compatible with Windows, so the agent runs without it.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
`.mcp.json` lists `GitHub` for Visual Studio and Claude Code, and `Microsoft Learn` for Claude Code only, because Visual Studio bundles that server itself.

The GitHub server does not support the OAuth dynamic client registration that Claude Code needs, so `.claude/scripts/github-mcp-headers.ps1` passes it the token that Git Credential Manager already stores. `.mcp.json` is a solution item.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Both projects use `Microsoft.NET.Sdk` with `net481` now, and `VSSDKBuildToolsAutoSetup` with `Microsoft.VSSDK.BuildTools` 18.5 builds the VSIX. The source files are included by globbing; the extension project excludes the folder of the test project, which lies inside its own folder. `Properties\AssemblyInfo.cs` stays, because the version comes from the `Vsix` constants, and the output stays in `bin\Debug\` and `bin\Release\`.

The signing target is called `SignAndCopyVsix` and runs after `Build`. As `AfterBuild` it would be replaced by the SDK targets and never run.

The packages and their versions are the same, apart from the added `Microsoft.VSSDK.BuildTools`.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Visual Studio 2026 18.5 and later deploys an SDK-style VSIX project to the Experimental instance on F5 only when the solution has a `<Deploy>` element for it.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
New files need no entry in the project any more, only a file that goes into the VSIX needs a `Content` item. The .NET Framework 4.8.1 targeting pack is not needed, the signing target has a new name, and F5 needs Visual Studio 2026 18.5 or later.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@xperiandri xperiandri closed this Oct 27, 2026
@xperiandri
xperiandri deleted the ci-check/srv-t3-sdk branch October 27, 2026 01:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant