我已多次发布我的API项目,它没有任何问题。但是当我在我的服务器的一个IIS中发布相同的发布文件时,会出现关于我的一个控制器的错误。 我检查过它,它在我的本地和另一个IIS中正常工作。
此XML文件似乎没有任何关联的样式信息 用它。文档树如下所示。一个错误 已经发生了。发生错误时 试图创建一个'CityController'类型的控制器。确保这一点 控制器有一个无参数的公共构造函数。 System.InvalidOperationException 在 System.Web.Http.Dispatcher.DefaultHttpControllerActivator.Create(HttpRequestMessage 请求,HttpControllerDescriptor controllerDescriptor,Type controllerType)at System.Web.Http.Controllers.HttpControllerDescriptor.CreateController(HttpRequestMessage 请求) System.Web.Http.Dispatcher.HttpControllerDispatcher.d__1.MoveNext() 错误有 发生了。类型 'Jabama.Web.API.Controllers.CityController'没有默认值 构造函数 System.ArgumentException 在System.Linq.Expressions.Expression.New(Type type)at System.Web.Http.Internal.TypeActivator.Create [TBASE](类型 instanceType)at System.Web.Http.Dispatcher.DefaultHttpControllerActivator.GetInstanceOrActivator(HttpRequestMessage 请求,输入controllerType,Func`1&激活者) System.Web.Http.Dispatcher.DefaultHttpControllerActivator.Create(HttpRequestMessage 请求,HttpControllerDescriptor controllerDescriptor,Type controllerType)
我检查了所有cityController
的依赖项,其中没有任何问题。
答案 0 :(得分:1)
我终于发现了什么错。当我发布API项目时,它没有在其{bin}文件夹中发布Microsoft.SqlServer.Type dll
。我将dll手动复制到IIS并进行了工作,但我并没有这样做。我知道为什么它给了我这样的错误!甚至现在我的新IIS出了什么问题,如果没有这个dll,API没有工作,而另一个IIS即使没有复制它也没有这个工作!