Example repository with C# and JS/TS with build orchestration via dotnet
(.csproj
and .esproj
).
The workspace (solution) has client
and server
directories separated to simplify the build process.
Specifically, they each have their own Directory.*
files.
Most other configuration files live in the root directory.
The solution view offers an alternative display of the workspace.
It reorganizes the root configuration files into client
, server
, and shared
under the files
solution folder.
It groups all projects together under the projects
solution folder (no client
and server
separation).
The workspace uses the standard dotnet
targets for both .NET and npm.
restore
installs dependenciesbuild
compiles, lints, and builds the projectstest
runs unit tests with coverage
.NET uses build
for Analyzers and formatting (via CSharpier.MSBuild
), so npm uses build
for ESLint, tsc, and Prettier.
dotnet format
exists to help auto-fix, but is not used to verify the build.
Per my understanding, Windows happily accepts /
for path separators.
Unix requires /
.
Thus, this workspace uses /
in all configuration files except the *.sln
file which uses \
.
This preserves the IDE edits made to the *.sln
file.