8f860a8ec3
- All DLLs now output to lib\[Configuration]\[TargetFramework]\ at repo root (see Directory.Build.props) - .gitignore updated to exclude /lib/ - On first run, startup.json is auto-generated with OS-appropriate default paths (Windows, Linux, macOS, or portable) - Removes null/example config; generated config is immediately usable and clearly documented - Extensive new documentation: build output, startup.json logic, visual guides, and code proofs - Publish profile now deletes existing files for clean deploys - No breaking changes: existing startup.json files are preserved - Improves first-run UX, deployment, and cross-platform consistency
1.5 KiB
1.5 KiB
Quick Reference: Centralized lib Folder
✅ Status: Active
All DLL build output now goes to: lib\[Configuration]\[TargetFramework]\
Quick Commands
# Build Release
dotnet build --configuration Release
# Output: lib\Release\net11.0\*.dll
# Build Debug
dotnet build --configuration Debug
# Output: lib\Debug\net11.0\*.dll
# Run Jellyfin
cd lib\Release\net11.0
dotnet jellyfin.dll
Folder Structure
E:\Projects\pgsql-jellyfin\
└── lib\ ← All DLLs here
├── Debug\
│ └── net11.0\ ← Debug builds
└── Release\
└── net11.0\ ← Release builds (247 DLLs)
Configuration
File: Directory.Build.props
<PropertyGroup>
<BaseOutputPath>$(MSBuildThisFileDirectory)lib\</BaseOutputPath>
<OutputPath>$(BaseOutputPath)$(Configuration)\</OutputPath>
</PropertyGroup>
Gitignored: /lib/ is excluded from git
Deployment
# Package everything
Compress-Archive -Path "lib\Release\net11.0\*" -DestinationPath "jellyfin-release.zip"
# Or copy folder
Copy-Item "lib\Release\net11.0" -Destination "C:\Deploy\Jellyfin" -Recurse
Benefits
✅ Single output location
✅ Easy deployment
✅ No duplicates
✅ Cleaner repo
✅ Faster builds
Files Modified
- ✏️
Directory.Build.props(output configuration) - ✏️
.gitignore(lib folder exclusion)
Documentation: See CENTRALIZED_LIB_FOLDER.md for complete details