Skip to content

Commit 6209ca7

Browse files
committed
Add BuildAll target, CodeQL update, and ref csproj cleanup
1 parent 7a896ef commit 6209ca7

3 files changed

Lines changed: 170 additions & 32 deletions

File tree

.github/workflows/codeql.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ jobs:
9595
- name: Run manual build steps
9696
if: matrix.build-mode == 'manual'
9797
shell: bash
98-
run: dotnet build src/Microsoft.Data.SqlClient.slnx
98+
run: dotnet build build.proj -t:BuildAll
9999

100100
- name: Perform CodeQL Analysis
101101
uses: github/codeql-action/analyze@v4

build.proj

Lines changed: 167 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<?xml version="1.0" encoding="utf-8"?>
2-
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2+
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
33
<!-- Imports ========================================================= -->
44
<Import Project="src/Directory.Build.props" />
55

@@ -229,7 +229,7 @@
229229

230230
<!--
231231
SigningKeyPath
232-
Applies to: Build*, Pack*
232+
Applies to: Build*, Pack* (driver targets only)
233233
Description: Path to the key to use to strong name sign binaries. If omitted, binaries
234234
will not be strong name signed.
235235
For Pack* targets, this only applies to a build - ie, if PackBuild is set to
@@ -329,11 +329,14 @@
329329
<!-- Top Level/Miscellaneous Targets -->
330330

331331
<!--
332-
Build: Builds all packages
332+
Build: Builds all driver projects. This is the default target.
333333
Note: These have been ordered in a vague attempt to minimize multiple rebuilds of dependencies.
334334
-->
335335
<Target Name="Build" DependsOnTargets="BuildLogging;BuildAbstractions;BuildSqlClient;BuildAzure;BuildAkvProvider;BuildSqlServer" />
336336

337+
<!-- Build all projects in the repo, for all supported OS and TargetFramework combinations.-->
338+
<Target Name="BuildAll" DependsOnTargets="Build;BuildTests;BuildSamples" />
339+
337340
<!-- Clean: Convenience target to remove build/test output -->
338341
<Target Name="Clean">
339342
<!-- Remove known build output paths -->
@@ -346,16 +349,18 @@
346349
</Target>
347350

348351
<!--
349-
Pack: Packages all packages
352+
Pack: Packages all driver projects.
350353
Note: These have been ordered in a vague attempt to minimize multiple rebuilds of dependencies.
351354
-->
352355
<Target Name="Pack" DependsOnTargets="PackLogging;PackAbstractions;PackSqlClient;PackAzure;PackAkvProvider;PackSqlServer" />
353356

354357
<!--
355-
Test: Run all test targets for all packages.
356-
Note: This will run for a *very* long time and it is not recommended, even in automated test
357-
environments. Please consider running project specific test targets or specific test sets
358-
within the project.
358+
Test: Run all test targets for all driver projects.
359+
360+
Note: This requires local and remote SQL Server setups with corresponding JSON configuration
361+
files. It will run for a *very* long time and it is not recommended, even in automated test
362+
environments. Please consider running project specific test targets or specific test sets within
363+
the project.
359364
-->
360365
<Target Name="Test" DependsOnTargets="TestAbstractions;TestAzure;TestSqlClient" />
361366

@@ -400,7 +405,8 @@
400405
<DotnetCommand>$([System.Text.RegularExpressions.Regex]::Replace($(DotnetCommand), "\s+", " "))</DotnetCommand>
401406
</PropertyGroup>
402407

403-
<Message Text=">>> Building GenAPI project via command: '$(DotnetCommand)'"/>
408+
<Message Importance="High" Text=">>> Building GenAPI project"/>
409+
<Message Text=" Command: $(DotnetCommand)"/>
404410
<Exec ConsoleToMsBuild="true" Command="$(DotnetCommand)" />
405411

406412
<!-- Get the path to the GenAPI artifact -->
@@ -429,7 +435,8 @@
429435
<DotnetCommand>$([System.Text.RegularExpressions.Regex]::Replace($(DotnetCommand), "\s+", " "))</DotnetCommand>
430436
</PropertyGroup>
431437

432-
<Message Text=">>> Building not supported binaries project via command: '$(DotnetCommand)'"/>
438+
<Message Importance="High" Text=">>> Building not supported binaries project"/>
439+
<Message Text=" Command: $(DotnetCommand)"/>
433440
<Exec ConsoleToMsBuild="true" Command="$(DotnetCommand)" />
434441
</Target>
435442

@@ -454,7 +461,8 @@
454461
<DotnetCommand>$([System.Text.RegularExpressions.Regex]::Replace($(DotnetCommand), "\s+", " "))</DotnetCommand>
455462
</PropertyGroup>
456463

457-
<Message Text=">>> Building SqlClient ref binaries via command: $(DotnetCommand)"/>
464+
<Message Importance="High" Text=">>> Building SqlClient ref binaries"/>
465+
<Message Text=" Command: $(DotnetCommand)"/>
458466
<Exec ConsoleToMsBuild="true" Command="$(DotnetCommand)" />
459467
</Target>
460468

@@ -481,7 +489,8 @@
481489
<DotnetCommand>$([System.Text.RegularExpressions.Regex]::Replace($(DotnetCommand), "\s+", " "))</DotnetCommand>
482490
</PropertyGroup>
483491

484-
<Message Text=">>> Building SqlClient for Unix via command: $(DotnetCommand)"/>
492+
<Message Importance="High" Text=">>> Building SqlClient for Unix"/>
493+
<Message Text=" Command: $(DotnetCommand)"/>
485494
<Exec ConsoleToMsBuild="true" Command="$(DotnetCommand)" />
486495
</Target>
487496

@@ -507,7 +516,8 @@
507516
<!-- Convert more than one whitespace character into one space -->
508517
<DotnetCommand>$([System.Text.RegularExpressions.Regex]::Replace($(DotnetCommand), "\s+", " "))</DotnetCommand>
509518
</PropertyGroup>
510-
<Message Text=">>> Building SqlClient for Windows via command: $(DotnetCommand)" />
519+
<Message Importance="High" Text=">>> Building SqlClient for Windows"/>
520+
<Message Text=" Command: $(DotnetCommand)"/>
511521
<Exec ConsoleToMsBuild="true" Command="$(DotnetCommand)" />
512522
</Target>
513523

@@ -552,7 +562,8 @@
552562
<!-- Convert more than one whitespace character into one space -->
553563
<DotnetCommand>$([System.Text.RegularExpressions.Regex]::Replace($(DotnetCommand), "\s+", " "))</DotnetCommand>
554564
</PropertyGroup>
555-
<Message Text=">>> Packing SqlClient via command: $(DotnetCommand)" />
565+
<Message Importance="High" Text=">>> Packing SqlClient"/>
566+
<Message Text=" Command: $(DotnetCommand)"/>
556567
<Exec ConsoleToMsBuild="true" Command="$(DotnetCommand)" />
557568
</Target>
558569

@@ -586,7 +597,8 @@
586597
<!-- Convert more than one whitespace character into one space -->
587598
<DotnetCommand>$([System.Text.RegularExpressions.Regex]::Replace($(DotnetCommand), "\s+", " "))</DotnetCommand>
588599
</PropertyGroup>
589-
<Message Text=">>> Running functional tests for SqlClient via command: $(DotnetCommand)" />
600+
<Message Importance="High" Text=">>> Running functional tests for SqlClient"/>
601+
<Message Text=" Command: $(DotnetCommand)"/>
590602
<Exec ConsoleToMsBuild="true" Command="$(DotnetCommand)" />
591603
</Target>
592604

@@ -617,7 +629,8 @@
617629
<!-- Convert more than one whitespace character into one space -->
618630
<DotnetCommand>$([System.Text.RegularExpressions.Regex]::Replace($(DotnetCommand), "\s+", " "))</DotnetCommand>
619631
</PropertyGroup>
620-
<Message Text=">>> Running manual tests for SqlClient via command: $(DotnetCommand)" />
632+
<Message Importance="High" Text=">>> Running manual tests for SqlClient"/>
633+
<Message Text=" Command: $(DotnetCommand)"/>
621634
<Exec ConsoleToMsBuild="true" Command="$(DotnetCommand)" />
622635
</Target>
623636

@@ -645,7 +658,8 @@
645658
<!-- Convert more than one whitespace character into one space -->
646659
<DotnetCommand>$([System.Text.RegularExpressions.Regex]::Replace($(DotnetCommand), "\s+", " "))</DotnetCommand>
647660
</PropertyGroup>
648-
<Message Text=">>> Running unit tests for SqlClient via command: $(DotnetCommand)" />
661+
<Message Importance="High" Text=">>> Running unit tests for SqlClient"/>
662+
<Message Text=" Command: $(DotnetCommand)"/>
649663
<Exec ConsoleToMsBuild="true" Command="$(DotnetCommand)" />
650664
</Target>
651665

@@ -679,7 +693,8 @@
679693
<DotnetCommand>$([System.Text.RegularExpressions.Regex]::Replace($(DotnetCommand), "\s+", " "))</DotnetCommand>
680694
</PropertyGroup>
681695

682-
<Message Text=">>> Building Microsoft.Data.SqlClient.AlwaysEncrpyted.AzureKeyVaultProvider via command: $(DotnetCommand)" />
696+
<Message Importance="High" Text=">>> Building AKV Provider"/>
697+
<Message Text=" Command: $(DotnetCommand)"/>
683698
<Exec ConsoleToMsBuild="true" Command="$(DotnetCommand)" />
684699
</Target>
685700

@@ -707,7 +722,8 @@
707722
<DotnetCommand>$([System.Text.RegularExpressions.Regex]::Replace($(DotnetCommand), "\s+", " "))</DotnetCommand>
708723
</PropertyGroup>
709724

710-
<Message Text=">>> Packaging Microsoft.Data.SqlClient.AlwaysEncrpyted.AzureKeyVaultProvider via command: $(DotnetCommand)" />
725+
<Message Importance="High" Text=">>> Packaging AKV Provider"/>
726+
<Message Text=" Command: $(DotnetCommand)"/>
711727
<Exec ConsoleToMsBuild="true" Command="$(DotnetCommand)" />
712728
</Target>
713729

@@ -740,7 +756,8 @@
740756
<DotnetCommand>$([System.Text.RegularExpressions.Regex]::Replace($(DotnetCommand), "\s+", " "))</DotnetCommand>
741757
</PropertyGroup>
742758

743-
<Message Text=">>> Building Microsoft.Data.SqlClient.Extensions.Abstractions via command: $(DotnetCommand)" />
759+
<Message Importance="High" Text=">>> Building Abstractions"/>
760+
<Message Text=" Command: $(DotnetCommand)"/>
744761
<Exec ConsoleToMsBuild="true" Command="$(DotnetCommand)" />
745762
</Target>
746763

@@ -766,7 +783,8 @@
766783
<DotnetCommand>$([System.Text.RegularExpressions.Regex]::Replace($(DotnetCommand), "\s+", " "))</DotnetCommand>
767784
</PropertyGroup>
768785

769-
<Message Text=">>> Packaging Microsoft.Data.SqlClient.Extensions.Abstractions via command: $(DotnetCommand)" />
786+
<Message Importance="High" Text=">>> Packaging Abstractions"/>
787+
<Message Text=" Command: $(DotnetCommand)"/>
770788
<Exec ConsoleToMsBuild="true" Command="$(DotnetCommand)" />
771789
</Target>
772790

@@ -794,7 +812,8 @@
794812
<DotnetCommand>$([System.Text.RegularExpressions.Regex]::Replace($(DotnetCommand), "\s+", " "))</DotnetCommand>
795813
</PropertyGroup>
796814

797-
<Message Text=">>> Running tests for Abstractions via command: $(DotnetCommand)" />
815+
<Message Importance="High" Text=">>> Running tests for Abstractions"/>
816+
<Message Text=" Command: $(DotnetCommand)"/>
798817
<Exec ConsoleToMsBuild="true" Command="$(DotnetCommand)" />
799818
</Target>
800819

@@ -827,7 +846,8 @@
827846
<DotnetCommand>$([System.Text.RegularExpressions.Regex]::Replace($(DotnetCommand), "\s+", " "))</DotnetCommand>
828847
</PropertyGroup>
829848

830-
<Message Text=">>> Building Microsoft.Data.SqlClient.Extensions.Azure via command: $(DotnetCommand)" />
849+
<Message Importance="High" Text=">>> Building Azure"/>
850+
<Message Text=" Command: $(DotnetCommand)"/>
831851
<Exec ConsoleToMsBuild="true" Command="$(DotnetCommand)" />
832852
</Target>
833853

@@ -853,7 +873,8 @@
853873
<DotnetCommand>$([System.Text.RegularExpressions.Regex]::Replace($(DotnetCommand), "\s+", " "))</DotnetCommand>
854874
</PropertyGroup>
855875

856-
<Message Text=">>> Packaging Microsoft.Data.SqlClient.Extensions.Azure via command: $(DotnetCommand)" />
876+
<Message Importance="High" Text=">>> Packaging Azure"/>
877+
<Message Text=" Command: $(DotnetCommand)"/>
857878
<Exec ConsoleToMsBuild="true" Command="$(DotnetCommand)" />
858879
</Target>
859880

@@ -882,7 +903,8 @@
882903
<DotnetCommand>$([System.Text.RegularExpressions.Regex]::Replace($(DotnetCommand), "\s+", " "))</DotnetCommand>
883904
</PropertyGroup>
884905

885-
<Message Text=">>> Running tests for Abstractions via command: $(DotnetCommand)" />
906+
<Message Importance="High" Text=">>> Running tests for Azure"/>
907+
<Message Text=" Command: $(DotnetCommand)"/>
886908
<Exec ConsoleToMsBuild="true" Command="$(DotnetCommand)" />
887909
</Target>
888910

@@ -910,7 +932,8 @@
910932
<DotnetCommand>$([System.Text.RegularExpressions.Regex]::Replace($(DotnetCommand), "\s+", " "))</DotnetCommand>
911933
</PropertyGroup>
912934

913-
<Message Text=">>> Building Microsoft.Data.SqlClient.Internal.Logging via command: $(DotnetCommand)" />
935+
<Message Importance="High" Text=">>> Building Logging"/>
936+
<Message Text=" Command: $(DotnetCommand)"/>
914937
<Exec ConsoleToMsBuild="true" Command="$(DotnetCommand)" />
915938
</Target>
916939

@@ -932,7 +955,8 @@
932955
<DotnetCommand>$([System.Text.RegularExpressions.Regex]::Replace($(DotnetCommand), "\s+", " "))</DotnetCommand>
933956
</PropertyGroup>
934957

935-
<Message Text=">>> Packaging Microsoft.Data.SqlClient.Internal.Logging via command: $(DotnetCommand)" />
958+
<Message Importance="High" Text=">>> Packaging Logging"/>
959+
<Message Text=" Command: $(DotnetCommand)"/>
936960
<Exec ConsoleToMsBuild="true" Command="$(DotnetCommand)" />
937961
</Target>
938962

@@ -960,7 +984,8 @@
960984
<DotnetCommand>$([System.Text.RegularExpressions.Regex]::Replace($(DotnetCommand), "\s+", " "))</DotnetCommand>
961985
</PropertyGroup>
962986

963-
<Message Text=">>> Building Microsoft.SqlServer.Server via command: $(DotnetCommand)" />
987+
<Message Importance="High" Text=">>> Building SqlServer"/>
988+
<Message Text=" Command: $(DotnetCommand)"/>
964989
<Exec ConsoleToMsBuild="true" Command="$(DotnetCommand)" />
965990
</Target>
966991

@@ -982,7 +1007,120 @@
9821007
<DotnetCommand>$([System.Text.RegularExpressions.Regex]::Replace($(DotnetCommand), "\s+", " "))</DotnetCommand>
9831008
</PropertyGroup>
9841009

985-
<Message Text=">>> Packaging Microsoft.SqlServer.Server via command: $(DotnetCommand)" />
1010+
<Message Importance="High" Text=">>> Packaging SqlServer"/>
1011+
<Message Text=" Command: $(DotnetCommand)"/>
9861012
<Exec ConsoleToMsBuild="true" Command="$(DotnetCommand)" />
9871013
</Target>
1014+
1015+
<!-- ================================================================= -->
1016+
<!-- Ancillary Targets -->
1017+
1018+
<!-- Set up the list of supported OSes. -->
1019+
<PropertyGroup>
1020+
<_OsList>Windows_NT;Unix</_OsList>
1021+
</PropertyGroup>
1022+
<ItemGroup>
1023+
<_OsValues Include="$(_OsList)" />
1024+
</ItemGroup>
1025+
1026+
<!-- Supply a common set of arguments to dotnet build. -->
1027+
<PropertyGroup>
1028+
<_DotnetArguments>
1029+
-p:Configuration=$(Configuration)
1030+
1031+
<!-- Versioning arguments -->
1032+
$(BuildNumberArgument)
1033+
$(BuildSuffixArgument)
1034+
1035+
<!-- Reference Type Arguments -->
1036+
$(ReferenceTypeArgument)
1037+
$(PackageVersionAbstractionsArgument)
1038+
$(PackageVersionAkvProviderArgument)
1039+
$(PackageVersionAzureArgument)
1040+
$(PackageVersionLoggingArgument)
1041+
$(PackageVersionSqlClientArgument)
1042+
$(PackageVersionSqlServerArgument)
1043+
</_DotnetArguments>
1044+
<!-- Convert more than one whitespace character into one space -->
1045+
<_DotnetArguments>$([System.Text.RegularExpressions.Regex]::Replace($(_DotnetArguments), "\s+", " "))</_DotnetArguments>
1046+
</PropertyGroup>
1047+
1048+
<!--
1049+
Define all of the ancillary project file paths.
1050+
1051+
These aren't all of the possible projects - only the top-level ones that, in turn, will
1052+
transitively build all ancillary projects.
1053+
-->
1054+
<PropertyGroup>
1055+
<AbstractionsTestsProjectPath>$(RepoRoot)src/Microsoft.Data.SqlClient.Extensions/Abstractions/test/Abstractions.Test.csproj</AbstractionsTestsProjectPath>
1056+
<UnitTestsProjectPath>$(RepoRoot)src/Microsoft.Data.SqlClient/tests/UnitTests/Microsoft.Data.SqlClient.UnitTests.csproj</UnitTestsProjectPath>
1057+
<FunctionalTestsProjectPath>$(RepoRoot)src/Microsoft.Data.SqlClient/tests/FunctionalTests/Microsoft.Data.SqlClient.FunctionalTests.csproj</FunctionalTestsProjectPath>
1058+
<ManualTestsProjectPath>$(RepoRoot)src/Microsoft.Data.SqlClient/tests/ManualTests/Microsoft.Data.SqlClient.ManualTests.csproj</ManualTestsProjectPath>
1059+
<PerformanceTestsProjectPath>$(RepoRoot)src/Microsoft.Data.SqlClient/tests/PerformanceTests/Microsoft.Data.SqlClient.PerformanceTests.csproj</PerformanceTestsProjectPath>
1060+
<StressTestsProjectPath>$(RepoRoot)src/Microsoft.Data.SqlClient/tests/StressTests/SqlClient.Stress.Runner/SqlClient.Stress.Runner.csproj</StressTestsProjectPath>
1061+
<AzureTestsProjectPath>$(RepoRoot)src/Microsoft.Data.SqlClient.Extensions/Azure/test/Azure.Test.csproj</AzureTestsProjectPath>
1062+
1063+
<SamplesProjectPath>$(RepoRoot)doc/samples/Microsoft.Data.SqlClient.Samples.csproj</SamplesProjectPath>
1064+
</PropertyGroup>
1065+
1066+
<!-- Build all test projects. -->
1067+
<Target Name="BuildTests">
1068+
1069+
<!-- SqlServer has no tests to build. -->
1070+
1071+
<!-- Logging has no tests to build. -->
1072+
1073+
<!-- Build Abstractions tests, which don't have conditional TFMs. -->
1074+
<Message Importance="High" Text=">>> Building Abstractions.Tests"/>
1075+
<Message Text=" Arguments: $(_DotnetArguments)"/>
1076+
<Exec ConsoleToMsBuild="true"
1077+
Command="&quot;$(DotnetPath)dotnet&quot; build &quot;$(AbstractionsTestsProjectPath)&quot; $(_DotnetArguments)" />
1078+
1079+
<!-- Build SqlClient UnitTests (project references only, no ReferenceType). -->
1080+
<Message Importance="High" Text=">>> Building SqlClient UnitTests for %(_OsValues.Identity)"/>
1081+
<Exec ConsoleToMsBuild="true"
1082+
Command="&quot;$(DotnetPath)dotnet&quot; build &quot;$(UnitTestsProjectPath)&quot; -p:Configuration=$(Configuration) -p:OS=%(_OsValues.Identity)" />
1083+
1084+
<!-- Build SqlClient FunctionalTests. -->
1085+
<Message Importance="High" Text=">>> Building SqlClient FunctionalTests for %(_OsValues.Identity)"/>
1086+
<Message Text=" Arguments: $(_DotnetArguments)"/>
1087+
<Exec ConsoleToMsBuild="true"
1088+
Command="&quot;$(DotnetPath)dotnet&quot; build &quot;$(FunctionalTestsProjectPath)&quot; $(_DotnetArguments) -p:OS=%(_OsValues.Identity)" />
1089+
1090+
<!-- Build SqlClient ManualTests. -->
1091+
<Message Importance="High" Text=">>> Building SqlClient ManualTests for %(_OsValues.Identity)"/>
1092+
<Message Text=" Arguments: $(_DotnetArguments)"/>
1093+
<Exec ConsoleToMsBuild="true"
1094+
Command="&quot;$(DotnetPath)dotnet&quot; build &quot;$(ManualTestsProjectPath)&quot; $(_DotnetArguments) -p:OS=%(_OsValues.Identity)" />
1095+
1096+
<!-- Build SqlClient PerformanceTests. -->
1097+
<Message Importance="High" Text=">>> Building SqlClient PerformanceTests for %(_OsValues.Identity)"/>
1098+
<Message Text=" Arguments: $(_DotnetArguments)"/>
1099+
<Exec ConsoleToMsBuild="true"
1100+
Command="&quot;$(DotnetPath)dotnet&quot; build &quot;$(PerformanceTestsProjectPath)&quot; $(_DotnetArguments) -p:OS=%(_OsValues.Identity)" />
1101+
1102+
<!-- Build SqlClient StressTests. -->
1103+
<Message Importance="High" Text=">>> Building SqlClient StressTests for %(_OsValues.Identity)"/>
1104+
<Message Text=" Arguments: $(_DotnetArguments)"/>
1105+
<Exec ConsoleToMsBuild="true"
1106+
Command="&quot;$(DotnetPath)dotnet&quot; build &quot;$(StressTestsProjectPath)&quot; $(_DotnetArguments) -p:OS=%(_OsValues.Identity)" />
1107+
1108+
<!-- Build Azure tests. -->
1109+
<Message Importance="High" Text=">>> Building Azure.Tests for %(_OsValues.Identity)"/>
1110+
<Message Text=" Arguments: $(_DotnetArguments)"/>
1111+
<Exec ConsoleToMsBuild="true"
1112+
Command="&quot;$(DotnetPath)dotnet&quot; build &quot;$(AzureTestsProjectPath)&quot; $(_DotnetArguments) -p:OS=%(_OsValues.Identity)" />
1113+
1114+
<!-- AKV Provider has no tests to build. -->
1115+
1116+
</Target>
1117+
1118+
<!-- Build all sample projects. -->
1119+
<Target Name="BuildSamples">
1120+
<Message Importance="High" Text=">>> Building Samples"/>
1121+
<Message Text=" Arguments: $(_DotnetArguments)"/>
1122+
<Exec ConsoleToMsBuild="true"
1123+
Command="&quot;$(DotnetPath)dotnet&quot; build &quot;$(SamplesProjectPath)&quot; $(_DotnetArguments)" />
1124+
</Target>
1125+
9881126
</Project>

src/Microsoft.Data.SqlClient/ref/Microsoft.Data.SqlClient.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,8 +54,8 @@
5454
Condition="'$(IsCrossTargetingBuild)' != 'true' AND '$(GenerateDocumentationFile)' == 'true'">
5555

5656
<PropertyGroup>
57-
<PowerShellCommand Condition="'$(OS)' == 'Windows_NT'">powershell.exe</PowerShellCommand>
58-
<PowerShellCommand Condition="'$(OS)' != 'Windows_NT'">pwsh</PowerShellCommand>
57+
<PowerShellCommand Condition="$([MSBuild]::IsOSPlatform('Windows'))">powershell.exe</PowerShellCommand>
58+
<PowerShellCommand Condition="!$([MSBuild]::IsOSPlatform('Windows'))">pwsh</PowerShellCommand>
5959
<PowerShellCommand>
6060
$(PowerShellCommand)
6161
-NonInteractive

0 commit comments

Comments
 (0)