Как отладить T-SQL из тестового проекта C # в стиле SDK под VS 2019? - PullRequest
0 голосов
/ 17 июня 2019

У меня есть два проекта:

  1. Инструменты данных SQL Server .sqlproj определение некоторых хранимых процедур T-SQL, развертываемых в локально установленной версии SQL Server 2017 Developer Edition.
  2. MSTest .csproj вызов этих хранимых процедур через ADO.NET.

В Visual Studio 2017 Professional с тестовым проектом в старом стиле я смог:

  • включить «Включить отладку SQL Server» в свойствах тестового проекта,
  • отладка метода, отмеченного [TestMethod] (щелкнув правой кнопкой мыши в Test Explorer),
  • и когда я достигну SqlCommand.ExecuteNonQuery(), войдите в хранимую процедуру T-SQL и достигните точки останова в T-SQL.

С тех пор я перенес тестовый проект в новый формат SDK-стиля .csproj и в Visual Studio 2019 Professional, и больше не вижу «Отладка SQL Server» вариант больше. Любые точки останова, которые я пытаюсь установить в T-SQL, помечаются как:

"В настоящий момент точка останова не будет достигнута. Для этого документа не было загружено никаких символов."

Ключом для меня является возможность отладки через границу между C # и T-SQL, потому что C # подготавливает все входные данные для T-SQL. Я знаю, что могу просто написать сценарий T-SQL, который подготавливает ввод и отлаживает , что , но это дублирует работу, уже выполненную в C #, и в некоторых случаях будет затруднено (например, тестирование параллелизма).

Итак, есть ли способ (в этой среде) отладить код C # и перейти на T-SQL?


Вот мой новый тестовый проект:

<Project Sdk="Microsoft.NET.Sdk">

    <PropertyGroup>
        <TargetFramework>net47</TargetFramework>
    </PropertyGroup>

    <ItemGroup>
        <PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.0.1" />
        <PackageReference Include="MSTest.TestAdapter" Version="1.4.0" />
        <PackageReference Include="MSTest.TestFramework" Version="1.4.0" />
    </ItemGroup>

    <ItemGroup>
        <ProjectReference Include="..." />
        ...
    </ItemGroup>

    <ItemGroup>
        <Reference Include="..." />
        ...
    </ItemGroup>

</Project>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...