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>