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

问题描述 投票:65回答:8

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

“类型'ASP.global_asax'存在于'c:\ Windows \ Microsoft.NET \ Framework \ v2.0.50727 \ Temporary ASP.NET Files \ timesheet \ 15a75c54 \ 898b48b9 \ assembly \ dl3 \ 58b062b2 \ 00ceda54_c98cc801 \ App_global.asax .DLL'和'c:\ Windows \ Microsoft.NET \ Framework \ v2.0.50727 \ Temporary ASP.NET Files \ timesheet \ 15a75c54 \ 898b48b9 \ App_global.asax.q_h6dbfx.dll'c:\ Windows \ Microsoft.NET \ Framework \ v2.0.50727 \ Temporary ASP.NET Files \ timesheet \ 15a75c54 \ 898b48b9 \ App_Web_admin.master.fdf7a39c.zecazgwd.0.cs“

将“batch = false”设置为web.config是行不通的。我还试图删除“c:\ Windows \ Microsoft.NET \ Framework \ v2.0.50727 \ Temporary ASP.NET Files \”中的所有文件夹,然后清理并重建灵魂。但它仍然无法正常工作。

c# asp.net .net dll
8个回答
125
投票

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

  • App_global.asax.dll
  • App_global.asax.compiled

删除这些可以解决错误。 App_global.asax.dll也是在运行时生成的,这会导致问题。然而,我仍在调查这些文件是如何到达那里的,所以评论肯定是受欢迎的!


11
投票

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


7
投票

在我的情况下,问题是由意外删除“PrecompiledApp.config”引起的。一旦我返回文件,一切都开始正常工作。


3
投票

在找到一个有效的解决方案之前,我在VS2013中的.NET 4.5中挣扎了一段时间:

  • 手动删除ASP.Net项目的bin文件夹的内容。清洁/重建不足。它显然没有删除足够;)

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

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


1
投票

在我的例子中,为了解决这个问题,我需要禁用“PrecompileBeforePublish”并删除bin文件夹,如下图所示。

step by step to set


1
投票

在我的情况下,我已经在我的文件夹bin中添加了一个名为“App_global.asax.compiled”的文件,只删除这些文件及其工作。

View Image


0
投票

在我的情况下,我已经从本地到舞台网站添加了DLL。

enter image description here


0
投票

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

<DeleteExistingFiles>True</DeleteExistingFiles>

文件〜\ Properties \ PublishProfiles \ FolderProfile.pubxml


0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.