Skip to content

Commit 13857f2

Browse files
author
Johnny Pham
authored
Merge pull request #2 from dotnet/master
merge
2 parents 63d75a2 + c6fa6bd commit 13857f2

File tree

108 files changed

+2338
-779
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

108 files changed

+2338
-779
lines changed

BUILDGUIDE.md

Lines changed: 48 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ This document provides all the necessary details to build the driver and run tes
55
## Visual Studio Pre-Requisites
66

77
This project should be ideally built with Visual Studio 2017+ for the best compatibility. Use either of the two environments with their required set of compoenents as mentioned below:
8-
- **Visual Studio 2017** with imported components: [VS17Components](/tools/vsconfig/VS17Components.vsconfig)
98
- **Visual Studio 2019** with imported components: [VS19Components](/tools/vsconfig/VS19Components.vsconfig)
109

1110
Once the environment is setup properly, execute the desired set of commands below from the _root_ folder to perform the respective operations:
@@ -115,6 +114,7 @@ Manual Tests require the below setup to run:
115114
|SupportsLocalDb | (Optional) Whether or not a LocalDb instance of SQL Server is installed on the machine running the tests. |`true` OR `false`|
116115
|SupportsIntegratedSecurity | (Optional) Whether or not the USER running tests has integrated security access to the target SQL Server.| `true` OR `false`|
117116
|SupportsFileStream | (Optional) Whether or not FileStream is enabled on SQL Server| `true` OR `false`|
117+
|UseManagedSNIOnWindows | (Optional) Enables testing with Managed SNI on Windows| `true` OR `false`|
118118

119119
Commands to run tests:
120120

@@ -140,7 +140,53 @@ Unix (`netcoreapp`):
140140

141141
## Run A Single Test
142142
```bash
143-
> dotnet test "src\Microsoft.Data.SqlClient\tests\ManualTests\Microsoft.Data.SqlClient.ManualTesting.Tests.csproj" /p:Platform="AnyCPU" /p:Configuration="Debug" /p:TestTargetOS="Windowsnetcoreapp" --no-build -v n --filter "FullyQualifiedName=Microsoft.Data.SqlClient.ManualTesting.Tests.AlwaysEncrypted.CspProviderExt.TestKeysFromCertificatesCreatedWithMultipleCryptoProviders"
143+
> dotnet test "src\Microsoft.Data.SqlClient\tests\ManualTests\Microsoft.Data.SqlClient.ManualTesting.Tests.csproj" /p:Platform="AnyCPU" /p:Configuration="Release" /p:TestTargetOS="Windowsnetcoreapp" --no-build -v n --filter "FullyQualifiedName=Microsoft.Data.SqlClient.ManualTesting.Tests.AlwaysEncrypted.CspProviderExt.TestKeysFromCertificatesCreatedWithMultipleCryptoProviders"
144+
```
145+
146+
## Testing with Custom ReferenceType
147+
148+
Tests can be built and run with custom "Reference Type" property that enables different styles of testing:
149+
150+
- "Project" => Build and run tests with Microsoft.Data.SqlClient as Project Reference
151+
- "Package" => Build and run tests with Microsoft.Data.SqlClient as Package Reference with configured "TestMicrosoftDataSqlClientVersion" in "Versions.props" file.
152+
- "NetStandard" => Build and run tests with Microsoft.Data.SqlClient as Project Reference via .NET Standard Library
153+
- "NetStandardPackage" => Build and run tests with Microsoft.Data.SqlClient as Package Reference via .NET Standard Library
154+
155+
> ************** IMPORTANT NOTE BEFORE PROCEEDING WITH "PACKAGE" AND "NETSTANDARDPACKAGE" REFERENCE TYPES ***************
156+
> CREATE A NUGET PACKAGE WITH BELOW COMMAND AND ADD TO LOCAL FOLDER + UPDATE NUGET CONFIG FILE TO READ FROM THAT LOCATION
157+
> ```
158+
> > msbuild /p:configuration=Release
159+
> ```
160+
161+
### Building Tests:
162+
163+
For .NET Core, all 4 reference types are supported:
164+
165+
```bash
166+
> msbuild /t:BuildTestsNetCore /p:ReferenceType=Project
167+
# Default setting uses Project Reference.
168+
169+
> msbuild /t:BuildTestsNetCore /p:ReferenceType=Package
170+
171+
> msbuild /t:BuildTestsNetCore /p:ReferenceType=NetStandard
172+
173+
> msbuild /t:BuildTestsNetCore /p:ReferenceType=NetStandardPackage
174+
```
175+
176+
For .NET Framework, below reference types are supported:
177+
178+
```bash
179+
> msbuild /t:BuildTestsNetCore /p:ReferenceType=Project
180+
# Default setting uses Project Reference.
181+
182+
> msbuild /t:BuildTestsNetCore /p:ReferenceType=Package
183+
```
184+
185+
### Running Tests:
186+
187+
Provide property to `dotnet test` commands for testing desired reference type.
188+
```
189+
dotnet test /p:ReferenceType=Project ...
144190
```
145191

146192
## Testing with Custom TargetFramework
@@ -214,4 +260,3 @@ There may be times where connection cannot be made to SQL Server, we found below
214260
<TargetsWindows>false</TargetsWindows>
215261
<TargetsUnix>true</TargetsUnix>
216262
```
217-
```

CHANGELOG.md

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,33 @@ All notable changes to this project will be documented in this file.
44

55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
66

7+
## [Preview Release 2.0.0-preview4.20142.4 ] - 2020-05-21
8+
9+
### Added
10+
- Microsoft.Data.SqlClient (.NET Core and .NET Standard) on Windows is now dependent on **Microsoft.Data.SqlClient.SNI.runtime**, replacing the previous dependency on **runtime.native.System.Data.SqlClient.SNI** [#570](https://github.com/dotnet/SqlClient/pull/570)
11+
- The new **Microsoft.Data.SqlClient.SNI.runtime** dependency adds support for the *ARM* platform along with the already supported platforms *ARM64*, *x64* and *x86* on Windows [#570](https://github.com/dotnet/SqlClient/pull/570)
12+
- Improved driver performance by introducing managed packet recycling [#389](https://github.com/dotnet/SqlClient/pull/389)
13+
14+
### Fixed
15+
- Fixed `SqlBulkCopy` to work with database columns containing metadata about data classification [#568](https://github.com/dotnet/SqlClient/pull/568)
16+
- Fixed unsafe cast in `SqlException` for `SerializationEntry.Value`
17+
- Fixed null reference exceptions in `SqlDelegatedTransaction` methods [#563](https://github.com/dotnet/SqlClient/pull/563)
18+
19+
### Changes
20+
- Standardized connection string properties for enhanced user experience [#534](https://github.com/dotnet/SqlClient/pull/534)
21+
- Improved performance by reducing eventsource tracing related to allocations from TVP write methods [#557](https://github.com/dotnet/SqlClient/pull/557) [#564](https://github.com/dotnet/SqlClient/pull/564)
22+
23+
### Breaking Changes
24+
- For .NET Framework applications consuming **Microsoft.Data.SqlClient**, the `SNI.dll` files previously downloaded to the `bin\x64` and `bin\x86` folders are now named `Microsoft.Data.SqlClient.SNI.x64.dll` and `Microsoft.Data.SqlClient.SNI.x86.dll` and will be downloaded to the `bin` directory, to support auto-loading in the application process [#570](https://github.com/dotnet/SqlClient/pull/570). This change is not going to impact client applications unless a direct reference has been made to `SNI.dll` or the x86 and x64 folders.
25+
26+
27+
## [Stable Release 1.1.3] - 2020-05-15
28+
29+
### Fixed
30+
- Fixed driver behavior to not perform enlistment of pooled connection on aborted transaction [#551](https://github.com/dotnet/SqlClient/pull/551)
31+
- Fixed issues introduced with MARS TDS Header fix in last release by reverting original change that caused issues. [#550](https://github.com/dotnet/SqlClient/pull/550)
32+
33+
734
## [Preview Release 2.0.0-preview3.20122.2] - 2020-05-01
835

936
### Added

0 commit comments

Comments
 (0)