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


78

我刚刚将另一个项目页面及其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 \ ASP.NET临时文件\时间表\ 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 \”中删除所有文件夹,然后清理并重建灵魂。但仍然无法正常工作。

Answers:


154

就我而言,问题出在虚拟应用程序的bin文件夹中。查看这个bin文件夹,您可能会看到两个文件(我在这里找到的信息):

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

删除这些可解决错误。App_global.asax.dll也会在运行时生成,这会导致问题。但是,我仍在调查这些文件如何到达那里,因此绝对欢迎发表评论!


25
如果在您的一个部署中您的发布设置包括“发布时预编译”设置,则这些文件将如何到达那里的一种方法
BornToCode 2014年

3
@BornToCode你救了我的一天!:)
亚历山德罗(Alessandro)

1
就我而言,发布时的预编译选项已关闭。删除文件后,他们没有回来,网站又重新开始工作。启用“预编译”会导致生成文件...但是网站随后可以继续工作吗?
克里斯·内维尔

e!谢谢!
MarceloBarbosa

3
使用后发布“预编译”开启解决了这个问题
乔89

11

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


3
据我所知,作者已经尝试过了,但是没有用。FWIW我有与OP相同的问题,删除临时文件不起作用,在web.config中设置batch = false也不起作用
Morten Jensen


3

在找到可行的解决方案之前,我在VS2013的.NET 4.5中为这个问题苦苦挣扎了一段时间。

  • 手动删除ASP.Net项目的内容 bin-folder。清理/重建不足。它显然没有删除足够多;)

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

同样也没有帮助删除-目录ASP.Net Temporary Files


这也对我有用,但是删除temp文件夹却没有
更紧急的笑话

1

就我而言,要解决该问题,我需要禁用“ PrecompileBeforePublish”并删除bin文件夹,如下图所示。

逐步设置


1

就我而言,我在文件夹bin中添加了一个名为“ App_global.asax.compiled”的文件,仅删除了该文件及其工作。

看图片




0

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


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.