BC30560:'default_aspx'在命名空间'ASP'中不明确

Sam*_*uel 8 asp.net ambiguous

当我编译我最新的asp.net程序并尝试在测试服务器上运行时,我收到此错误

Line 46:             Dim dependencies() As String
Line 47:             CType(Me,Global.System.Web.UI.Page).AppRelativeVirtualPath = "~/default.aspx"
Line 48:             If (Global.ASP.default_aspx.__initialized = false) Then
Line 49:                 dependencies = New String(0) {}
Line 50:                 dependencies(0) = "~/default.aspx"


Source File: C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\ocbuild\c0c442ff\f0292c99\App_Web_default.aspx.cdcab7d2.4ubu1wgu.0.vb    Line: 48 
Run Code Online (Sandbox Code Playgroud)

扩展编译器输出时的详细错误...

Microsoft (R) Visual Basic Compiler version 8.0.50727.3053
for Microsoft (R) .NET Framework version 2.0.50727.3053
Copyright (c) Microsoft Corporation.  All rights reserved.

C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\ocbuild\c0c442ff\f0292c99\App_Web_default.aspx.cdcab7d2.4ubu1wgu.0.vb(48) : error BC30560: 'default_aspx' is ambiguous in the namespace 'ASP'.

            If (Global.ASP.default_aspx.__initialized = false) Then
                ~~~~~~~~~~~~~~~~~~~~~~~                            
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\ocbuild\c0c442ff\f0292c99\App_Web_default.aspx.cdcab7d2.4ubu1wgu.0.vb(51) : error BC30560: 'default_aspx' is ambiguous in the namespace 'ASP'.

                Global.ASP.default_aspx.__fileDependencies = Me.GetWrappedFileDependencies(dependencies)
                ~~~~~~~~~~~~~~~~~~~~~~~                                                                 
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\ocbuild\c0c442ff\f0292c99\App_Web_default.aspx.cdcab7d2.4ubu1wgu.0.vb(52) : error BC30560: 'default_aspx' is ambiguous in the namespace 'ASP'.

                Global.ASP.default_aspx.__initialized = true
                ~~~~~~~~~~~~~~~~~~~~~~~                     
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\ocbuild\c0c442ff\f0292c99\App_Web_default.aspx.cdcab7d2.4ubu1wgu.0.vb(76) : error BC30560: 'default_aspx' is ambiguous in the namespace 'ASP'.

        Private Sub __BuildControlTree(ByVal __ctrl As default_aspx)
                                                       ~~~~~~~~~~~~ 
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\ocbuild\c0c442ff\f0292c99\App_Web_default.aspx.cdcab7d2.4ubu1wgu.0.vb(100) : error BC30560: 'default_aspx' is ambiguous in the namespace 'ASP'.

            Me.AddWrappedFileDependencies(Global.ASP.default_aspx.__fileDependencies)
                                          ~~~~~~~~~~~~~~~~~~~~~~~                    
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\ocbuild\c0c442ff\f0292c99\App_Web_default.aspx.cdcab7d2.4ubu1wgu.1.vb(31) : error BC30560: 'default_aspx' is ambiguous in the namespace 'ASP'.

            Return New ASP.default_aspx
                       ~~~~~~~~~~~~~~~~
Run Code Online (Sandbox Code Playgroud)

我检查了一些事情,所有这些都证明是可以的:

[*]默认值在任何地方都没有定义两次

[*]一周都在最后一次发布

[*]没有旧文件仍与编译文件保持一致.我也多次清除临时文件.

[*]我尝试过使用其他aspx文件,所有这些文件都出现了模糊错误(不同源文件中的错误...)

[*]原始来源工作得很好!只有错误出现在编译的代码上.

关于如何解决这种歧义的任何想法或任何线索.

谢谢SK

Abd*_*oor 5

我刚刚通过以下链接的帮助解决了这个问题:http ://www.netomatix.com/development/usercontrols2.aspx

将其添加到 aspx 或 ascx 页面 ClassName="MyModule"

   <%@ Control Language="vb" AutoEventWireup="false" CodeBehind="MyModule.ascx.vb" ClassName="MyModule" %>
Run Code Online (Sandbox Code Playgroud)


Sam*_*uel 3

好吧,这是我花了三天时间解决这个问题后发现的。

最后我想,如果我从解决方案中删除除一个项目(导致问题)之外的所有项目,我可以将其隔离到default.skin。这个问题似乎非常不稳定,因为如果我从此文件中删除某些行,它就会消失。然而,这并不一致,问题随机出现。

因此,在失去了在代码中修复它的所有希望之后,我决定尝试另一种方式。我将 aspnet_compiler 命令的选项从 -prefix 开关(为每个文件夹创建一个 dll)更改为 -o(所有编译后的 ui 都放在一个 dll 中),问题就消失了!

看来这个问题是由于 aspnet_compiler 中的一些错误造成的。它在这个版本中以某种方式被触发,我无法弄清楚。

我正在考虑转向更稳定的asp.net 3.5SP1(或者也许等待asp.net 4.0)有什么建议吗?

  • 我在asp.net 4.0中仍然遇到这个问题 (2认同)