Enable WSL solution builds
This commit is contained in:
@@ -8,6 +8,8 @@ The solution `LIAM.sln` covers all Matrix42 integration projects. Runtime code c
|
|||||||
|
|
||||||
Run `nuget restore LIAM.sln` once per clone to hydrate packages. Build locally with `msbuild LIAM.sln /p:Configuration=Debug`; use `Release` for deployable artifacts. For a clean rebuild, execute `msbuild LIAM.sln /t:Clean,Build /p:Configuration=Debug`. Visual Studio can open `LIAM.sln`, with `LiamM42WebApi` as the suggested startup project. When self-hosting the API, deploy it to IIS or IIS Express pointing at the project folder.
|
Run `nuget restore LIAM.sln` once per clone to hydrate packages. Build locally with `msbuild LIAM.sln /p:Configuration=Debug`; use `Release` for deployable artifacts. For a clean rebuild, execute `msbuild LIAM.sln /t:Clean,Build /p:Configuration=Debug`. Visual Studio can open `LIAM.sln`, with `LiamM42WebApi` as the suggested startup project. When self-hosting the API, deploy it to IIS or IIS Express pointing at the project folder.
|
||||||
|
|
||||||
|
On WSL/Linux, use the user-local `msbuild` wrapper that delegates to `dotnet msbuild` with the local .NET Framework reference assemblies under `~/.local/share/dotnet-framework-reference-assemblies/`. The expected verification command there is still `msbuild LIAM.sln /p:Configuration=Debug`. `LiamWorkflowDiagnostics` is a WPF diagnostics tool and is intentionally skipped on non-Windows builds; validate that project on Windows with Visual Studio or Windows MSBuild. If you only need to validate the NTFS provider in isolation, `msbuild LiamNtfs/LiamNtfs.csproj /p:Configuration=Debug` is the fastest targeted check.
|
||||||
|
|
||||||
## Coding Style & Naming Conventions
|
## Coding Style & Naming Conventions
|
||||||
|
|
||||||
Follow C# Allman braces with four-space indentation. Maintain `PascalCase` for classes, members, and constants (e.g., `constFragmentNameConfigProviderBase`), and `camelCase` for locals and parameters. Keep `using` directives sorted and trimmed. New projects should link `SharedAssemblyInfo.cs` to align assembly metadata. Format via Visual Studio or `dotnet format` if the SDK is available.
|
Follow C# Allman braces with four-space indentation. Maintain `PascalCase` for classes, members, and constants (e.g., `constFragmentNameConfigProviderBase`), and `camelCase` for locals and parameters. Keep `using` directives sorted and trimmed. New projects should link `SharedAssemblyInfo.cs` to align assembly metadata. Format via Visual Studio or `dotnet format` if the SDK is available.
|
||||||
|
|||||||
@@ -132,6 +132,6 @@
|
|||||||
<!--<Exec Command="xcopy.exe /S ..\LiamMsTeams\bin\Debug\LiamMsTeams.dll bin\Debug" ContinueOnError="false" WorkingDirectory="." />-->
|
<!--<Exec Command="xcopy.exe /S ..\LiamMsTeams\bin\Debug\LiamMsTeams.dll bin\Debug" ContinueOnError="false" WorkingDirectory="." />-->
|
||||||
</Target>
|
</Target>
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<PostBuildEvent>IF $(ConfigurationName) == Debug_and_copy start XCOPY /Y /R "$(ProjectDir)$(OutDir)Liam*.dll" "\\srvwsm001.imagoverum.com\c$\Program Files (x86)\Matrix42\Matrix42 Workplace Management\svc\bin"</PostBuildEvent>
|
<PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' and '$(Configuration)' == 'Debug_and_copy' ">XCOPY /Y /R "$(ProjectDir)$(OutDir)Liam*.dll" "\\srvwsm001.imagoverum.com\c$\Program Files (x86)\Matrix42\Matrix42 Workplace Management\svc\bin"</PostBuildEvent>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
</Project>
|
</Project>
|
||||||
@@ -41,6 +41,9 @@
|
|||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<ApplicationIcon>C4IT.ico</ApplicationIcon>
|
<ApplicationIcon>C4IT.ico</ApplicationIcon>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition=" '$(MSBuildRuntimeType)' == 'Core' ">
|
||||||
|
<GenerateResourceUsePreserializedResources>true</GenerateResourceUsePreserializedResources>
|
||||||
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Reference Include="Newtonsoft.Json, Version=6.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
|
<Reference Include="Newtonsoft.Json, Version=6.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
|
||||||
<SpecificVersion>False</SpecificVersion>
|
<SpecificVersion>False</SpecificVersion>
|
||||||
@@ -61,6 +64,11 @@
|
|||||||
<Reference Include="System.Windows.Forms" />
|
<Reference Include="System.Windows.Forms" />
|
||||||
<Reference Include="System.Xml" />
|
<Reference Include="System.Xml" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
<ItemGroup Condition=" '$(MSBuildRuntimeType)' == 'Core' and Exists('$(MSBuildBinPath)/System.Resources.Extensions.dll') ">
|
||||||
|
<Reference Include="System.Resources.Extensions">
|
||||||
|
<HintPath>$(MSBuildBinPath)/System.Resources.Extensions.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Compile Include="..\..\Common Code\Configuration\C4IT.Configuration.ConfigHelper.cs">
|
<Compile Include="..\..\Common Code\Configuration\C4IT.Configuration.ConfigHelper.cs">
|
||||||
<Link>Common\C4IT.Configuration.ConfigHelper.cs</Link>
|
<Link>Common\C4IT.Configuration.ConfigHelper.cs</Link>
|
||||||
|
|||||||
@@ -117,4 +117,13 @@
|
|||||||
<None Include="App.config" />
|
<None Include="App.config" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||||
|
<Target Name="Build" Condition=" '$(OS)' != 'Windows_NT' ">
|
||||||
|
<Message Text="Skipping LiamWorkflowDiagnostics on non-Windows because the WPF diagnostics tool requires Windows MSBuild." Importance="high" />
|
||||||
|
<MakeDir Directories="$(OutputPath)" />
|
||||||
|
<WriteLinesToFile File="$(OutputPath)LiamWorkflowDiagnostics.skipped.txt" Lines="Skipped on non-Windows because the WPF diagnostics tool requires Windows MSBuild." Overwrite="true" />
|
||||||
|
</Target>
|
||||||
|
<Target Name="Rebuild" Condition=" '$(OS)' != 'Windows_NT' " DependsOnTargets="Clean;Build" />
|
||||||
|
<Target Name="Clean" Condition=" '$(OS)' != 'Windows_NT' ">
|
||||||
|
<Delete Files="$(OutputPath)LiamWorkflowDiagnostics.skipped.txt" />
|
||||||
|
</Target>
|
||||||
</Project>
|
</Project>
|
||||||
Reference in New Issue
Block a user