编译错误: 两个 DLL 中都存在‘ ASP.global_asax’类型

我刚刚将另一个项目页面及其 dls 集成到我现有项目的 Bin/文件夹中。我的项目框架是3.5。当我试图构建项目或解决方案时,出现了以下错误:

“类型‘ ASP.global _ asax’存在于‘ c: Windows Microsoft.NET Framework v2.0.50727临时 ASP.NET 文件时间表15a75c54898b48b9汇编 dl358b062b200ceda54 _ c98cc801 App _ global.asax.DLL’和‘ c: Windows Microsoft.NET Framework v2.0.50727临时 ASP.NET 文件时间表15a75c54898b48b9 App _ global.asax.q _ h6dbfx.dll’c: Windows Microsoft.NET Framework v2.0.50727临时 ASP.NET 文件时间表15a75c54898b48b9 App _ web _ admin. master.fdf7a39c.zecazgwd.0.cs "

将“ batch = false”设置为 web.config 是不起作用的。我还尝试从“ c: Windows Microsoft.NET Framework v2.0.50727临时 ASP.NET 文件”中删除所有文件夹,然后清理并重建解决方案。但还是没用。

51999 次浏览

我建议您转到路径: C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files并清除应用程序的所有临时文件,构建解决方案,然后运行它!

在我的例子中,问题发生在虚拟应用程序的 bin 文件夹中。查看这个 bin 文件夹,你可能会看到两个文件(一个信息,我发现 给你) :

  • App _ global. asax.dll
  • App _ global. asax.coding

删除这些内容可以解决错误。App _ global.asax.dll 也是在运行时生成的,这导致了问题。但是我仍然在调查这些文件是如何到达那里的,所以欢迎评论!

在 VS2013中的.NET 4.5中,我为这个问题挣扎了一段时间,然后找到了一个有效的解决方案:

  • 手动删除 ASP.Net 项目的 bin文件夹的内容。 Clean/Rebuild 不够,显然没有删除足够的内容;)

在 web.config 的 compilation-element 中添加 batch="false"属性后,错误仍然存在。

删除 ASP.Net Temporary Files目录也没有帮助。

在我的例子中,这个问题是由意外删除“预编译 App.config”引起的。一旦我返回文件,一切都开始正常工作。

在我的情况下,我已经添加了 DLL 从本地到阶段的网站。这为我工作。

enter image description here

最近在从调试 PC 发布站点到服务器时出现了同样的错误。 将选项改为 true 解决了这个问题。

<DeleteExistingFiles>True</DeleteExistingFiles>

File ~ Properties PublishProfiles FolderProfile.pubxml

我的问题是我在我的.net 框架项目中引用了.net 标准项目,不确定它在哪里发生了冲突。

在我的例子中,为了解决这个问题,我需要禁用“预编译之前发布”并删除 bin 文件夹作为下面的图像。

step by step to set

在我的例子中,我在文件夹 bin 中添加了一个文件名 “ App _ global. asax.coding” 只删除此文件及其工作。

View Image

我只是 Clean SolutionBuild Solution然后解决!

对我有用的是

删除 TARGET BIN 文件夹或完全清空该文件夹,然后放入最新版本的 BIN 文件夹。

为什么: 在我的案例中,在将 BIN 文件夹发布到我的“主机提供商”FTP 服务器之后,BIN 文件夹没有覆盖那些不需要存在的文件,在这个案例中,那些上面提到的 App _ global 文件。Aax.dll App _ global. asax.coding

因此,通过覆盖整个 BIN 文件夹,我们保证 BIN 文件夹是一个全新的

这招对我很管用。