From 7da23140b89c3d4d89c749d7ffe9e6d6ce06277e Mon Sep 17 00:00:00 2001 From: Bert Date: Thu, 3 Apr 2025 11:38:50 +0200 Subject: [PATCH 1/5] Introduce coverlet DevContainer - Added `devcontainer.json` for .NET 8.0 development environment with VS Code customizations. - Introduced `build-all.sh` script to automate the build process for Coverlet, including cleanup, building projects, and running tests with coverage reporting. --- .devcontainer/devcontainer.json | 49 ++++++++++++++++++++ eng/azure-pipelines-nightly.yml | 2 +- eng/build-all.sh | 79 +++++++++++++++++++++++++++++++++ eng/build.yml | 2 +- global.json | 2 +- 5 files changed, 131 insertions(+), 3 deletions(-) create mode 100644 .devcontainer/devcontainer.json create mode 100644 eng/build-all.sh diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json new file mode 100644 index 000000000..5f5c2e1ff --- /dev/null +++ b/.devcontainer/devcontainer.json @@ -0,0 +1,49 @@ +// For format details, see https://aka.ms/devcontainer.json. For config options, see the +// README at: https://github.com/devcontainers/templates/tree/main/src/dotnet +{ + "name": "coverlet .NET 8.0)", + // Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile + "image": "mcr.microsoft.com/devcontainers/dotnet:1-8.0-bookworm", + "features": { + "ghcr.io/devcontainers/features/dotnet:2": { + "version": "8.0.114", + "additionalVersions": "6.0.428" + } + }, + + // Features to add to the dev container. More info: https://containers.dev/features. + // "features": {}, + + // Use 'forwardPorts' to make a list of ports inside the container available locally. + // "forwardPorts": [5000, 5001], + // "portsAttributes": { + // "5001": { + // "protocol": "https" + // } + // } + + // Use 'postCreateCommand' to run commands after the container is created. + // "postCreateCommand": "dotnet restore", + + // Configure tool-specific properties. + "customizations": { + "vscode": { + "extensions": [ + "ms-dotnettools.vscode-dotnet-runtime", + "visualstudioexptteam.vscodeintellicode", + "GitHub.vscode-pull-request-github", + "ms-dotnettools.csharp", + "ms-dotnettools.dotnet-interactive-vscode", + "ms-dotnettools.csdevkit", + "ms-vscode.powershell", + "ms-azure-devops.azure-pipelines", + "streetsidesoftware.code-spell-checker", + "streetsidesoftware.code-spell-checker-german", + "streetsidesoftware.code-spell-checker-english", + "fernandoescolar.vscode-solution-explorer"] + } + }, + + // Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root. + // "remoteUser": "root" +} diff --git a/eng/azure-pipelines-nightly.yml b/eng/azure-pipelines-nightly.yml index ab78bae71..54b00c9ea 100644 --- a/eng/azure-pipelines-nightly.yml +++ b/eng/azure-pipelines-nightly.yml @@ -10,7 +10,7 @@ steps: - task: UseDotNet@2 inputs: useGlobalJson: true - displayName: Install .NET Core SDK 8.0.113 + displayName: Install .NET Core SDK 8.0.114 - task: NuGetAuthenticate@1 displayName: Authenticate with NuGet feeds diff --git a/eng/build-all.sh b/eng/build-all.sh new file mode 100644 index 000000000..4ddbeaf78 --- /dev/null +++ b/eng/build-all.sh @@ -0,0 +1,79 @@ +#!/bin/bash + +# Build Script for Coverlet +# ------------------------ +# This script provides a complete build environment setup and cleanup for Coverlet development. +# It's designed to support fast branch switching by: +# - Cleaning all temporary build artifacts +# - Removing cached NuGet packages +# - Rebuilding all projects and tests +# - Generating new binlogs for debugging +# +# Key features: +# - Cleans TestResults, bin, obj folders for clean builds +# - Removes cached NuGet packages to prevent version conflicts +# - Builds and packs all Coverlet projects +# - Generates binlogs for build diagnostics +# - Supports CI builds with ContinuousIntegrationBuild=true +# +# Usage: ./scripts/build-all.sh +# +# Note: Run this script after switching branches to ensure a clean development environment + +# Cleanup temp folders and files +echo "Please cleanup temp folder!" +dotnet build-server shutdown +rm -f coverage.cobertura.xml +rm -f coverage.json +rm -f coverage.net8.0.json +rm -f test/coverlet.integration.determisticbuild/*.binlog +rm -rf artifacts + +# Clean nuget packages +rm -rf ~/.nuget/packages/coverlet.msbuild/V1.0.0 +rm -rf ~/.nuget/packages/coverlet.collector/V1.0.0 +find . -type d \( -name "TestResults" -o -name "bin" -o -name "obj" \) -exec rm -rf {} + +find ~/.nuget/packages -type d \( -name "coverlet.msbuild" -o -name "coverlet.collector" -o -name "coverlet.console" \) -name "8.0.0-preview*" -exec rm -rf {} + + +# Build and pack projects +dotnet pack -c Debug src/coverlet.msbuild.tasks/coverlet.msbuild.tasks.csproj /p:ContinuousIntegrationBuild=true +dotnet pack -c Debug src/coverlet.collector/coverlet.collector.csproj /p:ContinuousIntegrationBuild=true +dotnet build -bl:build.binlog /p:ContinuousIntegrationBuild=true + +# Create binlog for tests +dotnet build test/coverlet.collector.tests/coverlet.collector.tests.csproj -bl:build.collector.tests.binlog /p:ContinuousIntegrationBuild=true +dotnet build test/coverlet.core.coverage.tests/coverlet.core.coverage.tests.csproj -bl:build.core.coverage.tests.binlog /p:ContinuousIntegrationBuild=true +dotnet build test/coverlet.core.tests/coverlet.core.tests.csproj -bl:build.coverlet.core.tests.binlog /p:ContinuousIntegrationBuild=true + +# Create nuget packages +dotnet pack -c Debug src/coverlet.msbuild.tasks/coverlet.msbuild.tasks.csproj /p:ContinuousIntegrationBuild=true +dotnet pack -c Debug src/coverlet.collector/coverlet.collector.csproj /p:ContinuousIntegrationBuild=true +dotnet pack -c Debug src/coverlet.console/coverlet.console.csproj /p:ContinuousIntegrationBuild=true +dotnet pack -c Debug src/coverlet.msbuild.tasks/coverlet.msbuild.tasks.csproj /p:ContinuousIntegrationBuild=true +dotnet pack src/coverlet.msbuild.tasks/coverlet.msbuild.tasks.csproj /p:ContinuousIntegrationBuild=true +dotnet pack src/coverlet.collector/coverlet.collector.csproj /p:ContinuousIntegrationBuild=true +dotnet pack src/coverlet.console/coverlet.console.csproj /p:ContinuousIntegrationBuild=true +dotnet pack src/coverlet.msbuild.tasks/coverlet.msbuild.tasks.csproj /p:ContinuousIntegrationBuild=true + +dotnet build-server shutdown + +# Commented out sections converted to shell script comments +: <<'END_COMMENT' +dotnet publish tool/Microsoft.DotNet.RemoteExecutor/tests/Microsoft.DotNet.RemoteExecutor.Tests.csproj + +dotnet test test/coverlet.collector.tests /p:CollectCoverage=true /p:CoverletOutputFormat=opencover /p:Exclude="[coverlet.core.tests.samples.netstandard]*" --results-directory:"./artifacts/Reports" +dotnet test test/coverlet.core.tests /p:CollectCoverage=true /p:CoverletOutputFormat=opencover /p:Exclude="[coverlet.core.tests.samples.netstandard]*" --results-directory:"./artifacts/Reports" +dotnet test test/coverlet.integration.tests /p:CollectCoverage=true /p:CoverletOutputFormat=opencover /p:Exclude="[coverlet.core.tests.samples.netstandard]*" --results-directory:"./artifacts/Reports" +dotnet test test/coverlet.msbuild.tasks.tests /p:CollectCoverage=true /p:CoverletOutputFormat=opencover /p:Exclude="[coverlet.core.tests.samples.netstandard]*" --results-directory:"./artifacts/Reports" + +dotnet test test/coverlet.core.tests/coverlet.core.tests.csproj /p:CollectCoverage=true -c Debug --no-build -bl:test.core.binlog --diag:"artifacts/log/debug/coverlet.core.test.diag.log;tracelevel=verbose" +dotnet test test/coverlet.core.coverage.tests/coverlet.core.coverage.tests.csproj /p:CollectCoverage=true -c Debug --no-build -bl:test.core.coverage.binlog --diag:"artifacts/log/debug/coverlet.core.coverage.test.diag.log;tracelevel=verbose" +dotnet test test/coverlet.msbuild.tasks.tests/coverlet.msbuild.tasks.tests.csproj /p:CollectCoverage=true -c Debug --no-build -bl:test.msbuild.binlog --diag:"artifacts/log/debug/coverlet.msbuild.test.diag.log;tracelevel=verbose" + +dotnet test --no-build -bl:test.binlog /p:CollectCoverage=true /p:CoverletOutputFormat=opencover /p:Exclude="[coverlet.core.tests.samples.netstandard]*,\[coverlet.tests.xunit.extensions]*,\[coverlet.tests.projectsample]*,\[testgen_]*" /p:ExcludeByAttribute="GeneratedCodeAttribute" --diag:"artifacts/log/Debug/coverlet.test.diag.log;tracelevel=verbose" + +dotnet test -c Debug --collect:"XPlat Code Coverage" -- DataCollectionRunSettings.DataCollectors.DataCollector.Configuration.Format=opencover +reportgenerator -reports:"**/*.opencover.xml" -targetdir:"artifacts/reports" -reporttypes:"HtmlInline_AzurePipelines_Dark;Cobertura" -assemblyfilters:"-xunit;-coverlet.testsubject;-Coverlet.Tests.ProjectSample.*;-coverlet.core.tests.samples.netstandard;-coverlet.tests.utils;-coverlet.tests.xunit.extensions;-coverletsamplelib.integration.template;-testgen_*" + +dotnet test test/coverlet.core.remote.tests/coverlet.core.remote.tests.csproj -c Debug /p:CollectCoverage=true /p:CoverletOutputFormat=opencover --diag:"artifacts/log/debug/coverlet.core.remote.test.diag.log;tracelevel=verbose" +END_COMMENT \ No newline at end of file diff --git a/eng/build.yml b/eng/build.yml index 570bd0f2c..8e971f5cc 100644 --- a/eng/build.yml +++ b/eng/build.yml @@ -7,7 +7,7 @@ steps: - task: UseDotNet@2 inputs: useGlobalJson: true - displayName: Install .NET Core SDK 8.0.113 + displayName: Install .NET Core SDK 8.0.114 # create artifact/package folder - pwsh: | diff --git a/global.json b/global.json index 6dfc6666e..0417b6523 100644 --- a/global.json +++ b/global.json @@ -1,5 +1,5 @@ { "sdk": { - "version": "8.0.407" + "version": "8.0.408" } } From 83dff4b133e2bb31fb2ca6849872f33a20c2bd0d Mon Sep 17 00:00:00 2001 From: Bert Date: Thu, 17 Apr 2025 10:56:55 +0200 Subject: [PATCH 2/5] update .NET SDKS --- .devcontainer/devcontainer.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 5f5c2e1ff..3c57db94d 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -1,13 +1,13 @@ // For format details, see https://aka.ms/devcontainer.json. For config options, see the // README at: https://github.com/devcontainers/templates/tree/main/src/dotnet { - "name": "coverlet .NET 8.0)", + "name": "coverlet .NET 9.0)", // Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile - "image": "mcr.microsoft.com/devcontainers/dotnet:1-8.0-bookworm", + "image": "mcr.microsoft.com/devcontainers/dotnet:1-9.0-bookworm", "features": { "ghcr.io/devcontainers/features/dotnet:2": { - "version": "8.0.114", - "additionalVersions": "6.0.428" + "version": "9.0.203", + "additionalVersions": ["6.0.428", "8.0.408"] } }, From ba562b4acd9c38d7ef31c579be37526e60a57548 Mon Sep 17 00:00:00 2001 From: Bert Date: Thu, 17 Apr 2025 10:13:57 +0000 Subject: [PATCH 3/5] update script remove duplicates --- eng/build-all.sh | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) diff --git a/eng/build-all.sh b/eng/build-all.sh index 4ddbeaf78..6903526ab 100644 --- a/eng/build-all.sh +++ b/eng/build-all.sh @@ -59,21 +59,16 @@ dotnet build-server shutdown # Commented out sections converted to shell script comments : <<'END_COMMENT' -dotnet publish tool/Microsoft.DotNet.RemoteExecutor/tests/Microsoft.DotNet.RemoteExecutor.Tests.csproj -dotnet test test/coverlet.collector.tests /p:CollectCoverage=true /p:CoverletOutputFormat=opencover /p:Exclude="[coverlet.core.tests.samples.netstandard]*" --results-directory:"./artifacts/Reports" -dotnet test test/coverlet.core.tests /p:CollectCoverage=true /p:CoverletOutputFormat=opencover /p:Exclude="[coverlet.core.tests.samples.netstandard]*" --results-directory:"./artifacts/Reports" -dotnet test test/coverlet.integration.tests /p:CollectCoverage=true /p:CoverletOutputFormat=opencover /p:Exclude="[coverlet.core.tests.samples.netstandard]*" --results-directory:"./artifacts/Reports" -dotnet test test/coverlet.msbuild.tasks.tests /p:CollectCoverage=true /p:CoverletOutputFormat=opencover /p:Exclude="[coverlet.core.tests.samples.netstandard]*" --results-directory:"./artifacts/Reports" +dotnet test test/coverlet.collector.tests /p:CollectCoverage=true /p:CoverletOutputFormat=opencover /p:Exclude="[coverlet.core.tests.samples.netstandard]*" --results-directory:"./artifacts/Reports" -c debug --no-build -bl:test.collector.binlog --diag:"artifacts/log/debug/coverlet.collector.test.diag.log;tracelevel=verbose" +dotnet test test/coverlet.core.tests /p:CollectCoverage=true /p:CoverletOutputFormat=opencover /p:Exclude="[coverlet.core.tests.samples.netstandard]*" -c debug --no-build -bl:test.core.binlog +dotnet test test/coverlet.core.coverage.tests /p:CollectCoverage=true /p:CoverletOutputFormat=opencover /p:Exclude="[coverlet.core.tests.samples.netstandard]*" -c debug --no-build -bl:test.core.coverage.binlog +dotnet test test/coverlet.msbuild.tasks.tests /p:CollectCoverage=true /p:CoverletOutputFormat=opencover /p:Exclude="[coverlet.core.tests.samples.netstandard]*" -c debug --no-build -bl:test.msbuild.binlog +dotnet test test/coverlet.integration.tests /p:CollectCoverage=true /p:CoverletOutputFormat=opencover /p:Exclude="[coverlet.core.tests.samples.netstandard]*" -c debug --no-build -bl:test.integration.binlog -dotnet test test/coverlet.core.tests/coverlet.core.tests.csproj /p:CollectCoverage=true -c Debug --no-build -bl:test.core.binlog --diag:"artifacts/log/debug/coverlet.core.test.diag.log;tracelevel=verbose" -dotnet test test/coverlet.core.coverage.tests/coverlet.core.coverage.tests.csproj /p:CollectCoverage=true -c Debug --no-build -bl:test.core.coverage.binlog --diag:"artifacts/log/debug/coverlet.core.coverage.test.diag.log;tracelevel=verbose" -dotnet test test/coverlet.msbuild.tasks.tests/coverlet.msbuild.tasks.tests.csproj /p:CollectCoverage=true -c Debug --no-build -bl:test.msbuild.binlog --diag:"artifacts/log/debug/coverlet.msbuild.test.diag.log;tracelevel=verbose" - -dotnet test --no-build -bl:test.binlog /p:CollectCoverage=true /p:CoverletOutputFormat=opencover /p:Exclude="[coverlet.core.tests.samples.netstandard]*,\[coverlet.tests.xunit.extensions]*,\[coverlet.tests.projectsample]*,\[testgen_]*" /p:ExcludeByAttribute="GeneratedCodeAttribute" --diag:"artifacts/log/Debug/coverlet.test.diag.log;tracelevel=verbose" - -dotnet test -c Debug --collect:"XPlat Code Coverage" -- DataCollectionRunSettings.DataCollectors.DataCollector.Configuration.Format=opencover reportgenerator -reports:"**/*.opencover.xml" -targetdir:"artifacts/reports" -reporttypes:"HtmlInline_AzurePipelines_Dark;Cobertura" -assemblyfilters:"-xunit;-coverlet.testsubject;-Coverlet.Tests.ProjectSample.*;-coverlet.core.tests.samples.netstandard;-coverlet.tests.utils;-coverlet.tests.xunit.extensions;-coverletsamplelib.integration.template;-testgen_*" dotnet test test/coverlet.core.remote.tests/coverlet.core.remote.tests.csproj -c Debug /p:CollectCoverage=true /p:CoverletOutputFormat=opencover --diag:"artifacts/log/debug/coverlet.core.remote.test.diag.log;tracelevel=verbose" + +find . -name *.trx && find . -name *.opencover.xml END_COMMENT \ No newline at end of file From b968b33273270a1bfc75dd88d1477488befe9999 Mon Sep 17 00:00:00 2001 From: Bert Date: Thu, 17 Apr 2025 15:12:59 +0200 Subject: [PATCH 4/5] add MTP properties --- test/Directory.Build.props | 4 ++++ test/coverlet.core.tests/coverlet.core.tests.csproj | 2 -- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/test/Directory.Build.props b/test/Directory.Build.props index 4001de71b..a56dd1a4c 100644 --- a/test/Directory.Build.props +++ b/test/Directory.Build.props @@ -4,5 +4,9 @@ true $(NoWarn);NU1301;IDE0007;IDE0008 + + true + true + false diff --git a/test/coverlet.core.tests/coverlet.core.tests.csproj b/test/coverlet.core.tests/coverlet.core.tests.csproj index ff6c28869..200c3793e 100644 --- a/test/coverlet.core.tests/coverlet.core.tests.csproj +++ b/test/coverlet.core.tests/coverlet.core.tests.csproj @@ -4,8 +4,6 @@ net8.0 Exe - true - true true false $(NoWarn);CS8002 From f50b1976bdb42e90cbd24c34c191322e7bae945f Mon Sep 17 00:00:00 2001 From: Bert Date: Thu, 17 Apr 2025 16:39:14 +0200 Subject: [PATCH 5/5] update script --- eng/build.sh | 18 +++++++++++------- test/Directory.Build.props | 4 +++- 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/eng/build.sh b/eng/build.sh index 35b5b75b7..d14cd4fbd 100644 --- a/eng/build.sh +++ b/eng/build.sh @@ -15,19 +15,23 @@ # # Note: Ensure that the .NET SDK is installed and available in the system PATH. +# Build configuration +BUILD_CONFIG="debug" + # Build the project -dotnet build -c debug -bl:build.binlog -dotnet pack -c debug +dotnet build -c $BUILD_CONFIG -bl:build.binlog +dotnet pack -c $BUILD_CONFIG dotnet pack -c release dotnet build-server shutdown # Run tests with code coverage -dotnet test test/coverlet.core.tests/coverlet.core.tests.csproj -c debug --no-build -bl:test.core.binlog /p:CollectCoverage=true /p:CoverletOutputFormat=opencover /p:Exclude="[coverlet.core.tests.samples.netstandard]*%2c[coverlet.tests.projectsample]*" /p:ExcludeByAttribute="GeneratedCodeAttribute" -- --results-directory "artifacts/Reports" --report-xunit-trx --report-xunit-trx-filename "coverlet.core.tests.trx" --diagnostic --diagnostic-output-directory "artifacts/log/debug" --diagnostic-output-fileprefix "coverlet.core.tests" +dotnet test test/coverlet.collector.tests /p:CollectCoverage=true /p:CoverletOutputFormat=opencover /p:Exclude="[coverlet.core.tests.samples.netstandard]*" --results-directory:"./artifacts/reports" --diag:"artifacts/log/${BUILD_CONFIG}/coverlet.collector.test.log;tracelevel=verbose" dotnet build-server shutdown -dotnet test test/coverlet.core.coverage.tests/coverlet.core.coverage.tests.csproj -c debug --no-build -bl:test.core.coverage.binlog /p:CollectCoverage=true /p:CoverletOutputFormat=opencover /p:Exclude="[coverlet.core.tests.samples.netstandard]*%2c[coverlet.tests.projectsample]*" /p:ExcludeByAttribute="GeneratedCodeAttribute" -- --results-directory "artifacts/Reports" --report-xunit-trx --report-xunit-trx-filename "coverlet.core.coverage.tests.trx" --diagnostic --diagnostic-output-directory "artifacts/log/debug" --diagnostic-output-fileprefix "coverlet.core.coverage.tests" +dotnet test test/coverlet.core.tests /p:CollectCoverage=true /p:CoverletOutputFormat=opencover /p:Exclude="[coverlet.core.tests.samples.netstandard]*" --results-directory:"./artifacts/reports" --verbosity detailed --diag ./artifacts/log/${BUILD_CONFIG}/coverlet.core.tests.log dotnet build-server shutdown -dotnet test test/coverlet.msbuild.tasks.tests/coverlet.msbuild.tasks.tests.csproj -c debug --no-build -bl:test.msbuild.binlog /p:CollectCoverage=true /p:CoverletOutputFormat=opencover /p:Exclude="[coverlet.core.tests.samples.netstandard]*%2c[coverlet.tests.projectsample]*" /p:ExcludeByAttribute="GeneratedCodeAttribute" -- --results-directory:"artifacts/Reports" --report-xunit-trx --report-xunit-trx-filename "coverlet.msbuild.tasks.tests.trx" --diagnostic --diagnostic-output-directory "artifacts/log/debug" --diagnostic-output-fileprefix "coverlet.msbuild.tasks.tests" +dotnet test test/coverlet.core.coverage.tests /p:CollectCoverage=true /p:CoverletOutputFormat=opencover /p:Exclude="[coverlet.core.tests.samples.netstandard]*" -- --results-directory "$(pwd)/artifacts/reports" --report-xunit-trx --report-xunit-trx-filename --diagnostic-verbosity ${BUILD_CONFIG} --diagnostic --diagnostic-output-directory "$(pwd)/artifacts/log/${BUILD_CONFIG}" dotnet build-server shutdown -dotnet test test/coverlet.collector.tests/coverlet.collector.tests.csproj -c debug --no-build -bl:test.collector.binlog /p:CollectCoverage=true /p:CoverletOutputFormat=opencover /p:Exclude="[coverlet.core.tests.samples.netstandard]*%2c[coverlet.tests.projectsample]*" /p:ExcludeByAttribute="GeneratedCodeAttribute" --diag:"artifacts/log/debug/coverlet.collector.test.diag.log;tracelevel=verbose" +dotnet test test/coverlet.msbuild.tasks.tests /p:CollectCoverage=true /p:CoverletOutputFormat=opencover /p:Exclude="[coverlet.core.tests.samples.netstandard]*" --results-directory:"./artifacts/reports" --verbosity detailed --diag ./artifacts/log/${BUILD_CONFIG}/coverlet.msbuild.tasks.tests.log dotnet build-server shutdown -dotnet test test/coverlet.integration.tests/coverlet.integration.tests.csproj -c debug --no-build -bl:test.integration.binlog -- --results-directory "artifacts/Reports" --report-xunit-trx --report-xunit-trx-filename "coverlet.integration.tests.trx" --diagnostic --diagnostic-output-directory "artifacts/log/debug" --diagnostic-output-fileprefix "coverlet.integration.tests" +dotnet test test/coverlet.integration.tests -f net8.0 --results-directory:"./artifacts/reports" --verbosity detailed --diag ./artifacts/log/${BUILD_CONFIG}/coverlet.integration.tests.net8.log +dotnet test test/coverlet.integration.tests -f net9.0 --results-directory:"./artifacts/reports" --verbosity detailed --diag ./artifacts/log/${BUILD_CONFIG}/coverlet.integration.tests.net9.log diff --git a/test/Directory.Build.props b/test/Directory.Build.props index a56dd1a4c..788bfe250 100644 --- a/test/Directory.Build.props +++ b/test/Directory.Build.props @@ -4,9 +4,11 @@ true $(NoWarn);NU1301;IDE0007;IDE0008 - + true +