Skip to content

Instantly share code, notes, and snippets.

@shanji97
Created March 19, 2026 09:35
Show Gist options
  • Select an option

  • Save shanji97/28c36dd7cdd0c1ed25390fc1c0868d7a to your computer and use it in GitHub Desktop.

Select an option

Save shanji97/28c36dd7cdd0c1ed25390fc1c0868d7a to your computer and use it in GitHub Desktop.
Project setup using props files
<Project>
<!-- Shared configuration for .NET 10+ projects in the repo -->
<PropertyGroup>
<!-- Targeting -->
<TargetFramework>net10.0</TargetFramework>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
<LangVersion>latest</LangVersion>
<!-- Docker support -->
<DockerDefaultTargetOS>Linux</DockerDefaultTargetOS>
<!-- Code quality -->
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
<AnalysisLevel>latest</AnalysisLevel>
<!-- Assembly metadata -->
<Company>Media Forge Productions</Company>
<Authors>Aleksander Kovach</Authors>
<RepositoryUrl>Url</RepositoryUrl>
<RepositoryType>string</RepositoryType>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
<IsAotCompatible>True</IsAotCompatible>
<CheckForOverflowUnderflow>True</CheckForOverflowUnderflow>
<FileAlignment>512</FileAlignment>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
<CheckForOverflowUnderflow>True</CheckForOverflowUnderflow>
<FileAlignment>512</FileAlignment>
</PropertyGroup>
</Project>
<Project>
<PropertyGroup>
<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
</PropertyGroup>
<ItemGroup>
<PackageVersion Include="AspNetCore.HealthChecks.NpgSql" Version="9.0.0" />
<PackageVersion Include="FluentValidation" Version="12.1.1" />
<PackageVersion Include="FluentValidation.AspNetCore" Version="11.3.1" />
<PackageVersion Include="FluentValidation.DependencyInjectionExtensions" Version="12.1.1" />
<PackageVersion Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="10.0.1" />
<PackageVersion Include="Microsoft.AspNetCore.Cryptography.KeyDerivation" Version="10.0.1" />
<PackageVersion Include="Microsoft.AspNetCore.OpenApi" Version="10.0.1" />
<PackageVersion Include="Microsoft.Extensions.Caching.Hybrid" Version="10.1.0" />
<PackageVersion Include="Microsoft.VisualStudio.Azure.Containers.Tools.Targets" Version="1.23.0" />
<PackageVersion Include="Newtonsoft.Json" Version="13.0.4" />
<PackageVersion Include="Npgsql" Version="10.0.1" />
<PackageVersion Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="10.0.0" />
<PackageVersion Include="RestSharp" Version="113.0.0" />
<PackageVersion Include="Scalar.AspNetCore" Version="2.11.9" />
</ItemGroup>
</Project>
<Project Sdk="Microsoft.NET.Sdk.Web">
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" />
<PackageReference Include="Newtonsoft.Json" />
<PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" />
<PackageReference Include="RestSharp" />
</ItemGroup>
</Project>
<Solution>
<Folder Name="/Solution Items/">
<File Path="Directory.Build.Props" />
<File Path="Directory.Packages.Props" />
</Folder>
<Project Path="MediaForgeProductions.Core/MediaForgeProductions.Core.csproj" />
<Project Path="MediaForgeProductions/MediaForgeProductions.csproj" />
</Solution>
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<!-- Trim features -->
<PublishTrimmed>True</PublishTrimmed>
<TrimmerRootAssembly>Newtonsoft.Json</TrimmerRootAssembly>
<!-- End trim features -->
</PropertyGroup>
<ItemGroup>
<PackageReference Include="FluentValidation" />
<PackageReference Include="FluentValidation.DependencyInjectionExtensions" />
<PackageReference Include="Microsoft.AspNetCore.OpenApi" />
<PackageReference Include="Microsoft.VisualStudio.Azure.Containers.Tools.Targets" />
<PackageReference Include="Scalar.AspNetCore" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\MediaForgeProductions.Core\MediaForgeProductions.Core.csproj" />
</ItemGroup>
<ItemGroup>
<Resource Include="Module\User\Resx\CommonPasswords.txt">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Resource>
</ItemGroup>
</Project>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment