【发布时间】:2018-06-03 15:54:21
【问题描述】:
我在 IIS 中部署了 .NET core mvc 应用程序,当我运行应用程序时,页面显示 502.5 错误,我在 powershell "dotnet D:\deploy\WebApp\WebApp.dll" 中运行命令,以下显示详细错误内容:
注意:.net 核心版本 2.0.0
未处理的异常:System.ArgumentNullException:值不能为空。 参数名称: implementationInstance 在 Microsoft.Extensions.DependencyInjection.ServiceCollectionServiceExtensions .AddSingleton[TService](IServiceCollection services, TService implementationInstance)我知道错误是怎么发生的,如何实例化?
public class Startup
{ ...
public void ConfigureServices(IServiceCollection services)
{
...
services.AddSingleton(CreateQuery()); // this is error location
...
}
IQuery CreateQuery()
{
IQuery query = null;
var dataBase = Configuration.GetSection("AppSettings")["DataBase"];
var defaultConnection = Configuration.GetSection("ConnectionStrings")["SqlServer"];
switch (dataBase)
{
case "sqlserver":
query = new WebApp.Query.Query(defaultConnection);
break;
}
return query;
}
}
【问题讨论】:
-
你在使用之前实例化了 implementationInstance 吗?
-
已经实例化了,但这可能行不通
-
在 implementationInstance 之前移除 TService..
-
我不知道。 net core怎么新建一个实例注入,可能不行,我改了平时的依赖注入,现在程序可以运行了,谢谢大家的帮助
-
@Lin.Hao 请更新解决方案
标签: c# iis asp.net-core