publish
在我的本地计算机上创建网页时出现以下错误iis
,如果我这样做debug
,它工作正常,但从发布时却不行Visual Studio
,如果我复制项目文件夹它工作没有任何问题,但我无法将文件传递到服务器,因为那里没有用户名或密码ftp
,他们已经为我提供了要从Visual Studio
这是打开http://localhost/ControlCobranza时的错误
应用程序“/ControlCobranza”中的服务器错误。
无法加载文件或程序集“Microsoft.AI.Web”或其依赖项之一。系统找不到指定的文件。
说明:执行当前 Web 请求的未处理异常。查看堆栈跟踪以获取有关错误及其代码来源的更多信息。
异常详细信息: System.IO.FileNotFoundException:无法加载文件或程序集“Microsoft.AI.Web”或其依赖项之一。系统找不到指定的文件。
源代码错误:
在执行当前 Web 请求期间引发了未处理的异常。可以使用以下异常堆栈跟踪来识别有关异常来源和位置的信息。
程序集加载跟踪:以下信息可能有助于确定“Microsoft.AI.Web”程序集未加载的原因。
AVS:程序集绑定日志记录被禁用。要启用程序集绑定错误日志记录,请将注册表值 [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) 设置为 1。 注意:与程序集绑定错误日志记录相关的性能损失。要禁用此功能,请删除注册表值 [HKLM\Software\Microsoft\Fusion!EnableLog]。
堆栈跟踪:
[FileNotFoundException:无法加载文件或程序集“Microsoft.AI.Web”或其依赖项之一。系统找不到指定的文件。]
System.RuntimeTypeHandle.GetTypeByName(String name, Boolean throwOnError, Boolean ignoreCase, Boolean reflectOnly, StackCrawlMarkHandle stackMark, IntPtr pPrivHostBinder, Boolean loadTypeFromPartialName, ObjectHandleOnStack type) +0
System.RuntimeTypeHandle.GetTypeByName(String name , Boolean throwOnError, Boolean ignoreCase, Boolean reflectionOnly, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean loadTypeFromPartialName) +106 System.RuntimeType.GetType(String typeName, Boolean throwOnError, Boolean ignoreCase, Boolean reflectionOnly, StackCrawlMark& stackMark) +62
System.Type.GetType(String typeName, Boolean throwOnError, Boolean ignoreCase) +50 System.Web.Compilation.BuildManager.GetType(String typeName, Boolean throwOnError, Boolean ignoreCase) +61
System.Web.Configuration.ConfigUtil.GetType(String typeName , String propertyName, ConfigurationElement configElement, XmlNode 节点, Boolean checkAptcaBit, Boolean ignoreCase) +53[ConfigurationErrorsException:无法加载文件或程序集“Microsoft.AI.Web”或其依赖项之一。系统找不到指定的文件。]
System.Web.Configuration.ConfigUtil.GetType(String typeName, String propertyName, ConfigurationElement configElement, XmlNode node, Boolean checkAptcaBit, Boolean ignoreCase) +587
System.Web.Configuration.ConfigUtil.GetType( String typeName, String propertyName, ConfigurationElement configElement, Boolean checkAptcaBit) +33
System.Web.Configuration.Common.ModulesEntry.SecureGetType(String typeName, String propertyName, ConfigurationElement configElement) +57 System.Web.Configuration.Common.ModulesEntry..ctor(String name, String typeName, String propertyName, ConfigurationElement configElement) +54 System.Web.HttpApplication.BuildIntegratedModuleCollection(List`1 moduleList) +198
System.Web.HttpApplication.GetModuleCollection(IntPtr appContext) +1114 System.Web.HttpApplication.RegisterEventSubscriptionsWithIIS(IntPtr appContext, HttpContext context, MethodInfo[] handlers) +140
System .Web.HttpApplication.InitSpecial(HttpApplicationState state, MethodInfo[] handlers, IntPtr appContext, HttpContext context) +172
System.Web.HttpApplicationFactory.GetSpecialApplicationInstance(IntPtr appContext, HttpContext context) +402
System.Web.Hosting.PipelineRuntime.InitializeApplication(IntPtr appContext) +343[HttpException(0x80004005):无法加载文件或程序集“Microsoft.AI.Web”或其依赖项之一。系统找不到指定的文件。]
System.Web.HttpRuntime.FirstRequestInit(HttpContext context) +539
System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context) +125 System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context) + 731
版本信息: Microsoft .NET Framework 版本:4.0.30319;ASP.NET 版本:4.6.1586.0
发生错误的可能是因为在部署程序集时未包含
Microsoft.AI.Web
要使此程序集包含在部署中,您必须选中
Copia local=true
镜像中显示的选项您还必须对
Microsoft.ApplicationInsights
, 以及应用程序需要且不在GAC中的其他程序集执行相同操作更新:
根据JuankGlezz的说法,问题出在参考资料中,并通过使用Nuget 包控件更新它们得到了修复。
修复此问题后,通过Webdeploy发布时也会发生此其他错误:
此错误与 IIS 中的权限设置问题有关,请按照此 SO英文答案中的步骤进行更正
我有同样的错误,但它发生在我身上,因为我禁用了 IIS 服务,寻找打开或关闭 Windows 功能的选项,然后寻找 Internet 信息服务,激活我需要的功能。
我希望这会有所帮助,尽管在开始时,请执行上面显示的所有步骤,但不排除此选项,您可能禁用了 Internet 信息服务。
我遇到了同样的问题,并按照英语Stack Overflow 上的这个答案中的说明解决了这个问题: