1


Folgende Situation fehlt:
Ich habe eine SLN mit mehreren Projekten (Datenzugriff, Business-Objekte, Business-Logik, Web-Server).
Das Web-Projekt ist eine ASP.NET Core Web Application mit .Net-Core 1.1 mit der individuellen Benutzerkonto-Berechtigung (Identity) und der "WebApplication" -Template.
Der Rest der Projekte verwendet das .Net-Framework 4.6.2.ASP.NET Core-WebApp (.NET Core) DataAnnotations

Jetzt bin ich im Begriff, den DBContext vom Webserver zu entfernen und stattdessen den gleichen wie im Datenzugriffsprojekt zu verwenden.
Ich habe meinen ApplicationDBContext entsprechend eingerichtet und meine User-Entität erweitert den IdentityUser. Ich habe auch alles im Web-Server-Projekt geändert, um den ApplicationDBContext (in meinem Fall WTHListModell genannt) zu verwenden.
Ich habe auch die Verweise auf die Projekte WTHList.GO (Business-Objekte) und WTHList.DZ (Datenzugriff).

Jetzt kommt das Problem:
Dadurch wird das vollständige .NET-Framework für Web-Server mit erfolgreich ist (eine ".NET-Core-Web-Anwendung (.NET-Framework)" creating) und funktioniert gut.
Mit .Net-Core 1.1 bekomme ich eine FileNotFound-Exception in Bezug auf "System.ComponentModel.DataAnnotations" immer wenn ich versuche mich anzumelden oder einen Benutzer zu registrieren.
Nun habe ich gelesen, dass DataAnnotations nicht mit .Net-Core kompatibel ist und ich habe auch versucht, dem Web-Projekt weitere NuGet-Pakete und Assemblies hinzuzufügen.

Ich weiß nicht, was ich sonst noch tun kann, denn ich soll das .NET-Core Framework 1.1 für das Web-Projekt verwenden und es gibt mir diesen speziellen Fehler weiter.


Hat jemand eine Ahnung, wie man dieses Problem lösen kann?
Ich habe eine ganze Weile gesucht, und ich habe keine Lösung für dieses noch ...

Und wenn es irgendeine Relevanz hat gefunden: Ich bin mit dem VS2017 Enterprise-RC.

Vielen Dank im Voraus.

UPDATE Dies ist der Inhalt der Datei csproj:

<Project ToolsVersion="15.0" Sdk="Microsoft.NET.Sdk.Web"> 
    <PropertyGroup Label="Globals"> 
    <SccProjectName>SAK</SccProjectName> 
    <SccProvider>SAK</SccProvider> 
    <SccAuxPath>SAK</SccAuxPath> 
    <SccLocalPath>SAK</SccLocalPath> 
    </PropertyGroup> 
    <PropertyGroup> 
    <OutputType>Exe</OutputType> 
    <TargetFramework>netcoreapp1.1</TargetFramework> 
    <PreserveCompilationContext>true</PreserveCompilationContext> 
    </PropertyGroup> 
    <PropertyGroup> 
    <PackageTargetFallback>$(PackageTargetFallback);portable-net45+win8+wp8+wpa81;</PackageTargetFallback> 
    </PropertyGroup> 
    <PropertyGroup> 
    <UserSecretsId>aspnet-WTHList.Web2-ab5b6dbd-698d-4877-a2b3-6dd9b7a37960</UserSecretsId> 
    </PropertyGroup> 
    <ItemGroup> 
    <PackageReference Include="Microsoft.EntityFrameworkCore" Version="1.1.0" /> 
    <PackageReference Include="Microsoft.NETCore.App" Version="1.0.1" /> 
    <PackageReference Include="Microsoft.AspNetCore.Diagnostics" Version="1.0.0" /> 
    <PackageReference Include="Microsoft.AspNetCore.Mvc" Version="1.0.1" /> 
    <PackageReference Include="Microsoft.AspNetCore.Routing" Version="1.0.1" /> 
    <PackageReference Include="Microsoft.AspNetCore.Server.IISIntegration" Version="1.0.0" /> 
    <PackageReference Include="Microsoft.AspNetCore.Server.Kestrel" Version="1.0.1" /> 
    <PackageReference Include="Microsoft.AspNetCore.StaticFiles" Version="1.0.0" /> 
    <PackageReference Include="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="1.0.0" /> 
    <PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="1.0.0" /> 
    <PackageReference Include="Microsoft.Extensions.Logging" Version="1.1.0" /> 
    <PackageReference Include="Microsoft.Extensions.Logging.Console" Version="1.0.0" /> 
    <PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="1.0.0" /> 
    <PackageReference Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="1.0.0" /> 
    <PackageReference Include="Microsoft.VisualStudio.Web.BrowserLink.Loader" Version="14.0.0" /> 
    </ItemGroup> 
    <ItemGroup> 
    <PackageReference Include="Microsoft.AspNetCore.Authentication.Cookies" Version="1.0.0" /> 
    <PackageReference Include="Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore" Version="1.0.0" /> 
    <PackageReference Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="1.0.0" /> 
    <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="1.1.0" /> 
    <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="1.1.0" /> 
    <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer.Design" Version="1.0.1" /> 
    <PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="1.1.0-preview4-final" /> 
    <PackageReference Include="Microsoft.Extensions.Configuration.UserSecrets" Version="1.0.0" /> 
    <PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="1.0.0-msbuild2-final" /> 
    </ItemGroup> 
    <ItemGroup> 
    <DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="1.0.0-msbuild2-final" /> 
    <DotNetCliToolReference Include="Microsoft.Extensions.SecretManager.Tools" Version="1.0.0-msbuild2-final" /> 
    <DotNetCliToolReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Tools" Version="1.0.0-msbuild2-final" /> 
    </ItemGroup> 
    <ItemGroup> 
    <ProjectReference Include="..\WTHList.DZ\WTHList.DZ.csproj" /> 
    <ProjectReference Include="..\WTHList.GL\WTHList.GL.csproj" /> 
    <ProjectReference Include="..\WTHList.GO\WTHList.GO.csproj" /> 
    </ItemGroup> 
</Project> 
+0

Veröffentlichen Sie den Inhalt Ihrer csproj-Datei als Teil der Frage. –

Antwort

0

nicht mit verschiedenen "Core" Begriffe verwechselt werden: .NET Core neu ist "Basis" Rahmen, der .NET Framework 4.5 "aussieht" (4.6, usw.), aber das ist andere Rahmen. Sie können mehrere Versionen desselben Projekts (für verschiedene Frameworks) gleichzeitig kompilieren.

ASP.NET Core ist wie alt ASP.NET, aber ein neues. Es ist compiled twice - einmal für .NET Framework 4.5.1 (und "kompatibel" 4.5.2, 4.6, 4.6.1) und einmal für .NET Core (eigentlich für netstandart1.6 das ist eine Art "Spezifikation", die von NET Core implementiert wird).

So können Sie Web-Anwendungen mit ASP.NET Core erstellen, die auf .NET Framework 4.5.1 und/oder auf .NET Core bauen/laufen können.Aber Sie müssen alle Abhängigkeiten auch auf (kompatibel mit) .NET Framework 4.5.1 und/oder auf .NET Core aufbauen.

Wenn Ihre App also einige Bibliotheken benötigt (z. B. System.ComponentModel.DataAnnotations), die für NET Core nicht verfügbar sind, können Sie unter .NET Core keine App erstellen/ausführen. Sie können nur ASP.NET Core App auf .NET Framework 4.5.1+ erstellen.

Verwandte Themen