Template Project Structures
NET5 Unit Test CSPROJ Content
<PropertyGroup>
<TargetFramework>net5.0</TargetFramework>
<!-- NoWarn below suppresses NETSDK1138 project-wide -->
<!-- This suppresses the IDE warning that NET5.0 is out of support. -->
<NoWarn>$(NoWarn);NETSDK1138</NoWarn>
<!-- NoWarn below suppresses CS1998 project-wide -->
<!-- This suppresses the IDE warning that the async method lack await. -->
<!-- We default all test methods to async, so the timing and dependency calls are the consistent. -->
<NoWarn>$(NoWarn);CS1998</NoWarn>
<RootNamespace>OGA.HBD_Tests</RootNamespace>
<IsPackable>false</IsPackable>
<IsTestProject>true</IsTestProject>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.6.2" />
<PackageReference Include="MSTest.TestAdapter" Version="3.0.4" />
<PackageReference Include="MSTest.TestFramework" Version="3.0.4" />
<PackageReference Include="coverlet.collector" Version="3.1.2" />
<PackageReference Include="Nanoid" Version="2.1.0" />
<PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
<PackageReference Include="NLog" Version="5.2.8" />
<PackageReference Include="OGA.Common.Lib.NetCore" Version="3.8.0" />
<PackageReference Include="OGA.DomainBase" Version="2.2.6" />
<PackageReference Include="OGA.SharedKernel" Version="3.6.0" />
<PackageReference Include="OGA.Testing.Lib" Version="1.12.0" />
</ItemGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
<DefineConstants>$(DefineConstants);NET5</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
<DefineConstants>$(DefineConstants);NET5</DefineConstants>
</PropertyGroup>
NET6 Unit Test CSPROJ Content
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<IsPackable>false</IsPackable>
<IsTestProject>true</IsTestProject>
<!-- NoWarn below suppresses CS1998 project-wide -->
<!-- This suppresses the IDE warning that the async method lack await. -->
<!-- We default all test methods to async, so the timing and dependency calls are the consistent. -->
<NoWarn>$(NoWarn);CS1998</NoWarn>
<RootNamespace>OGA.HBD_Tests</RootNamespace>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.6.2" />
<PackageReference Include="MSTest.TestAdapter" Version="3.0.4" />
<PackageReference Include="MSTest.TestFramework" Version="3.0.4" />
<PackageReference Include="coverlet.collector" Version="3.2.0">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
<PackageReference Include="Nanoid" Version="2.1.0" />
<PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
<PackageReference Include="NLog" Version="5.2.8" />
<PackageReference Include="OGA.Common.Lib.NetCore" Version="3.8.0" />
<PackageReference Include="OGA.DomainBase" Version="2.2.6" />
<PackageReference Include="OGA.SharedKernel" Version="3.6.0" />
<PackageReference Include="OGA.Testing.Lib" Version="1.12.0" />
</ItemGroup>
NET7 Unit Test CSPROJ Content
<PropertyGroup>
<TargetFramework>net7.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<IsPackable>false</IsPackable>
<IsTestProject>true</IsTestProject>
<!-- NoWarn below suppresses CS1998 project-wide -->
<!-- This suppresses the IDE warning that the async method lack await. -->
<!-- We default all test methods to async, so the timing and dependency calls are the consistent. -->
<NoWarn>$(NoWarn);CS1998</NoWarn>
<RootNamespace>OGA.HBD_Tests</RootNamespace>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.6.2" />
<PackageReference Include="MSTest.TestAdapter" Version="3.0.4" />
<PackageReference Include="MSTest.TestFramework" Version="3.0.4" />
<PackageReference Include="coverlet.collector" Version="3.1.2" />
<PackageReference Include="Nanoid" Version="2.1.0" />
<PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
<PackageReference Include="NLog" Version="5.2.8" />
<PackageReference Include="OGA.Common.Lib.NetCore" Version="3.8.0" />
<PackageReference Include="OGA.DomainBase" Version="2.2.6" />
<PackageReference Include="OGA.SharedKernel" Version="3.6.0" />
<PackageReference Include="OGA.Testing.Lib" Version="1.12.0" />
</ItemGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
<DefineConstants>$(DefineConstants);NET7</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
<DefineConstants>$(DefineConstants);NET7</DefineConstants>
</PropertyGroup>
NET5 CSPROJ Content
<PropertyGroup>
<TargetFramework>net5.0</TargetFramework>
<!-- NoWarn below suppresses NETSDK1138 project-wide -->
<!-- This suppresses the IDE warning that NET5.0 is out of support. -->
<NoWarn>$(NoWarn);NETSDK1138</NoWarn>
<PackageId>OGA.HBD.Lib</PackageId>
<Product>OGA HBD Library</Product>
<Description>OGA Host Bootstrap Document Library</Description>
<AssemblyName>OGA.HBD.Lib</AssemblyName>
<RootNamespace>OGA.HBD</RootNamespace>
<Version>1.0.1</Version>
<AssemblyVersion>1.0.1.1</AssemblyVersion>
<FileVersion>1.0.1.1</FileVersion>
<Authors>Lee White</Authors>
<Company>Lee White</Company>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<IncludeSymbols>true</IncludeSymbols>
<SymbolPackageFormat>snupkg</SymbolPackageFormat>
<SignAssembly>False</SignAssembly>
<GenerateDocumentationFile>True</GenerateDocumentationFile>
<Configurations>DebugWin;ReleaseWin;DebugLinux;ReleaseLinux</Configurations>
<Nullable>enable</Nullable>
</PropertyGroup>
<PropertyGroup Condition="$(Configuration.EndsWith('Win'))">
<DefineConstants>$(DefineConstants);Windows;NET5</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition="$(Configuration.EndsWith('Linux'))">
<DefineConstants>$(DefineConstants);Linux;NET5</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition="$(Configuration.EndsWith('OSX'))">
<DefineConstants>$(DefineConstants);OSX;NET5</DefineConstants>
</PropertyGroup>
NET6 CSPROJ Content
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<PackageId>OGA.HBD.Lib</PackageId>
<Product>OGA HBD Library</Product>
<Description>OGA Host Bootstrap Document Library</Description>
<AssemblyName>OGA.HBD.Lib</AssemblyName>
<RootNamespace>OGA.HBD</RootNamespace>
<Version>1.0.1</Version>
<AssemblyVersion>1.0.1.1</AssemblyVersion>
<FileVersion>1.0.1.1</FileVersion>
<Authors>Lee White</Authors>
<Company>Lee White</Company>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<IncludeSymbols>true</IncludeSymbols>
<SymbolPackageFormat>snupkg</SymbolPackageFormat>
<SignAssembly>False</SignAssembly>
<GenerateDocumentationFile>True</GenerateDocumentationFile>
<Configurations>DebugWin;ReleaseWin;DebugLinux;ReleaseLinux</Configurations>
<Nullable>enable</Nullable>
</PropertyGroup>
<PropertyGroup Condition="$(Configuration.EndsWith('Win'))">
<DefineConstants>$(DefineConstants);Windows;NET6</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition="$(Configuration.EndsWith('Linux'))">
<DefineConstants>$(DefineConstants);Linux;NET6</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition="$(Configuration.EndsWith('OSX'))">
<DefineConstants>$(DefineConstants);OSX;NET6</DefineConstants>
</PropertyGroup>
NET7 CSPROJ Content
<PropertyGroup>
<TargetFramework>net7.0</TargetFramework>
<PackageId>OGA.HBD.Lib</PackageId>
<Product>OGA HBD Library</Product>
<Description>OGA Host Bootstrap Document Library</Description>
<AssemblyName>OGA.HBD.Lib</AssemblyName>
<RootNamespace>OGA.HBD</RootNamespace>
<Version>1.0.1</Version>
<AssemblyVersion>1.0.1.1</AssemblyVersion>
<FileVersion>1.0.1.1</FileVersion>
<Authors>Lee White</Authors>
<Company>Lee White</Company>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<IncludeSymbols>true</IncludeSymbols>
<SymbolPackageFormat>snupkg</SymbolPackageFormat>
<SignAssembly>False</SignAssembly>
<GenerateDocumentationFile>True</GenerateDocumentationFile>
<Configurations>DebugWin;ReleaseWin;DebugLinux;ReleaseLinux</Configurations>
<Nullable>enable</Nullable>
</PropertyGroup>
<PropertyGroup Condition="$(Configuration.EndsWith('Win'))">
<DefineConstants>$(DefineConstants);Windows;NET7</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition="$(Configuration.EndsWith('Linux'))">
<DefineConstants>$(DefineConstants);Linux;NET7</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition="$(Configuration.EndsWith('OSX'))">
<DefineConstants>$(DefineConstants);OSX;NET7</DefineConstants>
</PropertyGroup>