【发布时间】:2020-02-10 06:01:09
【问题描述】:
我在netcoreapp3.0 Web 应用程序中使用netstandard2.1 库。在Startup 添加我的服务时,我收到以下错误:
'无法加载类型'Microsoft.AspNetCore.Mvc.MvcJsonOptions' 程序集 'Microsoft.AspNetCore.Mvc.Formatters.Json, Version=3.0.0.0
我还在我的类库中使用Microsoft.AspNetCore.Mvc 2.2.0 包中的一些功能。
这是我的图书馆.csproj,
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netstandard2.1</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.Mvc" Version="2.2.0" />
</ItemGroup>
</Project>
这是我图书馆中的ServiceExtensions 课程,
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;
}
}
这是我的ConfigureLibraryOptions 课程,
public class ConfigureLibraryOptions : IConfigureOptions<MvcOptions>
{
public void Configure(MvcOptions options)
{
options.ModelBinderProviders.Insert(0, new CustomBinderProvider());
}
}
这是来自Startup 的ConfigureServices,
services.AddControllersWithViews().AddMyLibrary();
请帮助我了解为什么会出现此错误并帮助解决此问题?
【问题讨论】:
标签: c# json.net asp.net-core-mvc asp.net-core-3.0 .net-standard-2.1