2
votes

Échec de la construction pour Asp.Net Core 3 (côté client Blazor)

J'ai commencé à développer une application Web avec ASP.NET Core 3 et le framework Blazor. Pendant quelques jours / semaines, j'ai pu construire mon application. Depuis l'annonce de l'aperçu 5, je n'ai pas pu construire mon application (avec la commande dotnet build ). J'ai l'erreur suivante:

<Project Sdk="Microsoft.NET.Sdk.Web">
  <PropertyGroup>
    <TargetFramework>netstandard2.0</TargetFramework>
    <RestoreAdditionalProjectSources>
      https://dotnet.myget.org/F/aspnetcore-dev/api/v3/index.json;
      https://dotnet.myget.org/F/blazor-dev/api/v3/index.json;
    </RestoreAdditionalProjectSources>
    <LangVersion>7.3</LangVersion>
    <RazorLangVersion>3.0</RazorLangVersion>
    <TargetLatestRuntimePatch>true</TargetLatestRuntimePatch>
    <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
    <OutputType>Exe</OutputType>
    <TargetFrameworks>netstandard2.0</TargetFrameworks>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="Microsoft.ApplicationInsights.AspNetCore" Version="2.5.1" />
    <PackageReference Include="Microsoft.AspNetCore.Blazor" Version="3.0.0-preview5-19227-01" />
    <PackageReference Include="Microsoft.AspNetCore.Blazor.Build" Version="3.0.0-preview5-19227-01" PrivateAssets="all" />
    <PackageReference Include="Microsoft.AspNetCore.Blazor.DevServer" Version="3.0.0-preview5-19227-01" PrivateAssets="all" />
  </ItemGroup>
</Project>

Mon csproj ressemble à:

C:\Users\a\.nuget\packages\microsoft.aspnetcore.blazor.build\3.0.0-preview5-19227-01\targets\Blazor.MonoRuntime.targets(439,5): error MSB3073: The command "dotnet "" -l    
-o "D:\Repos\IdeaStudio.Website.Client\obj\Debug\netstandard2.0\linker/" 
-x "C:\Users\a\.nuget\packages\microsoft.aspnetcore.blazor.build\3.0.0-preview5-19227-01\targets\BuiltInBclLinkerDescriptor.xml" 
-x "D:\Repos\IdeaStudio.Website.Client\obj\Debug\netstandard2.0\linker.descriptor.xml" 
-a "C:\Users\a\.nuget\packages\microsoft.aspnetcore.blazor\3.0.0-preview5-19227-01\lib\netstandard2.0\Microsoft.AspNetCore.Blazor.dll" 
-a "C:\Users\a\.nuget\packages\microsoft.aspnetcore.components\3.0.0-preview5-19227-01\lib\netstandard2.0\Microsoft.AspNetCore.Components.dll" 
-a "C:\Users\a\.nuget\packages\microsoft.aspnetcore.components.browser\3.0.0-preview5-19227-01\lib\netstandard2.0\Microsoft.AspNetCore.Components.Browser.dll" 
-a "C:\Users\a\.nuget\packages\microsoft.extensions.dependencyinjection\3.0.0-preview5.19227.9\lib\netstandard2.0\Microsoft.Extensions.DependencyInjection.dll" 
-a "C:\Users\a\.nuget\packages\microsoft.extensions.dependencyinjection.abstractions\3.0.0-preview5.19227.9\lib\netstandard2.0\Microsoft.Extensions.DependencyInjection.Abstractions.dll" 
-a "C:\Users\a\.nuget\packages\microsoft.jsinterop\3.0.0-preview5.19227.9\lib\netstandard2.0\Microsoft.JSInterop.dll" 
-a "C:\Users\a\.nuget\packages\mono.webassembly.interop\3.0.0-preview5.19227.9\lib\netstandard2.0\Mono.WebAssembly.Interop.dll" 
-a "C:\Users\a\.nuget\packages\system.componentmodel.annotations\4.6.0-preview5.19224.8\lib\netstandard2.0\System.ComponentModel.Annotations.dll" 
-a "D:\Repos\IdeaStudio.Website.Client\obj\Debug\netstandard2.0\IdeaStudio.Website.Client.dll"" exited with code 1. 
[D:\Repos\IdeaStudio.Website.Client\IdeaStudio.Website.Client.csproj]

Je n'ai pas compris pour plusieurs jours avant ...


3 commentaires

Quelle commande avez-vous exécutée?


@MindSwipe dotnet build


Ce problème GitHub pour mono (le runtime pour blazor) suit ce code d'erreur. Quelqu'un a pu résoudre le problème en ajoutant false à la balise ProertyGroup dans le csproj


3 Réponses :


1
votes

Peut-être quand j'ai fait l'aperçu 5 de Visual Studio / .NET Core 3

dotnet cli ne peut pas créer une application avec un csproj qui contient les propriétés et ...


0 commentaires

3
votes

Ce problème sur le Mono GitHub est lié.

En gros, pour autant que je sache, quelque part dans Mono, IL Linker échoue et lance ce message d'erreur cryptique. Nous pouvons voir des indices à ce sujet dans votre message d'erreur.

À partir de maintenant, michaelccote sur GitHub a résolu le problème en ajoutant l'élément false dans le ... balises du fichier .csproj


1 commentaires

Quel fichier .csproj? * .Server ou * .Client?



0
votes

Lorsque vous utilisez Blazor WebAssembly, ASP.NET Core 3.1, accédez à yoursolution / yourproject.Client / et modifiez yourproject.Client.csproj -File. Ajoutez la ligne suivante:

<Project Sdk="Microsoft.NET.Sdk.Web">
  <PropertyGroup>
    [...]
    <BlazorWebAssemblyEnableLinking>false</BlazorWebAssemblyEnableLinking>
  </PropertyGroup>
  [...]
</Project>


0 commentaires