以ASP.NET Web形式调用Web API时,它无法加载文件或程序集“ Autofac.Integration.Web”或其依赖项之一

时间:2019-05-21 06:26:29

标签: asp.net dependency-injection web-config autofac hangfire

也许这个问题太笼统了,但是浪费了很多时间,我找不到解决方案。因此,我决定就任何想法分享我的问题。

我有一个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。由于某些原因,我无法更改位置。

我看过很多关于它的主题和文章,但是他们没有给我任何线索。

有什么主意吗?

谢谢。

0 个答案:

没有答案