相关疑难解决方法(0)

ASP.Net错误:"temp1.dll"和"temp2.​​dll"中都存在"foo"类型

运行Web应用程序项目时,在看似随机的时间页面可能会因CS0433错误而失败:类型存在于多个DLL中.DLL都是生成的DLL,驻留在"Temporary ASP.NET Files"目录中.

asp.net

108
推荐指数
4
解决办法
8万
查看次数

ASP.Net错误:"temp1.dll"和"temp2.​​dll"中存在类型'foo'(第2页)

解:

我也同时移动了ashx和asmx文件.WebService/WebHandler指令的Class属性指向错误的命名空间.故事的寓意是确保通过右键单击它们并选择"查看标记"来查看更改命名空间的所有 as*x文件的标记.


我遇到了与此问题此链接相同的问题,但没有一个答案解决了我的问题.(编辑:设置web.config批处理属性有效,但这是一个掩盖,而不是解决方案)

我遇到的问题是用户控件,我从根目录移动到同一Web应用程序项目中的子目录.在移动它之前,它曾经很好地工作.当我移动它时,它开始给我错误信息.

它说类名存在于临时ASP.NET文件中的两个dll文件中.果然,当我打开Reflector时,它就在两个dll中.

如果我重命名类和ascx文件,一切正常.在我的整个应用程序的任何文件中都不存在原始名称的用法.当我重命名文件时,我打开了带有Reflector的Temporary ASP.NET Files中的所有dll文件,并且不存在对原始类名的引用.

那么这个幽灵参考来自何处我能解决这个问题?

更新:我实际上在工作目录中为解决方案和我的临时目录中的每个文件添加了旧类名,并删除了包含它的每个文件.然后我重命名回原来的,破碎的名字,我仍然得到错误.

'/'应用程序中的服务器错误.编译错误说明:在编译服务此请求所需的资源期间发生错误.请查看以下特定错误详细信息并相应地修改源代码.

编译器错误ssage:CS0433:类型'ASP.dashboard_badusercontrol_ascx'存在于'c:\ Docunts和Settings\me\Local Settings\Temp\Temporary ASP.NET Files\root\3c2b7e1f\2e8a7620\App_Web_badusercontrol.ascx.a57ad085.iljdmp1p .dll'和'c:\ Docunts and Settings\me\Local Settings\Temp\Temporary ASP.NET Files\root\3c2b7e1f\2e8a7620\App_Web_bhdqaimy.dll'

来源错误:

第1098行:第1099行:
[System.Diagnostics.DebuggerNonUserCodeAttribute()]第1100行:私有全局:: ASP.dashboard_badusercontrol_ascx @__ BuildControlMyBadUserControl(){第1101行:
global :: ASP.dashboard_badusercontrol_ascx @__ctrl; 1102行:

源文件:c:\ Docunts and Settings\me\Local Settings\Temp\Temporary ASP.NET Files\root\3c2b7e1f\2e8a7620\App_Web_foo.aspx.a57ad085.1nw6dais.0.cs Line:1100


编辑:好的,所以我做了一些关于哪些有效和无效的测试.假设名称空间"MyNamespace"中的原始文件名是"BadUserControl.ascx".

我将文件移动到名为"NewDirectory"的目录,并将名称空间更改为"MyNamespace.NewDirectory".我的硬盘上没有"BadUserControl.ascx"的副本.我仔细检查了我的TFS历史记录,以确保唯一的区别是在标记和代码隐藏文件中添加".NewDirectory"到命名空间.

在这个命名空间内是另外两个名为"OtherUserControl"和"AnotherUserControl"的用户控件.

这种情况失败:我有2个Register指令:

<%@ Register src="BadUserControl.ascx" tagname="BadUserControl" tagprefix="uc1" %> 
<%@ Register src="OtherUserControl.ascx" tagname="OtherUserControl" tagprefix="uc2" %>
Run Code Online (Sandbox Code Playgroud)

这些情况有效:

  1. 我保持命名为"BadUserControl.ascx".我在同一名称空间的页面上有1个Register指令:

    <%@ Register src="BadUserControl.ascx" tagname="BadUserControl" tagprefix="uc1" %>
    
    Run Code Online (Sandbox Code Playgroud)
  2. 我将"BadUserControl.ascx"更改为"GoodUserControl.ascx"我有2个Register指令:

    <%@ Register src="GoodUserControl.ascx" tagname="GoodUserControl" tagprefix="uc1" %> …
    Run Code Online (Sandbox Code Playgroud)

.net asp.net exception-handling .net-3.5

13
推荐指数
2
解决办法
1万
查看次数

标签 统计

asp.net ×2

.net ×1

.net-3.5 ×1

exception-handling ×1