BC30560: «default_aspx» неоднозначен в пространстве имен «ASP» - PullRequest
8 голосов
/ 22 мая 2009

Когда я скомпилировал мою последнюю программу 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 

Подробные ошибки при расширении вывода компилятора ...

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
                       ~~~~~~~~~~~~~~~~

Я проверил несколько вещей, и все они оказались в порядке:

[*] Значение по умолчанию не определено дважды в любом месте

[*] Все работало на последнем выпуске 1 неделя назад

[*] Нет старых файлов, которые все еще оставаясь с скомпилированным файлы. Также я очистил временный файлы много раз.

[*] Я пытался с другими файлами ASPX и все они дают неоднозначную ошибку (ошибка в разных исходных файлах ...)

[*] Оригинальный источник работает просто отлично! только ошибка отображается на скомпилированный код.

Любые идеи или какие-либо подсказки о том, как решить эту двусмысленность.

Спасибо SK

Ответы [ 8 ]

3 голосов
/ 24 мая 2009

Хорошо, вот что я нашел, потратив три дня на эту проблему.

Наконец, я решил, что если я удалю все проекты из решения, кроме одного (который вызывал проблему), я смогу изолировать его от default.skin. Проблема казалась очень ошибочной, потому что она начала исчезать, если я удалил определенные строки из этого файла. Однако это было непоследовательным, и проблема возникала и исчезала наугад.

Так что, потеряв все надежды исправить это в коде, я решил попробовать по-другому. Я изменил параметр команды aspnet_compiler с ключа -prefix (для каждой папки создается dll) на -o (весь скомпилированный пользовательский интерфейс помещен в одну dll), проблема исчезла !!!

Кажется, проблема в некоторой ошибке в aspnet_compiler. Это было вызвано в этой версии как-то, что я не мог понять.

Я думаю о переходе на более стабильный asp.net 3.5SP1 (или, может быть, подождем asp.net 4.0) какие-либо предложения?

2 голосов
/ 06 декабря 2012

Я только что решил эту проблему с помощью следующей ссылки: http://www.netomatix.com/development/usercontrols2.aspx

Добавьте это на странице aspx или ascx ClassName = "MyModule"

   <%@ Control Language="vb" AutoEventWireup="false" CodeBehind="MyModule.ascx.vb" ClassName="MyModule" %>
0 голосов
/ 06 марта 2019

После того, как я проверил те же предметы, что и у Самуила:

[*] По умолчанию нигде не определено дважды
[*] На другом компьютере все работало 1 неделю назад
[*] Нет старых файлов, которые все еще остаются с скомпилированными файлами. Также я много раз очищал временные файлы.
[*] Я пробовал с другими файлами aspx, и все они дают неоднозначную ошибку (ошибка в разных исходных файлах ...)
[*] Оригинальный источник работает просто отлично! в скомпилированном коде отображается только ошибка.
(...)

Я просто оставил свой код как оригинальный в VS-2015 и в окне CMD я выполнил:

C:\Windows\Microsoft.NET\Framework\v4.0.30319>aspnet_compiler -v / -p "C:\inetpub\wwwroot\projectFolder"

И все работает нормально, без ошибок.

Последующие компиляции в среде VS-2015 также были в порядке.

0 голосов
/ 16 ноября 2018

У нас была такая же проблема на наших тестовых серверах. Мы нашли дубликат нашего dll приложения в файле bin. Его имя немного отличалось (в нем не было ни одного ".") От оригинального dll, но оно содержало те же типы Мы удалили его, и все снова заработало.

0 голосов
/ 20 декабря 2017

Необходимо убедиться, что пользовательский элемент управления также скопирован вместе со страницей на ваш тестовый сервер.

0 голосов
/ 12 февраля 2015

Я столкнулся с этой проблемой при использовании проекта при изменении имени / пространства имен библиотеки, на которую ссылается этот проект.

Проблема связана с тем, что в папке проекта Bin есть копия DLL с каждым именем / именем пространства имен.

Удаление папки-хранилища проекта и ее восстановление завершено.

0 голосов
/ 11 апреля 2013

Я решил эту проблему, поместив пространство имен над классом

Namespace yournamespace

Public Class yourclass name

end class

end Namespace
0 голосов
/ 22 мая 2009

Я обнаружил, что смешивание пространств имен может действительно запутать вещи.

Лучший способ очистить его - удалить все объявления пространства имен в вашем веб-проекте и убедиться в их совместимости в зависимых проектах. Не забудьте проверить свойства проекта и сгенерированные файлы .designer.vb.

Также, похоже, у вас есть каталог верхнего уровня с именем ASP - это, вероятно, тоже не поможет. Я бы полностью избавился от этого каталога и посмотрел, поможет ли это в решении проблемы. Некоторое время назад я сообщал об этом MS как об ошибке и даже предоставил им воспроизводимый пример, но ничего от них не услышал.

...