Legacy .NET agent - Scanning a build using MSBuild
The SeaLights .NET agent can be integrated with MSBuild to scan the binary code and provide the SeaLights server with the build information.
Generating a session ID
Before running the build scan and tests, you need to create a session ID. The session ID is provided for each step in order to link them together as one complete cycle
SL.DotNet.exe config --appName "myApp" --branchName "master" --buildName $(Get-Date -Format "yyyyMMdd_HHmm") --includeNamespace myNameSpace.* --buildSessionIdFile buildSessionId.txt
Automatic setup
The SeaLights agent can automatically set up your MSBuild to work with the SeaLights agent.
SL.DotNet.exe prepareForMsBuild --buildSessionIdFile buildSessionId.txt --workspacePath "C:\path\to\project" --baseDir "C:\path\to\project" --ignoreGeneratedCode true --msBuildVersion 15 --logEnabled true
This command creates a file called 'after.{SOLUTION_FILE_NAME}.targets
' which sits alongside your solution file with all the needed parameters for the Sealights agent to be executed automatically by MSBuild.
See SeaLights .NET - command reference for full parameter details.
Run MSbuild
When running MSBuild, it will identify the above file and cause our agent to come up and report the details needed from the binary files.
Msbuild SlnFolders.sln /t:rebuild
As SeaLights is using the compilation method's bytecode signature (Hash ID) to generate a unique identifier for each method, it is important NOT to recompile the application between the scan command and the deployment. The scanned build's artefact (DLL, EXE) MUST be from the exact same compilation as the one deployed.
In certain cases, integrating our agent as part of MSBuild
causes the build to fail with 'Error MSB4025: The project file could not be loaded. Could not find file ... .metaproj
' message. Please refer to our dedicated troubleshooting article for resolution.