.NET 5 Указание директивы в разных файлах

148
30 июня 2022, 19:20

Изначально, я шёл сюда за ответом на вопрос ".NET 5 не видит SqlConnection". Но, пока писал вопрос пришёл к ответу. Теперь по порядку. В текущем .NETframework WPF приложении есть директива

using System.Data.SqlClient;

Далее, используется класс SQLConnection для создания строки подключения и сама строка, как вы уже поняли используется во время различных операции с БД.

Далее, я начал ленивую миграцию на .NET 5. Так же создал WPF приложение, так же указал вышеупомянутую директиву, создал класс SQLConnection и строку подключения. Студия сразу же выдаёт ошибку:

Error CS1069 the "SqlConnectionStringBuilder" type name Could not be found in the "System.Data.SqlClient"namespace. This type was sent to the build "System. Data.SqlClient, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a". Try adding a link to this build.

Я какое то время не мог понять, в чём дело? Ведь в справке Майкрософт прямо указано, что данный класс поддерживается в .NET 5. ЧЯДНТ?
ОТВЕТ на ЧЯДНТ: Ответ хранится тут: https://docs.microsoft.com/ru-ru/azure/azure-sql/database/connect-query-dotnet-core#create-a-new-net-core-project пункт 2.

В текстовом редакторе откройте sqltest.csproj и вставьте следующий XML-код между тегами . Этот XML-код добавляет System.Data.SqlClient как зависимость.

 <ItemGroup>
    <PackageReference Include="System.Data.SqlClient" Version="4.6.0" />
</ItemGroup>

и всё работает.

Мой текущий вопрос:

Почему ниже по коду используется директива using System.Data.SqlClient; которая не работает до тех пор, пока я не добавлю этот же XML-код в .csproj и почему ничего такого делать ненужно в .Netframework? Я указываю директиву и вперёд.

Answer 1

Как подсказал @AzizUmarov суть оказалась в том, что сейчас Майкрософт для ускорения процесса создания нового проекта по-умолчанию отключает почти всё. Поэтому, многие зависимости нужно подключать самостоятельно. Либо через VStudio в разделе с NuGet (или с помощью команды), либо добавлять в файл sqltest.csproj необходимые зависимости.

READ ALSO
Post запрос на Steam (С#)

Post запрос на Steam (С#)

Хочу написать бота, с разным функционалом, для своих нужд для SteamОдна из функций это спам в этот Топик

228
Создание объекта в другом домене

Создание объекта в другом домене

Изучаю C# по книге Рихтера и застопорился на создании объекта в соседнем доменеКопипаст кода из книги не выполняется

131
Почему не работает e.preventDefault?

Почему не работает e.preventDefault?

Подскажите пожалуйста, почему в ei11 форма делает перезагрузку, хотя прописал preventDefault, только в ie такой баг:

210
подскажите почему closest не работает в ie11

подскажите почему closest не работает в ie11

подскажите в чем может быть ошибка, в ie11 только в одном месте не отработывает полифил для closest? SCRIPT5007: Не удалось получить свойство "matches"...

165