在另一个IIS中发布我的API项目

时间:2016-11-27 11:46:31

标签: asp.net-mvc api iis publishing

我已多次发布我的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的依赖项,其中没有任何问题。

1 个答案:

答案 0 :(得分:1)

我终于发现了什么错。当我发布API项目时,它没有在其{bin}文件夹中发布Microsoft.SqlServer.Type dll。我将dll手动复制到IIS并进行了工作,但我并没有这样做。我知道为什么它给了我这样的错误!甚至现在我的新IIS出了什么问题,如果没有这个dll,API没有工作,而另一个IIS即使没有复制它也没有这个工作!