1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/mirrors-entity-framework

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
getting-and-building-the-code.md 11 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 06.03.2025 05:23 6d48b5e

Основная ветвь

Далее приведены инструкции только для текущей основной ветви (main).

Предварительные требования

EF Core обычно не требует установки каких-либо предварительных условий для сборки кода. Однако выполнение тестов требует наличия некоторых локальных баз данных:* Для тестов с использованием SQL Server требуется локальная установка SQL Server. Это может быть:

  • SQL Server LocalDb, который обычно получается при установке последней версии Visual Studio с выбранным рабочим нагрузками "ASP.NET и веб-разработка".
  • SQL Server Express или Developer Edition, на Windows или Linux. При отсутствии использования LocalDb убедитесь, что среда установлена переменная окружения Test__SqlServer__DefaultConnection со значением строки подключения, которую должны использовать тесты EF Core.
  • Для тестов с использованием Cosmos требуется наличие установленного Azure Cosmos Emulator. Используйте стандартные параметры установки. Убедитесь, что эмулятор запущен каждый раз после перезапуска машины.
    • Тесты Cosmos являются необязательными и будут пропущены, если эмулятор недоступен. Если вы не делаете изменений в Cosmos, то можете выбрать пропустить установку эмулятора и позволить системе непрерывной интеграции выполнять тестирование Cosmos.
    • Совет: Отключите "ограничение скорости" в эмуляторе, чтобы ускорить выполнение тестов Cosmos.
      ! Отключение ограничения скорости Cosmos
  • Хотя это не строго обязательно, поскольку EF будет скачивать SDK локально, если это необходимо, рекомендуется всегда иметь установленной [последнюю публичную предварительную версию].NET SDK## Создание форка репозитория

Если вы планируете вносить изменения обратно в 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" в корне вашего решения или проекта.

Использование Visual Studio

**Команда командной строки 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
тест

Устранение распространённых ошибок сборки

  1. Проверьте доступность URL-адресов источников пакетов, указанных в файле Nuget.config в корне репозитория.
  2. Очистите каталог исходного кода. Команда git clean -xid очистит файлы в каталоге исходного кода EF.
  3. Очистите пакеты NuGet и кэши. Команда nuget.exe locals all -clear удалит кэши NuGet. (Вы можете получить nuget.exe с https://dist.nuget.org/index.html или использовать dotnet nuget).

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/mirrors-entity-framework.git
git@api.gitlife.ru:oschina-mirror/mirrors-entity-framework.git
oschina-mirror
mirrors-entity-framework
mirrors-entity-framework
main