代码之家  ›  专栏  ›  技术社区  ›  Cyril Gupta

ASP.NET编译冲突…我的用户控件存在于两个位置

  •  0
  • Cyril Gupta  · 技术社区  · 16 年前

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

    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所犯的一些编译错误而导致的一些冲突。

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

    3 回复  |  直到 8 年前
        1
  •  2
  •   tsimon    16 年前

    我在我的dev机器上多次遇到这种情况,但我从未知道它发生在服务器上。而且,我是一个编码员,不是系统管理员,所以用一粒盐来表达我的看法,但是。…

    停止IIS进程,并删除临时ASP.NET文件\根\目录下的所有内容。这正是编译.aspx页面的地方-这并不像听起来那么可怕。重新启动IIS,一切正常。如果不是的话,记住,这不是我的错——你是那个在stackoverflow上听取陌生人建议的人。

        2
  •  1
  •   Cyril Gupta    16 年前

    嗯,我确实解决了问题,但根本原因是别的…显然,它与声明用户控件类型的变量有关。出于某种原因,这与服务器上的ASP.NET不一致(尽管它在我自己的计算机上被很好地消化了)。我不知道为什么会发生这种情况,但这条线索是一个信号,让乔恩·斯基特介入,并用技术性的含糊不清的文字描述这件事。

    在我的例子中,解决方案是删除usercontrol变量声明。我通过了一个变通办法。

        3
  •  1
  •   Vlad Irimia    8 年前

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

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

    例如:

    uc1.ascx->公共部分类uc1

    uc2.ascx->公共部分类uc1

    我更正了第二个用户控件的部分类的名称,发布工作正常。