在使用httpmodule进行url重写的过程中,网站调试总是报关于“
类型“XXXXXX.XXX”不明确: 它可能来自程序集“C:\Users\PYH\AppData\Local\Temp\Temporary ASP.NET Files\root\5ab84e49\48d6a147\App_Code.wmb2uldr.DLL”或程序集“D:\XXXXX\XXXXXX\XXXXXX\bin\XXXXXX.DLL”。请在类型名称中显式指定程序集。
“的错误,发布出去又能够正常运行。最后修改
<system.webServer>
<modules>
<add name="re" type="RewriteHelper"/>
</modules>
</system.webServer>
在RewriteHelper后面加上 ,dll的名字,这样可以指定类所在的dll,问题解决。
之前报错是由于重写的类位于app_code下,会导致C:\Users\用户\AppData\Local\Temp\Temporary ASP.NET Files\root下的app_code.xxxx.dll中和网站bin目录中同时存在这个类,然后造成冲突。项目发布出去不存在app_code这个dll,所以不出错。
其他的类实际上也都重复出现,但没有在web.config中声明,所以不会有问题。