我在IIS 8.5托管服务器上有问题。
该应用程序可以在开发人员计算机以及同一台计算机上的IIS上正常运行。 但是,当它发布到另一台服务器时,它将引发如下错误。应用是使用框架4.5构建的,并且也安装在服务器上。
有人可以帮我吗?提前致谢。
System.Web.HttpCompileException(0x80004005):d:\ Teledokta客户端 server \ wwwroot \ Views \ Home \ Index.cshtml(81):错误CS0012:类型 'System.Object'是在未引用的程序集中定义的。您 必须添加对程序集'System.Runtime,Version = 4.0.0.0的引用, 文化=中性,PublicKeyToken = b03f5f7f11d50a3a'。在 System.Web.Compilation.AssemblyBuilder.Compile()在 System.Web.Compilation.BuildProvidersCompiler.PerformBuild()在 System.Web.Compilation.BuildManager.CompileWebFile(VirtualPath virtualPath) System.Web.Compilation.BuildManager.GetVPathBuildResultInternal(VirtualPath virtualPath,布尔值noBuild,布尔值allowCrossApp,布尔值 allowBuildInPrecompile,布尔throwIfNotFound,布尔 (ensureIsUpToDate) System.Web.Compilation.BuildManager.GetVPathBuildResultWithNoAssert(HttpContext 上下文,VirtualPath virtualPath,布尔值noBuild,布尔值 allowCrossApp,布尔值allowBuildInPrecompile,布尔值 throwIfNotFound,布尔值确定(IsUpToDate)在 System.Web.Compilation.BuildManager.GetVirtualPathObjectFactory(VirtualPath virtualPath,HttpContext上下文,布尔allowCrossApp,布尔 throwIfNotFound) System.Web.Compilation.BuildManager.GetCompiledType(VirtualPath virtualPath) System.Web.Compilation.BuildManager.GetCompiledType(String virtualPath) System.Web.Mvc.BuildManagerWrapper.System.Web.Mvc.IBuildManager.GetCompiledType(String virtualPath) System.Web.Mvc.BuildManagerCompiledView.Render(ViewContext viewContext,TextWriter作家)在 System.Web.Mvc.ViewResultBase.ExecuteResult(ControllerContext上下文) 在 System.Web.Mvc.ControllerActionInvoker.InvokeActionResult(ControllerContext controllerContext,ActionResult actionResult)位于 System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList
1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult) at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList
1 过滤器,Int32 filterIndex,ResultExecutingContext preContext, ControllerContext controllerContext,ActionResult actionResult)位于 System.Web.Mvc.ControllerActionInvoker.InvokeActionResultWithFilters(ControllerContext controllerContext,IList1 filters, ActionResult actionResult) at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass3_6.b__3() at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass3_1.b__5(IAsyncResult asyncResult) at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResult
1.CallEndDelegate(IAsyncResult asyncResult) System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResultBase1.End() at System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeAction(IAsyncResult asyncResult) at System.Web.Mvc.Controller.<>c.b__152_1(IAsyncResult asyncResult, ExecuteCoreState innerState) at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncVoid
1.CallEndDelegate(IAsyncResult asyncResult) System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResultBase1.End() at System.Web.Mvc.Controller.EndExecuteCore(IAsyncResult asyncResult) at System.Web.Mvc.Controller.<>c.b__151_2(IAsyncResult asyncResult, Controller controller) at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncVoid
1.CallEndDelegate(IAsyncResult asyncResult) System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResultBase1.End() at System.Web.Mvc.Controller.EndExecute(IAsyncResult asyncResult) at System.Web.Mvc.Controller.System.Web.Mvc.Async.IAsyncController.EndExecute(IAsyncResult asyncResult) at System.Web.Mvc.MvcHandler.<>c.b__20_1(IAsyncResult asyncResult, ProcessRequestState innerState) at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncVoid
1.CallEndDelegate(IAsyncResult asyncResult) System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResultBase`1.End() 在System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult) System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.EndProcessRequest(IAsyncResult 结果) System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() 在System.Web.HttpApplication.ExecuteStep(IExecutionStep步骤, 布尔值和同步完成)
答案 0 :(得分:0)
将项目的aspnet_client文件夹从开发人员机器复制(如果已经存在,则替换)到托管服务器的已发布文件夹,然后重新启动IIS。