asp.net 同时存在于。求大神帮忙解决,该如何处理
asp.net 同时存在于。。。。求大神帮忙解决
开始运行成功 在次运行时错误
错误 239 类型“ASP.ascx_proselectdetail_ascx”同时存在于“c:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\web\8c181154\e217f223\App_Web_1fftfma4.dll”和“c:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\web\8c181154\e217f223\App_Web_proselectdetail.ascx.c95a9aa.kwawfgvn.dll”中 C:\Users\Administrator\Desktop\ERP\Web\Sell\SelectProInStoroom.aspx 16
求大神帮忙解决
------解决思路----------------------
参考
------解决思路----------------------
1,检查一下App_Code这个文件夹里的类,是否冲突了,如果是,则建议移出来,放到一个独立类库里编译,再引用
2,如果是单纯页面,则说明是页面类名称冲突,可能造成这种是:你之前有一个页面,然后再添加同样的页面,你个人懒了点,就直接复制粘贴到另一个文件夹造成的,这时候类是不在同一个文件夹,但是因为是复制原因,它的空间命名与类名,还有页面绑定类名,都没变,你要知道,ASP.NET最终编译后,是把所有.aspx.cs文件编译成一个统一的Web.dll程序集的,这就是说,你不管在哪个文件夹,只要是同一个工程的,都会被编译为同一个程序集,那么,如果你复制粘贴后,不改变名字空间和类名,则编译器不懂哪个类对应哪个类,特别是都是【分部类】时,它会很纠结,所以给你报错
------解决思路----------------------
发生类名重复了,自己检查一下吧,改好后将目标文件夹清空后再重新生成就行了。
------解决思路----------------------
不是要你看“引用这个”的,是要你看“定义这个”的。
------解决思路----------------------
有一个文件,从项目名称到文件夹到类名都一样
比如你设计一个类库,把源文件复制到不同的解决方案,就会出现同名的类
我以前写了一个控件,就是这种情况,解决么,随便改个名字就行
------解决思路----------------------
把用户控件注册<%@ Register TagPrefix="uc1" TagName="ProSelectDetail" Src="../Ascx/ProSelectDetail.ascx" 改成Src="~/Ascx/ProSelectDetail.ascx" 把【..】改成【~】 ,我估计是路径问题,至于你同事的电脑为什么正常,可能他的源码包与你放在不一样吧,你试一下吧,换成~,这个符号是ASP.NET的根目录
我不懂你有多少个页面引用了这个,但请尝试所有引用页面都换了
其实,如果你真的很多页面引用这个用户控件,我觉得你每个页面都使用<%@ Register TagPrefix="uc1" TagName="ProSelectDetail" Src="../Ascx/ProSelectDetail.ascx" 注册,会麻烦,我这里有一个方法,直接在web.config文件里配置一次,然后就要吧全部页面使用了,不用每次都单独注册:
<system.web>
<pages>
<controls>
<add tagPrefix="uc" tagName="ProSelectDetail" src="~/Ascx/ProSelectDetail.ascx"/>
</controls>
</pages>
</system.web>
------解决思路----------------------
先去c:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\把所有文件都删除,然后在运行看看有错没有,如果依然有错,在按上面的人建议查询这两个类下,是否有同名的class定义
开始运行成功 在次运行时错误
错误 239 类型“ASP.ascx_proselectdetail_ascx”同时存在于“c:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\web\8c181154\e217f223\App_Web_1fftfma4.dll”和“c:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\web\8c181154\e217f223\App_Web_proselectdetail.ascx.c95a9aa.kwawfgvn.dll”中 C:\Users\Administrator\Desktop\ERP\Web\Sell\SelectProInStoroom.aspx 16
求大神帮忙解决
------解决思路----------------------
参考
------解决思路----------------------
1,检查一下App_Code这个文件夹里的类,是否冲突了,如果是,则建议移出来,放到一个独立类库里编译,再引用
2,如果是单纯页面,则说明是页面类名称冲突,可能造成这种是:你之前有一个页面,然后再添加同样的页面,你个人懒了点,就直接复制粘贴到另一个文件夹造成的,这时候类是不在同一个文件夹,但是因为是复制原因,它的空间命名与类名,还有页面绑定类名,都没变,你要知道,ASP.NET最终编译后,是把所有.aspx.cs文件编译成一个统一的Web.dll程序集的,这就是说,你不管在哪个文件夹,只要是同一个工程的,都会被编译为同一个程序集,那么,如果你复制粘贴后,不改变名字空间和类名,则编译器不懂哪个类对应哪个类,特别是都是【分部类】时,它会很纠结,所以给你报错
------解决思路----------------------
发生类名重复了,自己检查一下吧,改好后将目标文件夹清空后再重新生成就行了。
------解决思路----------------------
不是要你看“引用这个”的,是要你看“定义这个”的。
------解决思路----------------------
有一个文件,从项目名称到文件夹到类名都一样
比如你设计一个类库,把源文件复制到不同的解决方案,就会出现同名的类
我以前写了一个控件,就是这种情况,解决么,随便改个名字就行
------解决思路----------------------
把用户控件注册<%@ Register TagPrefix="uc1" TagName="ProSelectDetail" Src="../Ascx/ProSelectDetail.ascx" 改成Src="~/Ascx/ProSelectDetail.ascx" 把【..】改成【~】 ,我估计是路径问题,至于你同事的电脑为什么正常,可能他的源码包与你放在不一样吧,你试一下吧,换成~,这个符号是ASP.NET的根目录
我不懂你有多少个页面引用了这个,但请尝试所有引用页面都换了
其实,如果你真的很多页面引用这个用户控件,我觉得你每个页面都使用<%@ Register TagPrefix="uc1" TagName="ProSelectDetail" Src="../Ascx/ProSelectDetail.ascx" 注册,会麻烦,我这里有一个方法,直接在web.config文件里配置一次,然后就要吧全部页面使用了,不用每次都单独注册:
<system.web>
<pages>
<controls>
<add tagPrefix="uc" tagName="ProSelectDetail" src="~/Ascx/ProSelectDetail.ascx"/>
</controls>
</pages>
</system.web>
------解决思路----------------------
先去c:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\把所有文件都删除,然后在运行看看有错没有,如果依然有错,在按上面的人建议查询这两个类下,是否有同名的class定义