원클릭으로
nuget-packaging
NuGet packaging patterns for the Aspire.Hosting.Minecraft package
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
NuGet packaging patterns for the Aspire.Hosting.Minecraft package
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
How to create reference documentation for complex coordinate systems and building constraints
Prevents subsystems from modifying blocks within placed building volumes using 3D bounding box clipping
Correctly place directional blocks (doors, levers, torches, signs, banners, stairs) in Minecraft via RCON
Ensures all build areas are chunk-loaded before placing blocks via /fill commands
Pattern for attaching infrastructure (canals, beacons, paths) to each building in the village
Validate side effects after build/deploy operations with graceful degradation
| name | nuget-packaging |
| description | NuGet packaging patterns for the Aspire.Hosting.Minecraft package |
| domain | dotnet-nuget |
| confidence | high |
| source | manual |
These patterns apply to the single NuGet package produced by this repo: Fritz.Aspire.Hosting.Minecraft (PackageId). The RCON library (Aspire.Hosting.Minecraft.Rcon) is embedded into this package. The Worker project is not packaged — it runs as a standalone service. They ensure packages are NuGet.org-ready with reproducible builds.
Only Aspire.Hosting.Minecraft is packable (IsPackable=true). The Rcon project is embedded via PrivateAssets="All" on the ProjectReference plus TargetsForTfmSpecificBuildOutput to include the DLL in the lib folder. The Worker project is IsPackable=false — it's a standalone service consumers reference directly.
All PackageReference entries must have exact pinned versions (e.g., Version="13.1.0"). Never use Version="*" or version ranges. NuGet.org rejects packages with floating version references and they break reproducible builds.
Shared metadata (Authors, License, RepositoryUrl) and build hardening properties live in Directory.Build.props at the repo root. Individual csproj files only add project-specific properties (PackageId, Version, Description, PackageTags, IsPackable).
Every packable project inherits these from Directory.Build.props:
GenerateDocumentationFile — ships XML docs in the nupkgEnablePackageValidation — catches breaking API changes between versionsDeterministic — ensures byte-identical builds from same sourceContinuousIntegrationBuild (CI-only) — embeds correct source paths for SourceLinkEmbedUntrackedSources — ensures all source files are available in SourceLinkMicrosoft.SourceLink.GitHub — enables debugger source mapping to GitHubThe single packable project (Aspire.Hosting.Minecraft) has its own README.md in the project directory, included in the nupkg via:
<None Include="README.md" Pack="true" PackagePath="\" />
The PackageReadmeFile property in Directory.Build.props is set to README.md. Non-packable projects do not pack READMEs.
dotnet restore
dotnet build -c Release
dotnet pack -c Release -o nupkgs
Check for: zero warnings on src projects, correct package sizes, no floating versions in generated nuspec.
Version="*" — will be rejected by NuGet.org and breaks reproducibilityEnablePackageValidation — won't catch breaking API changes between releasesMicrosoft.NET.Sdk.Worker and runs as a separate process; it can't be a DLL inside the hosting package