Choosing an MSBuild CopyToOutputDirectory / CopyToPublishDirectory mode: Never, PreserveNewest, Always, and IfDifferent (MSBuild 17.13+), plus $(SkipUnchangedFilesOnCopyAlways). USE FOR: removing the per-build Always copy perf hit; resetting output files mutated between builds. DO NOT USE FOR: general incremental-build diagnosis (use incremental-build); non-MSBuild build systems.
Install
npx skills add dotnet/skills --skill copy-to-output-directorynpx skills add dotnet/skills --skill copy-to-output-directory -a claude-code -gnpx skills add dotnet/skills --skill copy-to-output-directory -a codex -ggemini skills install https://github.com/dotnet/skills.git --path plugins/dotnet-msbuild/skills/copy-to-output-directorygh skill install dotnet/skills copy-to-output-directorygit clone --depth 1 https://github.com/dotnet/skills /tmp/dotnet__skills
mkdir -p ~/.claude/skills ~/.agents/skills
cp -R /tmp/dotnet__skills/plugins/dotnet-msbuild/skills/copy-to-output-directory ~/.claude/skills/copy-to-output-directory # Claude Code
cp -R /tmp/dotnet__skills/plugins/dotnet-msbuild/skills/copy-to-output-directory ~/.agents/skills/copy-to-output-directory # Codex, Cursor, Gemini CLI, Copilot, OpenCode