System.ArgumentNullException :值不能为 null。(参数“类型”)OData 单元测试升级到 .NET 6.0

Yse*_*kil 8 .net odata .net-6.0

我最近升级到 .NET 6.0,现在在我的 OData 单元测试项目中遇到了以前未见过的错误。我遇到了:System.ArgumentNullException:值不能为空。运行以下单元测试时出现(参数“type”)错误:

\n
        [Fact]\n        public void Startup_Configure_Ok()\n        {\n            // Arrange   \n            ServiceCollection serviceCollection = new ServiceCollection();\n            serviceCollection.AddOData();\n            ServiceProvider provider = serviceCollection.BuildServiceProvider();\n            var appBuilder = new ApplicationBuilder(provider);       \n            var routeBuilder = new RouteBuilder(appBuilder);\n            routeBuilder.EnableDependencyInjection();\n\n            Startup startup = new Startup(_fixture.GetConfiguration());\n\n            // Act\n            startup.Configure(appBuilder);\n\n            // Assert\n            Assert.True(true);\n        }\n
Run Code Online (Sandbox Code Playgroud)\n

有什么建议么?

\n

堆栈跟踪:

\n
  Message:\xe2\x80\x89\nSystem.ArgumentNullException : Value cannot be null. (Parameter 'type')\n\n  Stack Trace:\xe2\x80\x89\nIntrospectionExtensions.GetTypeInfo(Type type)\nDefaultContainerBuilder.BuildContainer()\nPerRouteContainerBase.CreateODataRootContainer(Action`1 configureAction)\nPerRouteContainerBase.CreateODataRootContainer(String routeName, Action`1 configureAction)\nODataRouteBuilderExtensions.EnableDependencyInjection(IRouteBuilder builder, Action`1 configureAction)\nODataRouteBuilderExtensions.EnableDependencyInjection(IRouteBuilder builder)\nStartupUnitTest.Startup_Configure_Ok()\xe2\x80\x89line\xe2\x80\x8943\n
Run Code Online (Sandbox Code Playgroud)\n

小智 10

我看到了完全相同的症状,并通过将 Microsoft.AspNetCore.OData 版本升级到 7.5.17 来修复。