Skip to content

Commit 1f7a52f

Browse files
committed
- Added several direct dependencies that were mistakenly removed earlier.
- Minor tweaks to build tasks to work on Linux with the dotnet CLI.
1 parent b3dae93 commit 1f7a52f

11 files changed

Lines changed: 167 additions & 58 deletions

File tree

build.proj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,7 @@
123123

124124
<Target Name="BuildTools" Condition="'$(BuildTools)' == 'true'">
125125
<PropertyGroup>
126-
<DotnetBuildCmd>$(DotNetCmd) dotnet build -c Release -p:ReferenceType=$(ReferenceType)</DotnetBuildCmd>
126+
<DotnetBuildCmd>$(DotnetPath)dotnet build -c Release -p:ReferenceType=$(ReferenceType)</DotnetBuildCmd>
127127
</PropertyGroup>
128128
<Exec Command="$(DotnetBuildCmd)" WorkingDirectory="$(GenAPISrcDir)Microsoft.DotNet.GenAPI\" />
129129
</Target>

eng/pipelines/common/templates/steps/build-and-run-tests-netfx-step.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ steps:
6161
displayName: 'MSBuild Build Tests for ${{parameters.TargetNetFxVersion }}'
6262
inputs:
6363
solution: build.proj
64-
msbuildArguments: ' -t:BuildTestsNetFx -p:ReferenceType=${{parameters.referenceType }} -p:TestMicrosoftDataSqlClientVersion=${{parameters.NugetPackageVersion }} -p:TargetNetFxVersion=${{parameters.TargetNetFxVersion }} -p:Configuration=${{parameters.configuration }} -p:Platform=${{parameters.platform }}'
64+
msbuildArguments: ' -t:BuildTestsNetFx -p:ReferenceType=${{parameters.referenceType }} -p:TestMicrosoftDataSqlClientVersion=${{parameters.NugetPackageVersion }} -p:TF=${{parameters.TargetNetFxVersion }} -p:Configuration=${{parameters.configuration }} -p:Platform=${{parameters.platform }}'
6565

6666
# Don't run unit tests using package reference. Unit tests are only run using project reference.
6767

src/Directory.Packages.props

Lines changed: 58 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -3,72 +3,80 @@
33
<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
44
<CentralPackageTransitivePinningEnabled>true</CentralPackageTransitivePinningEnabled>
55
</PropertyGroup>
6-
<!-- NetFx project dependencies -->
7-
<ItemGroup>
6+
7+
<!-- Driver .NET Framework Dependencies -->
8+
<ItemGroup Condition="'$(TargetFramework)' == 'net462'">
9+
<PackageVersion Include="Azure.Core" Version="1.50.0" />
10+
<PackageVersion Include="Azure.Identity" Version="1.17.0" />
11+
<PackageVersion Include="Azure.Security.KeyVault.Keys" Version="4.8.0" />
812
<PackageVersion Include="Microsoft.Data.SqlClient.SNI" Version="6.0.2" />
13+
<PackageVersion Include="Microsoft.Extensions.Caching.Memory" Version="8.0.1" />
14+
<PackageVersion Include="Microsoft.Identity.Client" Version="4.76.0" />
15+
<PackageVersion Include="Microsoft.IdentityModel.JsonWebTokens" Version="7.7.1" />
16+
<PackageVersion Include="Microsoft.IdentityModel.Protocols.OpenIdConnect" Version="7.7.1" />
917
<PackageVersion Include="System.Buffers" Version="4.6.1" />
1018
<PackageVersion Include="System.Data.Common" Version="4.3.0" />
11-
<!-- This package is also shared with .NET Standard 2.0 -->
19+
<PackageVersion Include="System.Diagnostics.DiagnosticSource" Version="8.0.1" />
20+
<PackageVersion Include="System.IdentityModel.Tokens.Jwt" Version="7.7.1" />
21+
<PackageVersion Include="System.Memory" Version="4.6.3" />
22+
<PackageVersion Include="System.Runtime.InteropServices.RuntimeInformation" Version="4.3.0" />
23+
<PackageVersion Include="System.Security.Cryptography.Pkcs" Version="8.0.1" />
1224
<PackageVersion Include="System.Text.Json" Version="8.0.6" />
25+
<PackageVersion Include="System.Text.RegularExpressions" Version="4.3.1" />
1326
</ItemGroup>
14-
<!-- NetFx and NetCore project dependencies -->
15-
<ItemGroup>
27+
28+
<!-- Driver .NET Standard 2.0 Dependencies -->
29+
<ItemGroup Condition="'$(TargetFramework)' == 'netstandard2.0'">
30+
<PackageVersion Include="Azure.Core" Version="1.50.0" />
1631
<PackageVersion Include="Azure.Identity" Version="1.17.0" />
32+
<PackageVersion Include="Azure.Security.KeyVault.Keys" Version="4.8.0" />
33+
<PackageVersion Include="Microsoft.Data.SqlClient.SNI.runtime" Version="6.0.2" />
34+
<PackageVersion Include="Microsoft.Extensions.Caching.Memory" Version="8.0.1" />
35+
<PackageVersion Include="Microsoft.Identity.Client" Version="4.76.0" />
1736
<PackageVersion Include="Microsoft.IdentityModel.JsonWebTokens" Version="7.7.1" />
1837
<PackageVersion Include="Microsoft.IdentityModel.Protocols.OpenIdConnect" Version="7.7.1" />
19-
<PackageVersion Include="System.Runtime.InteropServices.RuntimeInformation" Version="4.3.0" />
20-
</ItemGroup>
21-
<!-- NetCore project dependencies -->
22-
<ItemGroup>
23-
<PackageVersion Include="Microsoft.Data.SqlClient.SNI.runtime" Version="6.0.2" />
2438
<PackageVersion Include="Microsoft.SqlServer.Server" Version="1.0.0" />
39+
<PackageVersion Include="System.Configuration.ConfigurationManager" Version="8.0.1" />
40+
<PackageVersion Include="System.Diagnostics.DiagnosticSource" Version="8.0.1" />
41+
<PackageVersion Include="System.IdentityModel.Tokens.Jwt" Version="7.7.1" />
42+
<PackageVersion Include="System.Runtime.InteropServices.RuntimeInformation" Version="4.3.0" />
43+
<PackageVersion Include="System.Security.Cryptography.Pkcs" Version="8.0.1" />
44+
<PackageVersion Include="System.Text.Json" Version="8.0.6" />
2545
</ItemGroup>
26-
<!-- AKV Provider project dependencies -->
27-
<ItemGroup>
46+
47+
<!-- Driver .NET 8.0 Dependencies -->
48+
<ItemGroup Condition="'$(TargetFramework)' == 'net8.0'">
2849
<PackageVersion Include="Azure.Core" Version="1.50.0" />
50+
<PackageVersion Include="Azure.Identity" Version="1.17.0" />
2951
<PackageVersion Include="Azure.Security.KeyVault.Keys" Version="4.8.0" />
30-
</ItemGroup>
31-
<!-- Test Project Dependencies -->
32-
<ItemGroup>
33-
<PackageVersion Include="BenchmarkDotNet" Version="0.14.0" />
34-
<PackageVersion Include="Microsoft.DotNet.RemoteExecutor" Version="10.0.0-beta.25164.6" />
35-
<PackageVersion Include="Microsoft.DotNet.XUnitExtensions" Version="10.0.0-beta.25164.6" />
36-
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="17.12.0" />
37-
<PackageVersion Include="Microsoft.SqlServer.SqlManagementObjects" Version="172.76.0" />
38-
<PackageVersion Include="Microsoft.SqlServer.Types" Version="170.1000.7" />
39-
<PackageVersion Include="Microsoft.Win32.Registry" Version="5.0.0" />
40-
<PackageVersion Include="Newtonsoft.Json" Version="13.0.4" />
41-
<PackageVersion Include="System.Security.Principal.Windows" Version="5.0.0" />
42-
<PackageVersion Include="System.ServiceProcess.ServiceController" Version="8.0.1" />
43-
<PackageVersion Include="xunit" Version="2.9.3" />
44-
<PackageVersion Include="xunit.runner.visualstudio" Version="2.8.2" />
45-
<PackageVersion Include="xunit.runner.console" Version="2.9.3" />
52+
<PackageVersion Include="Microsoft.Data.SqlClient.SNI.runtime" Version="6.0.2" />
53+
<PackageVersion Include="Microsoft.Extensions.Caching.Memory" Version="8.0.1" />
54+
<PackageVersion Include="Microsoft.Identity.Client" Version="4.76.0" />
55+
<PackageVersion Include="Microsoft.IdentityModel.JsonWebTokens" Version="7.7.1" />
56+
<PackageVersion Include="Microsoft.IdentityModel.Protocols.OpenIdConnect" Version="7.7.1" />
57+
<PackageVersion Include="Microsoft.SqlServer.Server" Version="1.0.0" />
58+
<PackageVersion Include="System.Configuration.ConfigurationManager" Version="8.0.1" />
59+
<PackageVersion Include="System.Diagnostics.DiagnosticSource" Version="6.0.1" />
60+
<PackageVersion Include="System.IdentityModel.Tokens.Jwt" Version="7.7.1" />
61+
<PackageVersion Include="System.Runtime.InteropServices.RuntimeInformation" Version="4.3.0" />
62+
<PackageVersion Include="System.Security.Cryptography.Pkcs" Version="8.0.1" />
4663
</ItemGroup>
4764

48-
<!-- .NET 9.0 Dependencies -->
65+
<!-- Driver .NET 9.0 Dependencies -->
4966
<ItemGroup Condition="'$(TargetFramework)' == 'net9.0'">
50-
<!-- Driver dependencies -->
51-
<PackageVersion Include="Microsoft.Extensions.Caching.Memory" Version="9.0.11" />
67+
<PackageVersion Include="Azure.Core" Version="1.50.0" />
68+
<PackageVersion Include="Azure.Identity" Version="1.17.0" />
69+
<PackageVersion Include="Azure.Security.KeyVault.Keys" Version="4.8.0" />
70+
<PackageVersion Include="Microsoft.Data.SqlClient.SNI.runtime" Version="6.0.2" />
71+
<PackageVersion Include="Microsoft.Extensions.Caching.Memory" Version="9.0.11" />
72+
<PackageVersion Include="Microsoft.Identity.Client" Version="4.76.0" />
73+
<PackageVersion Include="Microsoft.IdentityModel.JsonWebTokens" Version="7.7.1" />
74+
<PackageVersion Include="Microsoft.IdentityModel.Protocols.OpenIdConnect" Version="7.7.1" />
75+
<PackageVersion Include="Microsoft.SqlServer.Server" Version="1.0.0" />
5276
<PackageVersion Include="System.Configuration.ConfigurationManager" Version="9.0.11" />
77+
<PackageVersion Include="System.Diagnostics.DiagnosticSource" Version="6.0.1" />
78+
<PackageVersion Include="System.IdentityModel.Tokens.Jwt" Version="7.7.1" />
79+
<PackageVersion Include="System.Runtime.InteropServices.RuntimeInformation" Version="4.3.0" />
5380
<PackageVersion Include="System.Security.Cryptography.Pkcs" Version="9.0.11" />
54-
55-
<!-- Test dependencies -->
56-
<PackageVersion Include="Microsoft.Extensions.Hosting" Version="9.0.11" />
57-
<PackageVersion Include="System.Data.Odbc" Version="9.0.11" />
58-
</ItemGroup>
59-
<!-- .NET Framework, .NET Standard 2.0, and .NET 8.0 Dependencies -->
60-
<ItemGroup Condition="'$(TargetFramework)' == 'net462' OR '$(TargetFramework)' == 'netstandard2.0' OR '$(TargetFramework)' == 'net8.0'">
61-
<!-- Driver dependencies -->
62-
<PackageVersion Include="Microsoft.Extensions.Caching.Memory" Version="8.0.1" />
63-
64-
<!-- Test dependencies -->
65-
<PackageVersion Include="Microsoft.Extensions.Hosting" Version="8.0.1" />
66-
<PackageVersion Include="System.Data.Odbc" Version="8.0.1" />
67-
</ItemGroup>
68-
<!-- .NET Standard 2.0, and .NET 8.0 Dependencies -->
69-
<ItemGroup Condition="'$(TargetFramework)' == 'netstandard2.0' OR '$(TargetFramework)' == 'net8.0'">
70-
<!-- Driver dependencies -->
71-
<PackageVersion Include="System.Configuration.ConfigurationManager" Version="8.0.1" />
72-
<PackageVersion Include="System.Security.Cryptography.Pkcs" Version="8.0.1" />
7381
</ItemGroup>
7482
</Project>

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,10 +36,13 @@
3636
<PackageReference Include="Azure.Identity" />
3737
<PackageReference Include="Microsoft.Data.SqlClient.SNI.runtime" />
3838
<PackageReference Include="Microsoft.Extensions.Caching.Memory" />
39+
<PackageReference Include="Microsoft.Identity.Client" />
3940
<PackageReference Include="Microsoft.IdentityModel.JsonWebTokens" />
4041
<PackageReference Include="Microsoft.IdentityModel.Protocols.OpenIdConnect" />
4142
<PackageReference Include="Microsoft.SqlServer.Server" />
4243
<PackageReference Include="System.Configuration.ConfigurationManager" />
44+
<PackageReference Include="System.Diagnostics.DiagnosticSource" />
45+
<PackageReference Include="System.IdentityModel.Tokens.Jwt" />
4346
<PackageReference Include="System.Security.Cryptography.Pkcs" />
4447
</ItemGroup>
4548

src/Microsoft.Data.SqlClient/netcore/src/Microsoft.Data.SqlClient.csproj

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1035,10 +1035,13 @@
10351035
<PackageReference Include="Azure.Identity" />
10361036
<PackageReference Include="Microsoft.Data.SqlClient.SNI.runtime" />
10371037
<PackageReference Include="Microsoft.Extensions.Caching.Memory" />
1038+
<PackageReference Include="Microsoft.Identity.Client" />
10381039
<PackageReference Include="Microsoft.IdentityModel.JsonWebTokens" />
10391040
<PackageReference Include="Microsoft.IdentityModel.Protocols.OpenIdConnect" />
10401041
<PackageReference Include="Microsoft.SqlServer.Server" />
10411042
<PackageReference Include="System.Configuration.ConfigurationManager" />
1043+
<PackageReference Include="System.Diagnostics.DiagnosticSource" />
1044+
<PackageReference Include="System.IdentityModel.Tokens.Jwt" />
10421045
<PackageReference Include="System.Security.Cryptography.Pkcs" />
10431046
</ItemGroup>
10441047

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

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,10 +39,32 @@
3939
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
4040
</PackageReference>
4141
<PackageReference Include="Microsoft.Extensions.Caching.Memory" />
42+
<PackageReference Include="Microsoft.Identity.Client" />
4243
<PackageReference Include="Microsoft.IdentityModel.JsonWebTokens" />
4344
<PackageReference Include="Microsoft.IdentityModel.Protocols.OpenIdConnect" />
4445
<PackageReference Include="System.Buffers" />
46+
<!--
47+
We must reference System.Data.Common explicitly because we use its
48+
IDbColumnSchemaGenerator type that isn't included in .NET Framework
49+
4.6.2 or 4.7. This avoids downstream apps from having to include it
50+
themselves if they happen to target those older .NET Framework versions.
51+
-->
52+
<PackageReference Include="System.Data.Common" />
53+
<PackageReference Include="System.Diagnostics.DiagnosticSource" />
54+
<PackageReference Include="System.IdentityModel.Tokens.Jwt" />
55+
<PackageReference Include="System.Memory" />
56+
<!--
57+
Although System.Security.Cryptography.Pkcs is included in all .NET
58+
Framework versions we target, the latest implementations of the types we
59+
use are found in the NuGet package, so we reference it explicitly.
60+
-->
61+
<PackageReference Include="System.Security.Cryptography.Pkcs" />
4562
<PackageReference Include="System.Text.Json" />
63+
<!--
64+
We must reference System.Text.RegularExpressions to avoid a transitive
65+
vulnerability from System.Data.Common 4.3.0.
66+
-->
67+
<PackageReference Include="System.Text.RegularExpressions" />
4668
</ItemGroup>
4769
<Import Project="$(ToolsDir)targets\TrimDocsForIntelliSense.targets" />
4870
</Project>

src/Microsoft.Data.SqlClient/netfx/src/Microsoft.Data.SqlClient.csproj

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -962,10 +962,32 @@
962962
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
963963
</PackageReference>
964964
<PackageReference Include="Microsoft.Extensions.Caching.Memory" />
965+
<PackageReference Include="Microsoft.Identity.Client" />
965966
<PackageReference Include="Microsoft.IdentityModel.JsonWebTokens" />
966967
<PackageReference Include="Microsoft.IdentityModel.Protocols.OpenIdConnect" />
967968
<PackageReference Include="System.Buffers" />
969+
<!--
970+
We must reference System.Data.Common explicitly because we use its
971+
IDbColumnSchemaGenerator type that isn't included in .NET Framework
972+
4.6.2 or 4.7. This avoids downstream apps from having to include it
973+
themselves if they happen to target those older .NET Framework versions.
974+
-->
975+
<PackageReference Include="System.Data.Common" />
976+
<PackageReference Include="System.Diagnostics.DiagnosticSource" />
977+
<PackageReference Include="System.IdentityModel.Tokens.Jwt" />
978+
<PackageReference Include="System.Memory" />
979+
<!--
980+
Although System.Security.Cryptography.Pkcs is included in all .NET
981+
Framework versions we target, the latest implementations of the types we
982+
use are found in the NuGet package, so we reference it explicitly.
983+
-->
984+
<PackageReference Include="System.Security.Cryptography.Pkcs" />
968985
<PackageReference Include="System.Text.Json" />
986+
<!--
987+
We must reference System.Text.RegularExpressions to avoid a transitive
988+
vulnerability from System.Data.Common 4.3.0.
989+
-->
990+
<PackageReference Include="System.Text.RegularExpressions" />
969991
</ItemGroup>
970992
<Import Project="$(CommonSourceRoot)tools\targets\GenerateResourceStringsSource.targets" />
971993
<Import Project="$(NetFxSource)tools\targets\GenerateThisAssemblyCs.targets" />

src/Microsoft.Data.SqlClient/tests/Common/Common.csproj

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,13 +12,13 @@
1212
</PropertyGroup>
1313

1414
<!-- .NET Framework Packages -->
15-
<ItemGroup>
15+
<ItemGroup Condition="$(TargetGroup) == 'netfx'">
1616
<!-- For compilation targeting .NET Framework using .NET SDKs. -->
17-
<PackageReference Include="Microsoft.NETFramework.ReferenceAssemblies" Condition="$(TargetGroup) == 'netfx'">
17+
<PackageReference Include="Microsoft.NETFramework.ReferenceAssemblies">
1818
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
1919
<PrivateAssets>all</PrivateAssets>
2020
</PackageReference>
21-
<PackageReference Condition="$(TargetGroup) == 'netfx'" Include="System.Runtime.InteropServices.RuntimeInformation" />
21+
<PackageReference Include="System.Runtime.InteropServices.RuntimeInformation" />
2222
</ItemGroup>
2323

2424
<!-- xUnit and Testing Packages -->

src/Microsoft.Data.SqlClient/tests/Directory.Packages.props

Lines changed: 39 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,46 @@
11
<Project>
22
<Import Project="..\..\Directory.Packages.props" />
33

4-
<!-- Test Project Dependencies for NetFx only. -->
5-
<ItemGroup Condition="$(TargetFramework.StartsWith('net4'))">
4+
<!-- Test Common Dependencies -->
5+
<ItemGroup>
6+
<PackageVersion Include="BenchmarkDotNet" Version="0.14.0" />
7+
<PackageVersion Include="Microsoft.DotNet.RemoteExecutor" Version="10.0.0-beta.25164.6" />
8+
<PackageVersion Include="Microsoft.DotNet.XUnitExtensions" Version="10.0.0-beta.25164.6" />
9+
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="17.12.0" />
10+
<PackageVersion Include="Microsoft.SqlServer.SqlManagementObjects" Version="172.76.0" />
11+
<PackageVersion Include="Microsoft.SqlServer.Types" Version="170.1000.7" />
12+
<PackageVersion Include="Microsoft.Win32.Registry" Version="5.0.0" />
13+
<PackageVersion Include="Newtonsoft.Json" Version="13.0.4" />
14+
<PackageVersion Include="System.Security.Principal.Windows" Version="5.0.0" />
15+
<PackageVersion Include="System.ServiceProcess.ServiceController" Version="8.0.1" />
16+
<PackageVersion Include="xunit" Version="2.9.3" />
17+
<PackageVersion Include="xunit.runner.visualstudio" Version="2.8.2" />
18+
<PackageVersion Include="xunit.runner.console" Version="2.9.3" />
19+
</ItemGroup>
20+
21+
<!-- Test .NET Framework Dependencies -->
22+
<ItemGroup Condition="'$(TargetFramework)' == 'net462'">
23+
<PackageVersion Include="Microsoft.Extensions.Hosting" Version="8.0.1" />
624
<PackageVersion Include="Microsoft.NETFramework.ReferenceAssemblies" Version="1.0.3" />
25+
<PackageVersion Include="System.Data.Odbc" Version="8.0.1" />
26+
</ItemGroup>
27+
28+
<!-- Test .NET Standard 2.0 Dependencies -->
29+
<ItemGroup Condition="'$(TargetFramework)' == 'netstandard2.0'">
30+
<PackageVersion Include="Microsoft.Extensions.Hosting" Version="8.0.1" />
31+
<PackageVersion Include="System.Data.Odbc" Version="8.0.1" />
32+
</ItemGroup>
33+
34+
<!-- Test .NET 8.0 Dependencies -->
35+
<ItemGroup Condition="'$(TargetFramework)' == 'net8.0'">
36+
<PackageVersion Include="Microsoft.Extensions.Hosting" Version="8.0.1" />
37+
<PackageVersion Include="System.Data.Odbc" Version="8.0.1" />
38+
</ItemGroup>
39+
40+
<!-- Test .NET 9.0 Dependencies -->
41+
<ItemGroup Condition="'$(TargetFramework)' == 'net9.0'">
42+
<PackageVersion Include="Microsoft.Extensions.Hosting" Version="9.0.11" />
43+
<PackageVersion Include="System.Data.Odbc" Version="9.0.11" />
744
</ItemGroup>
845

946
<!-- MDS Package Dependency -->

0 commit comments

Comments
 (0)