Далее приведены инструкции только для текущей основной ветви (main).
EF Core обычно не требует установки каких-либо предварительных условий для сборки кода. Однако выполнение тестов требует наличия некоторых локальных баз данных:* Для тестов с использованием SQL Server требуется локальная установка SQL Server. Это может быть:
Test__SqlServer__DefaultConnection
со значением строки подключения, которую должны использовать тесты EF Core.Если вы планируете вносить изменения обратно в EF Core, то сначала создайте форк репозитория EFCore на GitHub.
Используя ваш любимый клиент git, клонируйте репозиторий. Например, чтобы клонировать основной репозиторий:
git clone https://github.com/dotnet/efcore.git
Или если вы создали форк под названием efcore
на своем персональном GitHub:
git clone https://github.com/myusername/efcore.git
Чтобы собрать код, просто вызовите команду build.cmd/.sh
. Это важный шаг, так как он установит предварительную версию .NET SDK вместе с EF Core. Это гарантирует, что EF Core будет собран с использованием ожидаемой версии SDK и MSBuild. Выполнение команды build
также восстанавливает пакеты и собирает все проекты. Тесты не запускаются.
build
Скрипт build
имеет различные аргументы для выполнения конкретных действий. Полный список аргументов можно найти через команду build -h
. Аргументы для распространённых действий приведены в таблице ниже. Корневая директория репозитория также содержит файлы cmd/sh для непосредственного вызова некоторых из этих действий.| Аргумент сборки | Действие | Файл скрипта |
|:---------------:|:--------------------------------------------------------------------------|:--------------:|
| -restore
| Восстановление пакетов. | restore.cmd
|
| -build
| Сборка всех проектов. | build.cmd
|
| -test
| Запуск всех тестов (требуется сборка). | test.cmd
|
| -pack
| Сборка и создание пакетов NuGet. | Нет |## Создание локальных пакетов
Команда build -pack
создает все пакеты NuGet EF Core и помещает их в директорию efcore/artifacts/packages
. Однако эти пакеты будут иметь одну и ту же версию, независимо от того, сколько раз они были собраны. Это может запутать кэширование пакетов NuGet, поэтому если вы хотите собирать и тестировать с помощью локальных пакетов, то следует указывать новое число сборки для каждого набора пакетов. Например:
build /p:OfficialBuildId=20231212.6 -pack
Это использует внутреннюю конвенцию .NET для номеров сборки, которая выглядит как yyyyMMdd.x
. Увеличивайте "x" при каждом новом билде.
Использование NuGet пакетов, собранных таким образом, требует добавления местоположения пакета в локальный файл "NuGet.Config". Например:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" />
<add key="Local" value="C:\local\code\efcore\artifacts\packages\Debug\Shipping" />
</packageSources>
</configuration>
Расположите файл "NuGet.Config" в корне вашего решения или проекта.
**Команда командной строки build
(см. выше) должна быть выполнена перед использованием решения с Visual Studio.**Скрипт сборки устанавливает предварительную версию .NET Core SDK. Чтобы гарантировать, что Visual Studio (или любой другой IDE) использует ту же версию SDK, некоторые переменные окружения должны быть установлены. Для настройки вашей локальной среды и открытия файла решения в Visual Studio выполните следующую команду:
startvs.cmd EFCore.sln
```Вы можете проверить скрипт и использовать аналогичную конфигурацию для других сред разработки.
Обратите внимание, что `startvs` фактически открывает то приложение, которое является по умолчанию для файлов с расширением `.sln`. Если у вас установлено несколько сред разработки или нескольких версий Visual Studio, убедитесь, что выбрано правильное по умолчанию, либо отредактируйте скрипт, чтобы сделать его явным.
Если вы установили последнюю предварительную версию [.NET SDK](https://dotnet.microsoft.com/download/dotnet), возможно, вам не потребуется использование `startvs`, а можно будет открыть решение напрямую. Хотя мы стремимся поддерживать совместимость нашего кода с последней предварительной версией, нам может потребоваться зависеть от изменений, внесённых после выпуска последней предварительной версии. Если вы столкнулись с непредвиденными ошибками при открытии решения напрямую, попробуйте использовать `startvs` вместо этого, и убедитесь, что используете последнюю предварительную версию [Visual Studio](https://visualstudio.microsoft.com/vs/preview/).
### Запуск тестов
Наши тесты написаны с использованием [xUnit.net](https://xunit.net/) и могут выполняться большинством тестовых запускателей, которые мы пробовали. Тесты могут быть запущены с командной строки (после сборки) с помощью команды `test`:```console
тест
git clean -xid
очистит файлы в каталоге исходного кода EF.nuget.exe locals all -clear
удалит кэши NuGet. (Вы можете получить nuget.exe с https://dist.nuget.org/index.html или использовать dotnet nuget
).Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )