【问题标题】:ASP.Net Compilation Conflict... My usercontrol exists in two locationsASP.Net 编译冲突...我的用户控件存在于两个位置
【发布时间】:2009-01-29 09:44:56
【问题描述】:

我在尝试运行我的页面时收到以下错误消息

Compiler Error Message: CS0433: The type 'usercontrols_BirthDetails' exists in both 'c:\windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\root\5c377e82\1f883022\App_Web_ub0hcxgl.dll' and 'c:\windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\root\5c377e82\1f883022\App_Web_3ndqr5wn.dll'

代码在我的机器上运行正常,但在服务器上如上所示失败。

有时这会发生在我的机器上,但我可以通过关闭 Visual Studio 并重新启动它来修复它。所以我猜这是由于 ASP.Net 正在犯的一些编译错误而发生的一些冲突。

我的问题是,如何在不重新启动服务器的情况下解决此问题。

【问题讨论】:

    标签: .net asp.net iis webserver


    【解决方案1】:

    我的开发机器上发生过很多次这种情况,但我从来不知道它会发生在服务器上。而且,我是一名编码员,而不是系统管理员,所以请对我所说的话持保留态度,但是 . . .

    停止 IIS 进程,并删除 Temporary ASP.NET files\root\ 目录下的所有内容。这只是您的 .aspx 页面被编译下来的地方——这并不像听起来那么可怕。重新启动 IIS,一切都应该很好。而且,如果不是,请记住,这不是我的错 - 您是在 StackOverflow 上听取陌生人建议的人 :-)。

    【讨论】:

    • +1 以获得真正实用的想法。我想过做同样的事情特拉维斯,但它没有帮助。事实上,即使我重新启动机器也没有帮助。问题出在其他地方。阅读下文。
    【解决方案2】:

    好吧,我确实解决了这个问题,但根本原因是别的……显然它与声明我的用户控件类型的变量有关。出于某种原因,这与服务器上的 ASP.Net 不一致(尽管它在我自己的机器上被很好地消化了)......我不知道为什么会发生这种情况,但这条线索是给 Jon 的一个信号Skeet 介入并用技术性的废话来描述这件事。

    我的解决方案是删除 usercontrol 变量声明。我找到了解决方法。

    【讨论】:

      【解决方案3】:

      我在这里接手的一个网站上发现了同样的问题。

      UserControl 的名称在分部类中定义了多次。

      例如:

      UC1.ascx -> 公共部分类 UC1

      UC2.ascx -> 公共部分类 UC1

      我更正了第二个用户控件的部分类的名称,并且发布成功了。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-02-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多