project-system
project-system copied to clipboard
launchSettings.json should be shareable and configuration dependent
Currently there is no easy way to share launchSettings.json file. You need to create your own target and copy it into the project directory, which is far from ideal. Right now in corefx we live build the launchSettings.json file when building the test assembly with input and outputs (to not overwrite user inputs after a sequential build): https://github.com/dotnet/buildtools/blob/0c10cac8b187e43fc8782975465a0474fcb0d3c3/src/Microsoft.DotNet.Build.Tasks/PackageFiles/tests.targets#L613
Also it would be great if we could have profiles based on selected configurations. Ie I want to see profile A and C when the netcoreapp configuration is selected and B and D when netfx is selected. Either via a property inside the launchSettings.json file or by having different files depending on the configuration.
cc @weshaggard @eerhardt @BillHiebert @davkean
Ideally there would be a way to condition a launch profile with msbuild properties, i.e.
{
"profiles": {
"xunit-performance": {
"condition": "'$(IsPerformanceTestProject)' == 'true'",
...
},
"code coverage": {
},
...
}
}
This would enable us to provide different launch profiles for different scenarios, i.e. code coverage or performance runs (if the project supports it) and get rid of the command line dependency.