也许这个问题太笼统了,但是浪费了很多时间,我找不到解决方案。因此,我决定就任何想法分享我的问题。
我有一个ASP.NET Web窗体项目,该项目的网页(.aspx)包含一个这样的标签:
<iframe runat="server" src="API URL"></iframe>
通过运行项目,我得到以下错误:
无法加载文件或程序集“ Autofac.Integration.Web”或以下之一 它的依赖性。系统找不到指定的文件。
说明:执行以下操作时发生未处理的异常 当前的Web请求。请查看堆栈跟踪以获取更多信息 有关错误及其在代码中起源的信息。
异常详细信息:System.IO.FileNotFoundException:无法加载 文件或程序集“ Autofac.Integration.Web”或其依赖项之一。 系统找不到指定的文件。
如果删除此标签,则没有任何错误。
实际上,在我添加Autofac
的前几天,它在我的网络配置中添加了以下标签:
<modules runAllManagedModulesForAllRequests="true">
<add name="ContainerDisposal" type="Autofac.Integration.Web.ContainerDisposalModule, Autofac.Integration.Web" preCondition="managedHandler"/>
<add name="PropertyInjection" type="Autofac.Integration.Web.Forms.PropertyInjectionModule, Autofac.Integration.Web" preCondition="managedHandler"/>
</modules>
当我删除这些add tags
时,没有任何错误。我不知道为什么这些标记会对调用API产生负面影响。
另一点可能很重要,那就是API包括 Hangfire 。但是据我所知,API中没有来自Autofac的任何引用。
修改
Web API位于操作服务器中Web窗体应用程序的子文件夹中,如下所示:
Web Form Application:
> bin
> web.config
> Web API
> bin
> web.config
如您所见,Web表单应用程序web.config会由于Web API的位置而影响Web API。由于某些原因,我无法更改位置。
我看过很多关于它的主题和文章,但是他们没有给我任何线索。
有什么主意吗?
谢谢。