繁体   English   中英

无法加载文件或程序集。 应该被Web.config忽略

[英]Could not load file or assembly. Should be ignored by Web.config

我收到了著名的错误:

无法加载文件或程序集'Oracle.DataAccess',版本= 1.0.0.0,区域性=中性,PublicKeyToken =空'或其依赖项之一。 试图加载格式错误的程序。

对于在.NET 4.5.2上运行的ASP.NET MVC 5应用程序。

我的应用程序的引用之一引用了Oracle.DataAccess程序集:

Web Application -> My Class Library -> Oracle.DataAccess

在以前的MVC 3应用程序中,我强制ASP.NET使用以下命令忽略该引用:

<system.web>
    <compilation debug="true">
         <assemblies>
             <remove assembly="Oracle.DataAccess" />
         </assemblies>
    </compilation>
</system.web>

该项目在具有完全相同的Web.config部分的完全相同的.NET运行时版本上,与完全相同的Visual Studio版本一起工作(此处的任何错别字是因为我目前没有可用的配置) 。 我已经重新启动/重建,删除bin和obj文件夹全部无济于事。

我缺少什么了吗,这个<system.web>部分在MVC 5中开始被忽略了吗?

另外,在诊断方面我可以尝试什么? 我不确定FUSLOGVW是否可以帮助诊断问题?

(由于要求,我无法更改为x64 / x86)。

我有同样的问题。 我不确定行为何时会发生变化,但是ASP.NET管道似乎正在扫描bin目录并在其中加载所有内容,而与<remove assembly =“ blah”>条目无关。 我通过保留<remove>来解决此问题,并通过创建Project_Name.wpp.targets文件来防止发布有问题的程序集。

<!-- language: lang-xml -->
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
   <ItemGroup>
     <ExcludeFromPackageFiles Include="bin\BAD_GUY_ASSEMBLY_NAME.dll">
        <FromTarget>PROJECT_NAME_HERE.wpp.targets</FromTarget>
     </ExcludeFromPackageFiles>
   </ItemGroup>
</Project>

我遵循以下指示: https : //www.asp.net/web-forms/overview/deployment/advanced-enterprise-web-deployment/except-files-and-folders-from-deployment

----- Ed

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM