Repository navigation
Development Environment
samgerene edited this page Oct 11, 2026
·
3 revisions
The core development team uses JetBrains Rider. The .editorconfig in the root of the repository states the code conventions; Rider, Visual Studio and VS Code read it and show violations while you type. The solution also includes a .DotSettings file with the file header template and naming rules for ReSharper and Rider.
Visual Studio 2022 is also supported.
ArgusTransfer targets .NET 10.0. Install the .NET 10.0 SDK or later.
NuGet is used to manage dependencies. Packages are available on nuget.org.
# Build the solution
dotnet build ArgusTransfer.sln
# Run all tests
dotnet test ArgusTransfer.sln
# Run tests with code coverage
dotnet test ArgusTransfer.sln --no-restore --no-build --verbosity normal \
/p:CollectCoverage=true \
/p:CoverletOutput="../CoverageResults/" \
/p:MergeWith="../CoverageResults/coverage.json" \
/p:CoverletOutputFormat="opencover,json"
# Run a single test by name
dotnet test ArgusTransfer.Tests --filter "FullyQualifiedName~Verify_that_HealthEndPoint_can_be_read"
# Apply the rules of .editorconfig (formatting, using order, file header, code style)
dotnet format ArgusTransfer.sln
# Check them without changing files (the build of a pull request runs this)
dotnet format ArgusTransfer.sln --verify-no-changes
# Build with warnings as errors (final verification)
dotnet build ArgusTransfer.sln -warnaserror- Language: C# with LangVersion 14.0
-
Explicit usings:
ImplicitUsingsis disabled -- allusingdirectives must be written explicitly - Nullable: disabled in both the main project and tests
- XML doc comments: required on all public types and members
-
Style rules:
.editorconfigsets them as warnings (usingdirectives inside the namespace,this.for instance members, braces always, block-scoped namespaces, naming);dotnet build -warnaserroranddotnet format --verify-no-changesfail on a violation -
License header: every
.csfile starts with the short copyright block (<copyright file="...">with its own file name, the copyright line andSPDX-License-Identifier: Apache-2.0);dotnet formatadds it to a new file -
Testing framework: NUnit with
Assert.Thatsyntax -
Test class naming:
{ClassName}TestFixture -
Test method naming:
Verify_that_{scenario_in_snake_case}
copyright @ Sam Gerené