Ядерная установка Entity Framework Core SQL Server в VS для OSX, вызывающая ошибки сборки

Вот мое улучшенное решение ответа Бруно Броноски с использованием переменных массивов.

позволяет вам смешивать положение параметров и давать вам массив параметров, сохраняющий порядок без опций

#!/bin/bash

echo $@

PARAMS=()
SOFT=0
SKIP=()
for i in "$@"
do
case $i in
    -n=*|--skip=*)
    SKIP+=("${i#*=}")
    ;;
    -s|--soft)
    SOFT=1
    ;;
    *)
        # unknown option
        PARAMS+=("$i")
    ;;
esac
done
echo "SKIP            = ${SKIP[@]}"
echo "SOFT            = $SOFT"
    echo "Parameters:"
    echo ${PARAMS[@]}

Будет выводиться, например:

$ ./test.sh parameter -s somefile --skip=.c --skip=.obj
parameter -s somefile --skip=.c --skip=.obj
SKIP            = .c .obj
SOFT            = 1
Parameters:
parameter somefile
1
задан Rich C 26 March 2019 в 17:50
поделиться

1 ответ

Обычно ошибка « Обнаружен конфликт версий » происходит из-за того, что с версиями графа зависимостей что-то не так.

ошибка: обнаружен конфликт версий для Microsoft.EntityFrameworkCore. Установите / обратитесь к Microsoft.EntityFrameworkCore 2.2.3 напрямую в core-udemy проекта, чтобы решить эту проблему.

ошибка: core-udemy -> Microsoft.EntityFrameworkCore.SqlServer 2.2.3 -> Microsoft.EntityFrameworkCore.Relational 2.2.3 -> Microsoft.EntityFrameworkCore (> = 2.2.3)

ошибка : core-udemy -> Microsoft.AspNetCore.App 2.1.1 -> Microsoft.EntityFrameworkCore (> = 2.1.1 & amp; < 2.2.0) .

]
  1. Как описывает информация, ваш проект зависит от Microsoft.AspNetCore.App v2.1.1, для которого требуется версия Microsoft.EntityFrameworkCore (2.1.1 & amp; < 2.2. 0) [1 138].

  2. Однако, используя dotnet add core-udemy package Microsoft.EntityFrameworkCore.SqlServer, вы устанавливаете «текущую» версию Microsoft.EntityFrameworkCore. Следующий снимок экрана с NuGet показывает, что вы устанавливаете Microsoft.EntityFrameworkCore (2.2.3) :

[1117 ] enter image description here

Поскольку вы используете ASP.NET Core 2.1, , вы можете установить соответствующие пакеты с опцией --version 2.1.* :

dotnet add package Microsoft.EntityFrameworkCore.SqlServer --version 2.1.*

] Это приведет к зависимости, как показано ниже:

<ItemGroup>

    ...

    <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="2.1.*" />
</ItemGroup>

Как только вы исправите конфликт версий, вы можете запустить dotnet clean & amp; dotnet restore & amp; dotnet build, и тогда второй вопрос будет решен.


Кроме того, метапакет Microsoft.AspNetCore.App (v2.1.1) уже установил зависимость от Microsoft.EntityFrameworkCore.SqlServer (>= 2.1.1 && < 2.2.0):

enter image description here

вам не нужно добавлять такую ​​ссылку на пакет вручную.

0
ответ дан itminus 26 March 2019 в 17:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: