Problem mit Abhängigkeit(en)



  • Hallo,

    ich arbeite mich gerade in die Webentwicklung mit Blazor ein und arbeite das Tutorial https://www.youtube.com/watch?v=sHuuo9L3e5c durch. Allerdings baue ich die Webanwendung nicht nach, ich versuche das dort gezeigte direkt auf mein "Spielprojekt" anzuwenden. Ich bin bei 1h03m auf der Zeitachse und möchte einen Service implementieren.

    Wenn ich meine Projektabhängigkeit setze, bekomme ich folgende Meldung:

    Error NETSDK1082 There was no runtime pack for Microsoft.AspNetCore.App available for the specified RuntimeIdentifier 'browser-wasm'.
    

    Ich habe nun versucht, herauszufinden, was ich tun muss - bin aber leider gescheitert. Ich arbeite mit .NET 8 (anders als im Tutorial).

    Kann jemand helfen? Vielen Dank im Voraus.

    VG Torsten



  • post mal dein project file. blazor hat die verschiedensten probleme mit diversen sachen die ich hier jetzt nicht alle durchrate oder aufliste.



  • Hallo,

    Projektdatei des Api-Projekts:

    <Project Sdk="Microsoft.NET.Sdk.Web">
    	<PropertyGroup>
    		<Authors>XXX</Authors>
    		<Copyright>(c) 2024 XXX</Copyright>
    		<EnableSourceControlManagerQueries>false</EnableSourceControlManagerQueries>
    		<GeneratePackageOnBuild>false</GeneratePackageOnBuild>
    		<ImplicitUsings>enable</ImplicitUsings>
    		<InvariantGlobalization>false</InvariantGlobalization>
    		<IsPublishable>false</IsPublishable>
    		<Nullable>enable</Nullable>
    		<PackageId>SkillMatrix.$(AssemblyName)</PackageId>
    		<Product>SkillMatrix</Product>
    		<ProduceReferenceAssembly>false</ProduceReferenceAssembly>
    		<RootNamespace>SkillMatrix.$(MSBuildProjectName.Replace(" ", "_"))</RootNamespace>
    		<SignAssembly>false</SignAssembly>
    		<TargetFramework>net8.0</TargetFramework>
    		<Title>Api</Title>
    		<Version>0.1.0.0</Version>
    	</PropertyGroup>
    	<ItemGroup>
    		<PackageReference Include="Azure.Identity" Version="1.10.4" />
    		<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="8.0.1" />
    		<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="8.0.1">
    			<PrivateAssets>all</PrivateAssets>
    			<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
    		</PackageReference>
    		<PackageReference Include="Microsoft.IdentityModel.JsonWebTokens" Version="7.2.0" />
    		<PackageReference Include="Swashbuckle.AspNetCore" Version="6.5.0" />
    		<PackageReference Include="System.IdentityModel.Tokens.Jwt" Version="7.2.0" />
    	</ItemGroup>
    	<ItemGroup>
    		<Reference Include="Basetypes">
    			<HintPath>..\..\cSharpLibraries\Basetypes\bin\$(Configuration)\net8.0\Basetypes.dll</HintPath>
    		</Reference>
    		<Reference Include="Core">
    			<HintPath>..\..\cSharpLibraries\Core\bin\$(Configuration)\net8.0\Core.dll</HintPath>
    		</Reference>
    	</ItemGroup>
    	<ItemGroup>
    		<Compile Update="Resources\Strings.Designer.cs">
    			<DesignTime>True</DesignTime>
    			<AutoGen>True</AutoGen>
    			<DependentUpon>Strings.resx</DependentUpon>
    		</Compile>
    	</ItemGroup>
    	<ItemGroup>
    		<EmbeddedResource Update="Resources\Strings.de-DE.resx">
    			<Generator>PublicResXFileCodeGenerator</Generator>
    		</EmbeddedResource>
    		<EmbeddedResource Update="Resources\Strings.resx">
    			<Generator>PublicResXFileCodeGenerator</Generator>
    			<LastGenOutput>Strings.Designer.cs</LastGenOutput>
    		</EmbeddedResource>
    	</ItemGroup>
    </Project>
    

    Projektdatei des Web-Projekts:

    <Project Sdk="Microsoft.NET.Sdk.BlazorWebAssembly">
    	<PropertyGroup>
    		<Authors>XXX</Authors>
    		<Copyright>(c) 2024 XXX</Copyright>
    		<EnableSourceControlManagerQueries>false</EnableSourceControlManagerQueries>
    		<GeneratePackageOnBuild>false</GeneratePackageOnBuild>
    		<ImplicitUsings>enable</ImplicitUsings>
    		<IsPublishable>false</IsPublishable>
    		<Nullable>enable</Nullable>
    		<PackageId>SkillMatrix.$(AssemblyName)</PackageId>
    		<Product>SkillMatrix</Product>
    		<ProduceReferenceAssembly>false</ProduceReferenceAssembly>
    		<RootNamespace>SkillMatrix.$(MSBuildProjectName.Replace(" ", "_"))</RootNamespace>
    		<SignAssembly>false</SignAssembly>
    		<TargetFramework>net8.0</TargetFramework>
    		<Title>Web</Title>
    		<Version>0.1.0.0</Version>
    	</PropertyGroup>
    	<ItemGroup>
    		<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly" Version="8.0.1" />
    		<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.DevServer" Version="8.0.1" PrivateAssets="all" />
    	</ItemGroup>
    	<ItemGroup>
    		<Folder Include="Services\Interfaces\" />
    	</ItemGroup>
    	<ItemGroup>
    		<ProjectReference Include="..\Api\Api.csproj" />
    	</ItemGroup>
    </Project>
    

    Danke, VG Torsten



  • Dieser Beitrag wurde gelöscht!


  • Hallo,

    ich habe im Netz gelesen, man soll die Abhängigkeiten bzw. dessen Versionen Stück für Stück prüfen. Auch die Datei "project.assets.json" soll man sich genauer anschauen. Ich weiß ehrlich gesagt nicht, worauf ich genau achten soll 😞

    Nun habe ich noch ein neues, leeres Projekt aufgesetzt. Dieses Mal habe ich das Häkchen "Enable OpenAPI Support" deaktiviert, also Swagger quasi rausgenommen. Das API Projekt enthält nun keinerlei NuGET Pakete mehr, die Liste ist leer. Wenn ich die Abhängigkeit zwischen dem API- und dem Web-Projekt herstelle, kommt erneut diese Meldung.

    Kann wirklich keiner helfen?

    VG Torsten



  • @TorDev sagte in Problem mit Abhängigkeit(en):

    AspNetCore.App

    Ich bin kein Experte mit Blazor, aber das API-Projekt zu referenzieren wird wahrscheinlich nicht funktionieren. Damit wird das ja auch im Web-Projekt referenziert und wird somit auch versucht nach browser-wasm compiliert zu werden was mit ASP.NET Core nicht geht. Du darfst glaub ich einfach das API-Projekt nicht referenzieren.

    MfG SideWinder



  • Hallo,

    doch, das muss ich sogar tun. Ich kann sonst nicht auf meine Entity-Klassen zugreifen. In den Tutorials bei YouTube wird das auch so gemacht. Die verwenden aber .NET6, das wiederum kann bzw. möchte ich nicht machen. Ich habe fertige Assemblies, die ich später mit einbinden muss.

    VG Torsten



  • Entity-Klassen legst du besser in ein Shared-Projekt (bspw. Data) welches kein ASP.NET Core referenziert und daher kein Web-Projekt ist. Meine Vermutung ist, dass <Project Sdk="Microsoft.NET.Sdk.Web"> nicht mit <Project Sdk="Microsoft.NET.Sdk.BlazorWebAssembly"> kompatibel ist. Mag aber falsch liegen, wenn du sagst, dass das in Tutorials so gezeigt wird.

    MfG SideWinder



  • Dieser Beitrag wurde gelöscht!


  • G' Morgen,

    das hat mich weiter gebracht, vielen, vielen Dank 🙂 Habe zwar neue Probleme, aber da habe ich mich vermutlich irgendwo vertan, schaue ich heute morgen nochmal rein.

    VG Torsten


Anmelden zum Antworten