Blazor Mono Clientside Ошибка после обновления до netcore3.0-preview8

Я обновил свой проект проекта на стороне клиента Blazor с предварительного просмотра 7 до предварительного просмотра 8, запущенного в Visual Studio 2019.

Я следовал инструкциям, подробно изложенным здесь;

Обновления ASP.NET Core и Blazor в.NET Core 3.0 Preview 8

Однако, когда я строю решение, получаю следующую ошибку;

Неустранимая ошибка в IL Linker 5> 5> Необработанное исключение: Mono.Linker.Steps.XmlResolutionException: Не удалось обработать описание XML: ---> Mono.Cecil.AssemblyResolutionException: Не удалось разрешить сборку: 'Microsoft.AspNetCore.Mvc.Core, Версия =3.0.0.0, культура = нейтральная, PublicKeyToken=adb9793829ddae60' ---> Mono.Cecil.AssemblyResolutionException: не удалось разрешить сборку:' Microsoft.AspNetCore.Mvc.Core, версия =3.0.0.0, культура = нейтральная, PublicKeyToken=adb9793829ddae60' 5> в Mono.Linker.DirectoryAssemblyResolver.Resolve(имя AssemblyNameReference, параметры ReaderParameters) 5> в Mono.Linker.AssemblyResolver.Resolve(имя AssemblyNameReference, параметры ReaderParameters) 5> в объекте Mono.Lext. 5> --- Конец внутренней трассировки стека исключений --- 5> в Mono.Linker.LinkContext.Resolve (область IMetadataScope) 5> в Mono.Linker.LinkContext.ResolveReferences (сборка AssemblyDefinition) 5> в Mono.Linker.Steps.ResolveFromXmlStep.ProcessAssemblies(LinkContext context, XPathNodeIterator iterator) 5> в Mono.Linker.Steps.ResolveFromXmlStep.Process() 5> --- Конец внутренней трассировки стека исключений --- 5> в Mono.Linker.Steps.ResolveFromXmlStep.Process () 5> в Mono.Linker.Steps.BaseStep.Process(контекст LinkContext) 5> в Mono.Linker.Pipeline.ProcessStep(контекст LinkContext, шаг IStep) 5>
в Mono.Linker.Pipeline.Process(контекст LinkContext) 5> в Mono.Linker.Driver.Run(ILogger customLogger) 5> в Mono.Linker.Driver.Execute(аргументы String[], ILogger customLogger) 5>
в Mono.Linker.Driver.Main(String[] args) 5>C:\Users\matt.nuget\packages\microsoft.aspnetcore.blazor.build\3.0.0-preview8.19405.7\target \Blazor.MonoRuntime.targets(441,5): ошибка MSB3073: команда "dotnet "C:\Users\matt.nuget\packages\microsoft.aspnetcore.blazor.mono\3.0.0-preview8.19380.1\build\netstandard1.0../../tools/illink/illink.dll" -l нет --disable-opt недостижимые тела --verbose --strip-security true --exclude-feature com --exclude-feature sre -v false -c ссылка -u ссылка -u ссылка -b true -d "C:\Users\matt.nuget\packages\microsoft.aspnetcore.blazor.mono\3.0.0-preview8.19380.1\build\netstandard1.0../../tools/mono/bcl/" -d "C:\Users\matt.nuget\packages\microsoft.aspnetcore.blazor.mono\3.0.0-preview8.19380.1\build\netstandard1.0../../tools/mono/bcl/Facades/" -o "C:\Users\matt\Source\Repos\OakfieldLeasing\OakfieldLeasing.Blazor.Client\obj\Debug\netcoreapp3.0\blazor\linker/" -x "C:\Users\matt.nuget\packages\microsoft.aspnetcore.blazor.build\3.0.0-preview8.19405.7\ цели \BuiltInBclLinkerDescriptor.xml" -x "C:\Users\matt\Source\Repos\OakfieldLeasing\OakfieldLeasing.Blazor.Client\obj\Debug\netcoreapp3.0\blazor\linker.descriptor.xml" -a "C:\Users\matt.nuget\packages\blazored.localstorage\2.0.12\lib\netstandard2.0\Blazored.LocalStorage.dll" -a "C:\Users\matt.nuget\packages\microsoft.aspnetcore.blazor\3.0.0-preview8.19405.7\lib\netstandard2.0\Microsoft.AspNetCore.Blazor.dll" -a "C:\Users\matt.nuget\packages\microsoft.aspnetcore.blazor.httpclient\3.0.0-preview8.19405.7\lib\netstandard2.0\Microsoft.AspNetCore.Blazor.HttpClient.dll" -a "C:\Users\matt.nuget\packages\mono.webassembly.interop\3.0.0-preview8.19405.4\lib\netstandard2.0\Mono.WebAssembly.Interop.dll" -a "C:\Users\matt.nuget\packages\newtonsoft.json\12.0.3-beta1\lib\netstandard2.0\Newtonsoft.Json.dll" -a "C:\Users\matt\Source\Repos\OakfieldLeasing\OakfieldLeasing.Blazor.Shared\bin\Debug\netstandard2.1\OakfieldLeasing.Blazor.Shared.dll" -a "C:\Users\matt\Source\Repos\OakfieldLeasing\OakfieldLeasing.Blazor. Клиент \ OBJ \Debug\netcoreapp3.0\OakfieldLeasing.Blazor.Client.dll"" завершен с кодом -532462766.

Единственный другой проект, на который ссылается клиентский проект Blazor, - это общий проект, который ссылается на .Net Standard 2.1,

У меня есть следующие перечисленные в моих зависимостях -> анализаторы проекта Blazor Client.

Наконец мой .csproj является

<Project Sdk="Microsoft.NET.Sdk.Web">

  <PropertyGroup>
    <TargetFramework>netcoreapp3.0</TargetFramework>
    <OutputType>Exe</OutputType>
    <LangVersion>7.3</LangVersion>
    <RazorLangVersion>3.0</RazorLangVersion>
  </PropertyGroup>

  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
    <OutputPath></OutputPath>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="Blazored.LocalStorage" Version="2.0.12" />
    <PackageReference Include="Microsoft.AspNetCore.Blazor" Version="3.0.0-preview8.19405.7" />
    <PackageReference Include="Microsoft.AspNetCore.Blazor.Build" Version="3.0.0-preview8.19405.7" PrivateAssets="all" />
    <PackageReference Include="Microsoft.AspNetCore.Blazor.HttpClient" Version="3.0.0-preview8.19405.7" />
<PackageReference Include="Newtonsoft.Json" Version="12.0.3-beta1" />
  </ItemGroup>

  <ItemGroup>
    <ProjectReference Include="..\OakfieldLeasing.Blazor.Shared\OakfieldLeasing.Blazor.Shared.csproj" />
  </ItemGroup>

  <ItemGroup>
    <Folder Include="wwwroot\images\" />
  </ItemGroup>

</Project>

Я также попытался заменить Newtonsoft.Json с участием Microsoft.AspNetCore.NewtonsoftJson Пакет Nuget, но, похоже, это не имеет значения.

Кто-нибудь есть идеи о том, что может быть причиной этого, пожалуйста?

1 ответ

Проблема возникла из-за неправильного прочтения блога обновления и документации.

Блог здесь

Обновления ASP.NET Core и Blazor в.NET Core 3.0 Preview 8

В свою очередь относится к этапам миграции Стива Сандерсонса здесь;

Миграция с ASP.NET Core 2.2 на 3.0

который предназначен для портирования с 2.2 на 3.0 и содержит ссылки на.csproj на <TargetFramework>netcoreapp3.0</TargetFramework>

что я неправильно сделал с клиентским проектом. Что недопустимо, потому что Mono WebAssembly работает как netstandard2.0, а не netcoreapp3.0.

Возвращение.csproj обратно к netstandard2.0 исправил проблему.

Другие вопросы по тегам