project-system icon indicating copy to clipboard operation
project-system copied to clipboard

launchSettings.json should be shareable and configuration dependent

Open ViktorHofer opened this issue 7 years ago • 1 comments

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

ViktorHofer avatar Sep 21 '18 14:09 ViktorHofer

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.

ViktorHofer avatar Sep 25 '18 12:09 ViktorHofer