Ich verwende die netstandard2.1
Bibliothek in meiner netcoreapp3.0
Webanwendung. Beim Hinzufügen meines Dienstes wird Startup
folgende Fehlermeldung angezeigt:
'Typ' Microsoft.AspNetCore.Mvc.MvcJsonOptions 'konnte nicht aus Assembly' Microsoft.AspNetCore.Mvc.Formatters.Json, Version = 3.0.0.0 geladen werden
Ich verwende auch einige Funktionen aus dem Microsoft.AspNetCore.Mvc
2.2.0-Paket in meiner Klassenbibliothek.
Hier ist meine Bibliothek .csproj
,
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netstandard2.1</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.Mvc" Version="2.2.0" />
</ItemGroup>
</Project>
Hier ist meine ServiceExtensions
Klasse aus meiner Bibliothek,
public static class ServiceExtensions
{
public static IMvcBuilder AddMyLibrary(this IMvcBuilder builder)
{
builder.Services.TryAddSingleton<IHttpContextAccessor, HttpContextAccessor>();
builder.AddJsonOptions(options =>
{
options.SerializerSettings.ContractResolver = new DefaultContractResolver();
});
builder.Services.ConfigureOptions<ConfigureLibraryOptions>();
return builder;
}
}
Hier ist meine ConfigureLibraryOptions
Klasse,
public class ConfigureLibraryOptions : IConfigureOptions<MvcOptions>
{
public void Configure(MvcOptions options)
{
options.ModelBinderProviders.Insert(0, new CustomBinderProvider());
}
}
Hier ist das ConfigureServices
von Startup
,
services.AddControllersWithViews().AddMyLibrary();
Bitte helfen Sie, warum ich diesen Fehler erhalte, und helfen Sie bei der Lösung dieses Fehlers.
netstandard2.1
Klassenbibliothek mit Bezug aufMicrosoft.AspNetCore.Mvc
2.2.0 in verwenden kannnetcoreapp3.0
. Stattdessen sollte ich dasnetstandard2.1
to ändernnetcoreapp3.0
und einFrameworkReference
to hinzufügenMicrosoft.AspNetCore.App
?