Миграция EF Core завершается неудачей в .NET 10 с ошибкой анализа JSON «Телеметрия: включена» — отключение телеметрии неC#

Место общения программистов C#
Ответить
Anonymous
 Миграция EF Core завершается неудачей в .NET 10 с ошибкой анализа JSON «Телеметрия: включена» — отключение телеметрии не

Сообщение Anonymous »

После установки SDK для .NET 10 я начал получать исключение при попытке создать миграцию с помощью Entity Framework Core.
Команда, которую я использую:

Код: Выделить всё

dotnet ef migrations add MigrationName --startup-project src\ApplicationsService.Web --project src\Applications.Database -c ApplicationDbContext --no-build
Ранее эта команда работала, но теперь выдает следующее исключение:

Код: Выделить всё

    'T' is an invalid start of a value. Path: $ | LineNumber: 0 | BytePositionInLine: 0.

at System.Text.Json.JsonSerializer.ReadFromSpan[TValue](ReadOnlySpan`1 utf8Json, JsonTypeInfo`1 jsonTypeInfo, Nullable`1 actualByteCount)
at System.Text.Json.JsonSerializer.ReadFromSpan[TValue](ReadOnlySpan`1 json, JsonTypeInfo`1 jsonTypeInfo)
at System.Text.Json.JsonSerializer.Deserialize[TValue](String json, JsonSerializerOptions options)
at Microsoft.EntityFrameworkCore.Tools.Project.FromFile(String file, String framework, String configuration, String runtime)
at Microsoft.EntityFrameworkCore.Tools.RootCommand.Execute(String[] _)
at Microsoft.EntityFrameworkCore.Tools.Commands.CommandBase.c__DisplayClass0_0.b__0(String[] args)
at Microsoft.DotNet.Cli.CommandLine.CommandLineApplication.Execute(String[] args)
at Microsoft.EntityFrameworkCore.Tools.Program.Main(String[] args)
Я обнаружил, что dotnet ef внутренне выполняет эту команду MSBuild:

Код: Выделить всё

msbuild /getProperty:ProjectName /getProperty:AssemblyName /getProperty:DesignAssembly /getProperty:Language /getProperty:OutputPath /getProperty:PlatformTarget /getProperty:ProjectAssetsFile /getProperty:ProjectDir /getProperty:RootNamespace /getProperty:RuntimeFrameworkVersion /getProperty:TargetFileName /getProperty:TargetFrameworkMoniker /getProperty:Nullable /getProperty:TargetFramework /getProperty:TargetPlatformIdentifier /getProperty:Platform /t:ResolvePackageAssets /getItem:RuntimeCopyLocalItems {private data}
Проблема в том, что вывод MSBuild теперь начинается с информации телеметрии:

Код: Выделить всё

Telemetry is: Enabled
{
"Properties": {...}
}
Инструменты EF Core пытаются проанализировать этот вывод как JSON, но строка «Телеметрия: включена» прерывает анализатор JSON, в результате чего «T» является недопустимым началом ошибки значения.
Я пытался отключить телеметрию с помощью переменных среды, но безуспешно:

Код: Выделить всё

set DOTNET_CLI_TELEMETRY_OPTOUT=1
set DOTNET_MSBUILD_TELEMETRY_OPTOUT=1
dotnet ef migrations add MigrationName ...
Среда:
.NET SDK 10.0.x
Entity Framework Core 8.x
Windows 10
Не могли бы вы помочь мне решить эту проблему?

Подробнее здесь: https://stackoverflow.com/questions/798 ... arsing-err
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»