{"action":"created","issue":{"url":"https://api.github.com/repos/aspnetboilerplate/aspnetboilerplate/issues/3703","repository_url":"https://api.github.com/repos/aspnetboilerplate/aspnetboilerplate","labels_url":"https://api.github.com/repos/aspnetboilerplate/aspnetboilerplate/issues/3703/labels{/name}","comments_url":"https://api.github.com/repos/aspnetboilerplate/aspnetboilerplate/issues/3703/comments","events_url":"https://api.github.com/repos/aspnetboilerplate/aspnetboilerplate/issues/3703/events","html_url":"https://github.com/aspnetboilerplate/aspnetboilerplate/issues/3703","id":346624047,"node_id":"MDU6SXNzdWUzNDY2MjQwNDc=","number":3703,"title":"No component for supporting the service Abp.AspNetCore.Configuration.IAbpAspNetCoreConfiguration was found","user":{"login":"chrsas","id":6327955,"node_id":"MDQ6VXNlcjYzMjc5NTU=","avatar_url":"https://avatars0.githubusercontent.com/u/6327955?v=4","gravatar_id":"","url":"https://api.github.com/users/chrsas","html_url":"https://github.com/chrsas","followers_url":"https://api.github.com/users/chrsas/followers","following_url":"https://api.github.com/users/chrsas/following{/other_user}","gists_url":"https://api.github.com/users/chrsas/gists{/gist_id}","starred_url":"https://api.github.com/users/chrsas/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chrsas/subscriptions","organizations_url":"https://api.github.com/users/chrsas/orgs","repos_url":"https://api.github.com/users/chrsas/repos","events_url":"https://api.github.com/users/chrsas/events{/privacy}","received_events_url":"https://api.github.com/users/chrsas/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/aspnetboilerplate/aspnetboilerplate/milestones/98","html_url":"https://github.com/aspnetboilerplate/aspnetboilerplate/milestone/98","labels_url":"https://api.github.com/repos/aspnetboilerplate/aspnetboilerplate/milestones/98/labels","id":3408236,"node_id":"MDk6TWlsZXN0b25lMzQwODIzNg==","number":98,"title":"v3.9","description":"","creator":{"login":"hikalkan","id":1210527,"node_id":"MDQ6VXNlcjEyMTA1Mjc=","avatar_url":"https://avatars1.githubusercontent.com/u/1210527?v=4","gravatar_id":"","url":"https://api.github.com/users/hikalkan","html_url":"https://github.com/hikalkan","followers_url":"https://api.github.com/users/hikalkan/followers","following_url":"https://api.github.com/users/hikalkan/following{/other_user}","gists_url":"https://api.github.com/users/hikalkan/gists{/gist_id}","starred_url":"https://api.github.com/users/hikalkan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hikalkan/subscriptions","organizations_url":"https://api.github.com/users/hikalkan/orgs","repos_url":"https://api.github.com/users/hikalkan/repos","events_url":"https://api.github.com/users/hikalkan/events{/privacy}","received_events_url":"https://api.github.com/users/hikalkan/received_events","type":"User","site_admin":false},"open_issues":17,"closed_issues":0,"state":"open","created_at":"2018-06-07T15:34:39Z","updated_at":"2018-08-09T07:22:27Z","due_on":null,"closed_at":null},"comments":10,"created_at":"2018-08-01T14:25:45Z","updated_at":"2018-08-12T02:50:15Z","closed_at":null,"author_association":"NONE","body":"When I upgraded abp from v3.8.0 to v3.8.1，An exception throwed:\r\n`No component for supporting the service Abp.AspNetCore.Configuration.IAbpAspNetCoreConfiguration was found`\r\nHere is the call stack:\r\n```\r\nCastle.MicroKernel.ComponentActivator.ComponentActivatorException: ComponentActivator: could not instantiate Microsoft.AspNetCore.Mvc.Formatters.Json.Internal.MvcJsonMvcOptionsSetup ---> System.Exception: Could not instantiate Microsoft.AspNetCore.Mvc.Formatters.Json.Internal.MvcJsonMvcOptionsSetup. ---> System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> Castle.MicroKernel.ComponentNotFoundException: No component for supporting the service Abp.AspNetCore.Configuration.IAbpAspNetCoreConfiguration was found\r\n\r\n   at Castle.MicroKernel.DefaultKernel.Castle.MicroKernel.IKernelInternal.Resolve(Type service, IDictionary arguments, IReleasePolicy policy)\r\n\r\n   at Castle.Windsor.WindsorContainer.Resolve[T]()\r\n\r\n   at Abp.Dependency.IocResolverExtensions.ResolveAsDisposable[T](IIocResolver iocResolver) in D:\\Github\\aspnetboilerplate\\src\\Abp\\Dependency\\IocResolverExtensions.cs:line 18\r\n\r\n   at Abp.Json.AbpMvcContractResolver..ctor(IIocResolver iocResolver) in D:\\Github\\aspnetboilerplate\\src\\Abp.AspNetCore\\Json\\AbpMvcContractResolver.cs:line 23\r\n\r\n   at Abp.AspNetCore.AbpServiceCollectionExtensions.<>c__DisplayClass1_0.<ConfigureAspNetCore>b__0(MvcJsonOptions jsonOptions) in D:\\Github\\aspnetboilerplate\\src\\Abp.AspNetCore\\AspNetCore\\AbpServiceCollectionExtensions.cs:line 67\r\n\r\n   at Microsoft.Extensions.Options.OptionsFactory`1.Create(String name)\r\n\r\n   at System.Lazy`1.ViaFactory(LazyThreadSafetyMode mode)\r\n\r\n   at System.Lazy`1.ExecutionAndPublication(LazyHelper executionAndPublication, Boolean useDefaultConstructor)\r\n\r\n   at System.Lazy`1.CreateValue()\r\n\r\n   at Microsoft.AspNetCore.Mvc.Formatters.Json.Internal.MvcJsonMvcOptionsSetup..ctor(ILoggerFactory loggerFactory, IOptions`1 jsonOptions, ArrayPool`1 charPool, ObjectPoolProvider objectPoolProvider)\r\n\r\n   --- End of inner exception stack trace ---\r\n\r\n   at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor, Boolean wrapExceptions)\r\n\r\n   at System.Reflection.RuntimeConstructorInfo.Invoke(BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)\r\n\r\n   at System.RuntimeType.CreateInstanceImpl(BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes)\r\n\r\n   at Castle.Core.Internal.ReflectionUtil.Instantiate[TBase](Type subtypeofTBase, Object[] ctorArgs)\r\n\r\n   --- End of inner exception stack trace ---\r\n\r\n   at Castle.Core.Internal.ReflectionUtil.Instantiate[TBase](Type subtypeofTBase, Object[] ctorArgs)\r\n\r\n   at Castle.MicroKernel.ComponentActivator.DefaultComponentActivator.CreateInstanceCore(ConstructorCandidate constructor, Object[] arguments, Type implType)\r\n\r\n   --- End of inner exception stack trace ---\r\n\r\n   at Castle.MicroKernel.ComponentActivator.DefaultComponentActivator.CreateInstanceCore(ConstructorCandidate constructor, Object[] arguments, Type implType)\r\n\r\n   at Castle.MicroKernel.ComponentActivator.DefaultComponentActivator.CreateInstance(CreationContext context, ConstructorCandidate constructor, Object[] arguments)\r\n\r\n   at Castle.MicroKernel.ComponentActivator.DefaultComponentActivator.InternalCreate(CreationContext context)\r\n\r\n   at Castle.MicroKernel.ComponentActivator.AbstractComponentActivator.Create(CreationContext context, Burden burden)\r\n\r\n   at Castle.MicroKernel.Lifestyle.AbstractLifestyleManager.CreateInstance(CreationContext context, Boolean trackedExternally)\r\n\r\n   at Castle.MicroKernel.Lifestyle.AbstractLifestyleManager.Resolve(CreationContext context, IReleasePolicy releasePolicy)\r\n\r\n   at Castle.MicroKernel.Handlers.DefaultHandler.ResolveCore(CreationContext context, Boolean requiresDecommission, Boolean instanceRequired, Burden& burden)\r\n\r\n   at Castle.MicroKernel.Handlers.DefaultHandler.Resolve(CreationContext context, Boolean instanceRequired)\r\n\r\n   at Castle.MicroKernel.DefaultKernel.ResolveComponent(IHandler handler, Type service, IDictionary additionalArguments, IReleasePolicy policy)\r\n\r\n   at Castle.MicroKernel.DefaultKernel.Castle.MicroKernel.IKernelInternal.ResolveAll(Type service, IDictionary arguments, IReleasePolicy policy)\r\n\r\n   at Castle.Windsor.MsDependencyInjection.MsCompatibleCollectionResolver.Resolve(CreationContext context, ISubDependencyResolver contextHandlerResolver, ComponentModel model, DependencyModel dependency) in D:\\Github\\castle-windsor-ms-adapter\\src\\Castle.Windsor.MsDependencyInjection\\MsCompatibleCollectionResolver.cs:line 34\r\n\r\n   at Castle.MicroKernel.Resolvers.DefaultDependencyResolver.Resolve(CreationContext context, ISubDependencyResolver contextHandlerResolver, ComponentModel model, DependencyModel dependency)\r\n\r\n   at Castle.MicroKernel.ComponentActivator.DefaultComponentActivator.CreateConstructorArguments(ConstructorCandidate constructor, CreationContext context)\r\n\r\n   at Castle.MicroKernel.ComponentActivator.DefaultComponentActivator.Instantiate(CreationContext context)\r\n\r\n   at Castle.MicroKernel.ComponentActivator.DefaultComponentActivator.InternalCreate(CreationContext context)\r\n\r\n   at Castle.MicroKernel.ComponentActivator.AbstractComponentActivator.Create(CreationContext context, Burden burden)\r\n\r\n   at Castle.MicroKernel.Lifestyle.AbstractLifestyleManager.CreateInstance(CreationContext context, Boolean trackedExternally)\r\n\r\n   at Castle.MicroKernel.Lifestyle.AbstractLifestyleManager.Resolve(CreationContext context, IReleasePolicy releasePolicy)\r\n\r\n   at Castle.MicroKernel.Handlers.DefaultHandler.ResolveCore(CreationContext context, Boolean requiresDecommission, Boolean instanceRequired, Burden& burden)\r\n\r\n   at Castle.MicroKernel.Handlers.DefaultHandler.Resolve(CreationContext context, Boolean instanceRequired)\r\n\r\n   at Castle.MicroKernel.Handlers.DefaultGenericHandler.Resolve(CreationContext context, Boolean instanceRequired)\r\n\r\n   at Castle.MicroKernel.Resolvers.DefaultDependencyResolver.Resolve(CreationContext context, ISubDependencyResolver contextHandlerResolver, ComponentModel model, DependencyModel dependency)\r\n\r\n   at Castle.MicroKernel.ComponentActivator.DefaultComponentActivator.CreateConstructorArguments(ConstructorCandidate constructor, CreationContext context)\r\n\r\n   at Castle.MicroKernel.ComponentActivator.DefaultComponentActivator.Instantiate(CreationContext context)\r\n\r\n   at Castle.MicroKernel.ComponentActivator.DefaultComponentActivator.InternalCreate(CreationContext context)\r\n\r\n   at Castle.MicroKernel.ComponentActivator.AbstractComponentActivator.Create(CreationContext context, Burden burden)\r\n\r\n   at Castle.MicroKernel.Lifestyle.AbstractLifestyleManager.CreateInstance(CreationContext context, Boolean trackedExternally)\r\n\r\n   at Castle.MicroKernel.Lifestyle.SingletonLifestyleManager.Resolve(CreationContext context, IReleasePolicy releasePolicy)\r\n\r\n   at Castle.MicroKernel.Handlers.DefaultHandler.ResolveCore(CreationContext context, Boolean requiresDecommission, Boolean instanceRequired, Burden& burden)\r\n\r\n   at Castle.MicroKernel.Handlers.DefaultHandler.Resolve(CreationContext context, Boolean instanceRequired)\r\n\r\n   at Castle.MicroKernel.Handlers.DefaultGenericHandler.Resolve(CreationContext context, Boolean instanceRequired)\r\n\r\n   at Castle.MicroKernel.DefaultKernel.ResolveComponent(IHandler handler, Type service, IDictionary additionalArguments, IReleasePolicy policy)\r\n\r\n   at Castle.MicroKernel.DefaultKernel.Castle.MicroKernel.IKernelInternal.Resolve(Type service, IDictionary arguments, IReleasePolicy policy)\r\n\r\n   at Castle.MicroKernel.Resolvers.DefaultDependencyResolver.Resolve(CreationContext context, ISubDependencyResolver contextHandlerResolver, ComponentModel model, DependencyModel dependency)\r\n\r\n   at Castle.MicroKernel.ComponentActivator.DefaultComponentActivator.CreateConstructorArguments(ConstructorCandidate constructor, CreationContext context)\r\n\r\n   at Castle.MicroKernel.ComponentActivator.DefaultComponentActivator.Instantiate(CreationContext context)\r\n\r\n   at Castle.MicroKernel.ComponentActivator.DefaultComponentActivator.InternalCreate(CreationContext context)\r\n\r\n   at Castle.MicroKernel.ComponentActivator.AbstractComponentActivator.Create(CreationContext context, Burden burden)\r\n\r\n   at Castle.MicroKernel.Lifestyle.AbstractLifestyleManager.CreateInstance(CreationContext context, Boolean trackedExternally)\r\n\r\n   at Castle.MicroKernel.Lifestyle.SingletonLifestyleManager.Resolve(CreationContext context, IReleasePolicy releasePolicy)\r\n\r\n   at Castle.MicroKernel.Handlers.DefaultHandler.ResolveCore(CreationContext context, Boolean requiresDecommission, Boolean instanceRequired, Burden& burden)\r\n\r\n   at Castle.MicroKernel.Handlers.DefaultHandler.Resolve(CreationContext context, Boolean instanceRequired)\r\n\r\n   at Castle.MicroKernel.DefaultKernel.ResolveComponent(IHandler handler, Type service, IDictionary additionalArguments, IReleasePolicy policy)\r\n\r\n   at Castle.MicroKernel.DefaultKernel.Castle.MicroKernel.IKernelInternal.ResolveAll(Type service, IDictionary arguments, IReleasePolicy policy)\r\n\r\n   at Castle.Windsor.MsDependencyInjection.MsCompatibleCollectionResolver.Resolve(CreationContext context, ISubDependencyResolver contextHandlerResolver, ComponentModel model, DependencyModel dependency) in D:\\Github\\castle-windsor-ms-adapter\\src\\Castle.Windsor.MsDependencyInjection\\MsCompatibleCollectionResolver.cs:line 34\r\n\r\n   at Castle.MicroKernel.Resolvers.DefaultDependencyResolver.Resolve(CreationContext context, ISubDependencyResolver contextHandlerResolver, ComponentModel model, DependencyModel dependency)\r\n\r\n   at Castle.MicroKernel.ComponentActivator.DefaultComponentActivator.CreateConstructorArguments(ConstructorCandidate constructor, CreationContext context)\r\n\r\n   at Castle.MicroKernel.ComponentActivator.DefaultComponentActivator.Instantiate(CreationContext context)\r\n\r\n   at Castle.MicroKernel.ComponentActivator.DefaultComponentActivator.InternalCreate(CreationContext context)\r\n\r\n   at Castle.MicroKernel.ComponentActivator.AbstractComponentActivator.Create(CreationContext context, Burden burden)\r\n\r\n   at Castle.MicroKernel.Lifestyle.AbstractLifestyleManager.CreateInstance(CreationContext context, Boolean trackedExternally)\r\n\r\n   at Castle.MicroKernel.Lifestyle.SingletonLifestyleManager.Resolve(CreationContext context, IReleasePolicy releasePolicy)\r\n\r\n   at Castle.MicroKernel.Handlers.DefaultHandler.ResolveCore(CreationContext context, Boolean requiresDecommission, Boolean instanceRequired, Burden& burden)\r\n\r\n   at Castle.MicroKernel.Handlers.DefaultHandler.Resolve(CreationContext context, Boolean instanceRequired)\r\n\r\n   at Castle.MicroKernel.Resolvers.DefaultDependencyResolver.Resolve(CreationContext context, ISubDependencyResolver contextHandlerResolver, ComponentModel model, DependencyModel dependency)\r\n\r\n   at Castle.MicroKernel.ComponentActivator.DefaultComponentActivator.CreateConstructorArguments(ConstructorCandidate constructor, CreationContext context)\r\n\r\n   at Castle.MicroKernel.ComponentActivator.DefaultComponentActivator.Instantiate(CreationContext context)\r\n\r\n   at Castle.MicroKernel.ComponentActivator.DefaultComponentActivator.InternalCreate(CreationContext context)\r\n\r\n   at Castle.MicroKernel.ComponentActivator.AbstractComponentActivator.Create(CreationContext context, Burden burden)\r\n\r\n   at Castle.MicroKernel.Lifestyle.AbstractLifestyleManager.CreateInstance(CreationContext context, Boolean trackedExternally)\r\n\r\n   at Castle.MicroKernel.Lifestyle.SingletonLifestyleManager.Resolve(CreationContext context, IReleasePolicy releasePolicy)\r\n\r\n   at Castle.MicroKernel.Handlers.DefaultHandler.ResolveCore(CreationContext context, Boolean requiresDecommission, Boolean instanceRequired, Burden& burden)\r\n\r\n   at Castle.MicroKernel.Handlers.DefaultHandler.Resolve(CreationContext context, Boolean instanceRequired)\r\n\r\n   at Castle.MicroKernel.DefaultKernel.ResolveComponent(IHandler handler, Type service, IDictionary additionalArguments, IReleasePolicy policy)\r\n\r\n   at Castle.MicroKernel.DefaultKernel.Castle.MicroKernel.IKernelInternal.ResolveAll(Type service, IDictionary arguments, IReleasePolicy policy)\r\n\r\n   at Castle.Windsor.MsDependencyInjection.MsCompatibleCollectionResolver.Resolve(CreationContext context, ISubDependencyResolver contextHandlerResolver, ComponentModel model, DependencyModel dependency) in D:\\Github\\castle-windsor-ms-adapter\\src\\Castle.Windsor.MsDependencyInjection\\MsCompatibleCollectionResolver.cs:line 34\r\n\r\n   at Castle.MicroKernel.Resolvers.DefaultDependencyResolver.Resolve(CreationContext context, ISubDependencyResolver contextHandlerResolver, ComponentModel model, DependencyModel dependency)\r\n\r\n   at Castle.MicroKernel.ComponentActivator.DefaultComponentActivator.CreateConstructorArguments(ConstructorCandidate constructor, CreationContext context)\r\n\r\n   at Castle.MicroKernel.ComponentActivator.DefaultComponentActivator.Instantiate(CreationContext context)\r\n\r\n   at Castle.MicroKernel.ComponentActivator.DefaultComponentActivator.InternalCreate(CreationContext context)\r\n\r\n   at Castle.MicroKernel.ComponentActivator.AbstractComponentActivator.Create(CreationContext context, Burden burden)\r\n\r\n   at Castle.MicroKernel.Lifestyle.AbstractLifestyleManager.CreateInstance(CreationContext context, Boolean trackedExternally)\r\n\r\n   at Castle.MicroKernel.Lifestyle.SingletonLifestyleManager.Resolve(CreationContext context, IReleasePolicy releasePolicy)\r\n\r\n   at Castle.MicroKernel.Handlers.DefaultHandler.ResolveCore(CreationContext context, Boolean requiresDecommission, Boolean instanceRequired, Burden& burden)\r\n\r\n   at Castle.MicroKernel.Handlers.DefaultHandler.Resolve(CreationContext context, Boolean instanceRequired)\r\n\r\n   at Castle.MicroKernel.Resolvers.DefaultDependencyResolver.Resolve(CreationContext context, ISubDependencyResolver contextHandlerResolver, ComponentModel model, DependencyModel dependency)\r\n\r\n   at Castle.MicroKernel.ComponentActivator.DefaultComponentActivator.CreateConstructorArguments(ConstructorCandidate constructor, CreationContext context)\r\n\r\n   at Castle.MicroKernel.ComponentActivator.DefaultComponentActivator.Instantiate(CreationContext context)\r\n\r\n   at Castle.MicroKernel.ComponentActivator.DefaultComponentActivator.InternalCreate(CreationContext context)\r\n\r\n   at Castle.MicroKernel.ComponentActivator.AbstractComponentActivator.Create(CreationContext context, Burden burden)\r\n\r\n   at Castle.MicroKernel.Lifestyle.AbstractLifestyleManager.CreateInstance(CreationContext context, Boolean trackedExternally)\r\n\r\n   at Castle.MicroKernel.Lifestyle.SingletonLifestyleManager.Resolve(CreationContext context, IReleasePolicy releasePolicy)\r\n\r\n   at Castle.MicroKernel.Handlers.DefaultHandler.ResolveCore(CreationContext context, Boolean requiresDecommission, Boolean instanceRequired, Burden& burden)\r\n\r\n   at Castle.MicroKernel.Handlers.DefaultHandler.Resolve(CreationContext context, Boolean instanceRequired)\r\n\r\n   at Castle.MicroKernel.Resolvers.DefaultDependencyResolver.Resolve(CreationContext context, ISubDependencyResolver contextHandlerResolver, ComponentModel model, DependencyModel dependency)\r\n\r\n   at Castle.MicroKernel.ComponentActivator.DefaultComponentActivator.CreateConstructorArguments(ConstructorCandidate constructor, CreationContext context)\r\n\r\n   at Castle.MicroKernel.ComponentActivator.DefaultComponentActivator.Instantiate(CreationContext context)\r\n\r\n   at Castle.MicroKernel.ComponentActivator.DefaultComponentActivator.InternalCreate(CreationContext context)\r\n\r\n   at Castle.MicroKernel.ComponentActivator.AbstractComponentActivator.Create(CreationContext context, Burden burden)\r\n\r\n   at Castle.MicroKernel.Lifestyle.AbstractLifestyleManager.CreateInstance(CreationContext context, Boolean trackedExternally)\r\n\r\n   at Castle.MicroKernel.Lifestyle.AbstractLifestyleManager.Resolve(CreationContext context, IReleasePolicy releasePolicy)\r\n\r\n   at Castle.MicroKernel.Handlers.DefaultHandler.ResolveCore(CreationContext context, Boolean requiresDecommission, Boolean instanceRequired, Burden& burden)\r\n\r\n   at Castle.MicroKernel.Handlers.DefaultHandler.Resolve(CreationContext context, Boolean instanceRequired)\r\n\r\n   at Castle.MicroKernel.DefaultKernel.ResolveComponent(IHandler handler, Type service, IDictionary additionalArguments, IReleasePolicy policy)\r\n\r\n   at Castle.MicroKernel.DefaultKernel.Castle.MicroKernel.IKernelInternal.ResolveAll(Type service, IDictionary arguments, IReleasePolicy policy)\r\n\r\n   at Castle.Windsor.MsDependencyInjection.ScopedWindsorServiceProvider.ResolveInstanceOrNull(Type serviceType, Boolean isOptional) in D:\\Github\\castle-windsor-ms-adapter\\src\\Castle.Windsor.MsDependencyInjection\\ScopedWindsorServiceProvider.cs:line 86\r\n\r\n   at Castle.Windsor.MsDependencyInjection.ScopedWindsorServiceProvider.GetServiceInternal(Type serviceType, Boolean isOptional) in D:\\Github\\castle-windsor-ms-adapter\\src\\Castle.Windsor.MsDependencyInjection\\ScopedWindsorServiceProvider.cs:line 55\r\n\r\n   at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetService[T](IServiceProvider provider)\r\n\r\n   at Microsoft.AspNetCore.Hosting.Internal.WebHost.BuildApplication()\r\n```"},"comment":{"url":"https://api.github.com/repos/aspnetboilerplate/aspnetboilerplate/issues/comments/412314747","html_url":"https://github.com/aspnetboilerplate/aspnetboilerplate/issues/3703#issuecomment-412314747","issue_url":"https://api.github.com/repos/aspnetboilerplate/aspnetboilerplate/issues/3703","id":412314747,"node_id":"MDEyOklzc3VlQ29tbWVudDQxMjMxNDc0Nw==","user":{"login":"Mardoxx","id":239665,"node_id":"MDQ6VXNlcjIzOTY2NQ==","avatar_url":"https://avatars3.githubusercontent.com/u/239665?v=4","gravatar_id":"","url":"https://api.github.com/users/Mardoxx","html_url":"https://github.com/Mardoxx","followers_url":"https://api.github.com/users/Mardoxx/followers","following_url":"https://api.github.com/users/Mardoxx/following{/other_user}","gists_url":"https://api.github.com/users/Mardoxx/gists{/gist_id}","starred_url":"https://api.github.com/users/Mardoxx/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Mardoxx/subscriptions","organizations_url":"https://api.github.com/users/Mardoxx/orgs","repos_url":"https://api.github.com/users/Mardoxx/repos","events_url":"https://api.github.com/users/Mardoxx/events{/privacy}","received_events_url":"https://api.github.com/users/Mardoxx/received_events","type":"User","site_admin":false},"created_at":"2018-08-12T02:50:15Z","updated_at":"2018-08-12T02:50:15Z","author_association":"CONTRIBUTOR","body":"```cs\r\npublic class AbpMvcContractResolver : DefaultContractResolver\r\n{\r\n    private readonly IIocResolver _iocResolver;\r\n\r\n    public AbpMvcContractResolver(IIocResolver iocResolver)\r\n    {\r\n        _iocResolver = iocResolver;\r\n    }\r\n\r\n    public override JsonContract ResolveContract(Type type) {\r\n        var resolver = _iocResolver.Resolve<AbpMvcContractResolverImpl>();\r\n\r\n        #pragma warning disable CS0618 // Type or member is obsolete\r\n        resolver.DefaultMembersSearchFlags = DefaultMembersSearchFlags;\r\n        #pragma warning restore CS0618 // Type or member is obsolete\r\n        resolver.IgnoreIsSpecifiedMembers = IgnoreIsSpecifiedMembers;\r\n        resolver.IgnoreSerializableAttribute = IgnoreSerializableAttribute;\r\n        resolver.IgnoreSerializableInterface = IgnoreSerializableInterface;\r\n        resolver.IgnoreShouldSerializeMembers = IgnoreShouldSerializeMembers;\r\n        resolver.NamingStrategy = NamingStrategy;\r\n        resolver.SerializeCompilerGeneratedMembers = SerializeCompilerGeneratedMembers;\r\n\r\n        return resolver.ResolveContract(type);\r\n    }\r\n}\r\n\r\npublic class AbpMvcContractResolverImpl : DefaultContractResolver, ITransientDependency\r\n{\r\n    private readonly string _datetimeFormat;\r\n\r\n    public AbpMvcContractResolverImpl(IAbpAspNetCoreConfiguration configuration, IOptions<MvcJsonOptions> mvcJsonOptions)\r\n    {\r\n        if (configuration.UseMvcDateTimeFormatForAppServices)\r\n        {\r\n            _datetimeFormat = mvcJsonOptions.Value.SerializerSettings.DateFormatString;\r\n        }\r\n    }\r\n\r\n    protected override JsonProperty CreateProperty(MemberInfo member, MemberSerialization memberSerialization)\r\n    {\r\n        JsonProperty property = base.CreateProperty(member, memberSerialization);\r\n\r\n        ModifyProperty(member, property);\r\n\r\n        return property;\r\n    }\r\n\r\n    protected virtual void ModifyProperty(MemberInfo member, JsonProperty property)\r\n    {\r\n        if (property.PropertyType != typeof(DateTime) && property.PropertyType != typeof(DateTime?))\r\n        {\r\n            return;\r\n        }\r\n\r\n        if (ReflectionHelper.GetSingleAttributeOfMemberOrDeclaringTypeOrDefault<DisableDateTimeNormalizationAttribute>(member) == null)\r\n        {\r\n            var converter = new AbpDateTimeConverter();\r\n\r\n            // apply DateTimeFormat only if not empty\r\n            if (!_datetimeFormat.IsNullOrWhiteSpace())\r\n            {\r\n                converter.DateTimeFormat = _datetimeFormat;\r\n            }\r\n\r\n            property.Converter = converter;\r\n        }\r\n    }\r\n}\r\n```\r\n\r\nThen the following will (should) still work:\r\n\r\n```cs\r\n//Configure JSON serializer\r\nservices.Configure<MvcJsonOptions>(jsonOptions =>\r\n{\r\n    jsonOptions.SerializerSettings.ContractResolver = new AbpMvcContractResolver(iocResolver)\r\n    {\r\n        NamingStrategy = new CamelCaseNamingStrategy()\r\n    };\r\n});\r\n```\r\n\r\n😄 "}}
{"actor":{"display_login":"Mardoxx"}}