Почему VS 2005 продолжает выдавать мне ошибку «'x' неоднозначно в пространстве имен 'y'»?
Баунти: Я отправлю 5 долларов через PayPal за ответ, который решит эту проблему для меня.
Я не уверен, какой параметр VS я изменил, или это параметр web.config или что-то еще, но я продолжаю получать эту ошибку в списке ошибок, и все же все решения создаются нормально. Вот некоторые примеры:
Ошибка 5 «CompilerGlobalScopeAttribute» неоднозначна в пространстве имен «System.Runtime.CompilerServices». C: \ projects \ MyProject \ Web \ Controls \ EmailStory.ascx 609 184 C: \ ... \ Web \ Ошибка 6 «ArrayList» неоднозначна в пространстве имен «System.Collections». C: \ projects \ MyProject \ Web \ Controls \ EmailStory.ascx.vb 13 28 C: \ ... \ Web \ Ошибка 7 «Исключение» неоднозначна в пространстве имен «Система». C: \ projects \ MyProject \ Web \ Controls \ EmailStory.ascx.vb 37 21 C: \ ... \ Web \ Ошибка 8 «EventArgs» неоднозначна в пространстве имен «Система». C: \ projects \ MyProject \ Web \ Controls \ EmailStory.ascx.vb 47 64 C: \ ... \ Web \ Ошибка 9 «EventArgs» неоднозначна в пространстве имен «Система». C: \ projects \ MyProject \ Web \ Controls \ EmailStory.ascx.vb 140 72 C: \ ... \ Web \ Ошибка 10 «Массив» неоднозначна в пространстве имен «Система». C: \ projects \ MyProject \ Web \ Controls \ EmailStory.ascx.vb 147 35 C: \ ... \ Web \ [...так далее...] Ошибка 90 «DateTime» неоднозначна в пространстве имен «Система». C: \ projects \ MyProject \ Web \ App_Code \ XsltHelperFunctions.vb 13 8 C: \ ... \ Web \
Как вы понимаете, это действительно раздражает, поскольку повсюду в коде есть синие волнистые подчеркивания, а отфильтровать соответствующие ошибки на панели списка ошибок практически невозможно. Я проверил стандартные ASP.Net web.config и machine.config, но, похоже, ничего особенного.
Изменить: вот некоторые из источников, в которых возникают ошибки:
'Error #5: whole line is blue underlined'
<%= addEmailToList.ToolTip %>
'Error #6: ArrayList is blue underlined'
Private _emails As New ArrayList()
'Error #7: Exception is blue underlined'
Catch ex As Exception
'Error #8: System.EventArgs is blue underlined'
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
'Error #9: System.EventArgs is blue underlined'
Protected Sub sendMessage_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles sendMessage.Click
'Error #10: Array is blue underlined'
Me.emailSentTo.Text = Array.Join(";", mailToAddresses)
'Error #90: DateTime is blue underlined'
If DateTime.TryParse(data, dateValue) Then
Изменить : результаты GacUtil
C: \ WINDOWS \ Microsoft.NET \ Framework \ v1.1.4322 \ gacutil -l mscorlib Утилита Microsoft (R) .NET Global Assembly Cache Utility. Версия 1.1.4318.0 Авторские права (C) Microsoft Corporation 1998-2002. Все права защищены. Глобальный кэш сборок содержит следующие сборки: Кэш файлов ngen содержит следующие записи: mscorlib, версия = 1.0.5000.0, культура = нейтральный, PublicKeyToken = b77a5c5619 34e089, Пользовательский = 5a00410050002d004e0035002e0031002d003800460053002d003700430039004 40037004500430036000000 mscorlib, версия = 1.0.5000.0, культура = нейтральный, PublicKeyToken = b77a5c5619 34e089, Пользовательский = 5a00410050002d004e0035002e0031002d0038004600440053002d00370043003 900450036003100370035000000 Количество предметов = 2
"C: \ Program Files \ Microsoft Visual Studio 8 \ SDK \ v2.0 \ Bin \ gacutil" -l mscorlib Утилита Microsoft (R) .NET Global Assembly Cache Utility. Версия 2.0.50727.42 Авторское право (c) Корпорация Microsoft. Все права защищены. Глобальный кэш сборок содержит следующие сборки: Количество элементов = 0
Изменить : интересные результаты от ngen:
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\ngen display mscorlib /verbose
Microsoft (R) CLR Native Image Generator - Version 2.0.50727.832
Copyright (C) Microsoft Corporation 1998-2002. All rights reserved.
NGEN Roots:
mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, Custom=5a00410050002d004e0035002e0031002d003800460053002d00330037004200430043003300430035000000
ScenarioDefault
mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, Custom=5a00410050002d004e0035002e0031002d003800460053002d00330037004200430043003300430035000000
DisplayName = mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
Native image = {7681CE0F-F0E7-F03A-2B56-96345589D82B}
Hard Dependencies:
Soft Dependencies:
mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
ScenarioNoDependencies
mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
DisplayName = mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
Native image = {7681CE0F-F0E7-F03A-2B56-96345589D82B}
Hard Dependencies:
Soft Dependencies:
NGEN Roots that depend on "mscorlib":
[...a bunch of stuff...]
Native Images:
mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
Source MVID: {D34102CF-2ABF-4004-8B42-2859D8FF27F3}
Source HASH: bbf5cfc19bea4e13889e39eb1fb72479a45ad0ec
NGen GUID sign: {7681CE0F-F0E7-F03A-2B56-96345589D82B}
OS: WinNT
Processor: x86(Pentium 4) (features: 00008001)
Runtime: 2.0.50727.832
mscorwks.dll: TimeStamp=461F2E2A, CheckSum=00566DC9
Flags:
Scenarios: <no debug info> <no debugger> <no profiler> <no instrumentation>
Granted set: <PermissionSet class="System.Security.PermissionSet" version="1" Unrestricted="true"/>
File:
C:\WINDOWS\assembly\NativeImages_v2.0.50727_32\mscorlib\0fce8176e7f03af02b5696345589d82b\mscorlib.ni.dll
Dependencies:
mscorlib, Version=2.0.0.0, PublicKeyToken=b77a5c561934e089:
Guid:{D34102CF-2ABF-4004-8B42-2859D8FF27F3}
Sign:bbf5cfc19bea4e13889e39eb1fb72479a45ad0ec
mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
Source MVID: {D34102CF-2ABF-4004-8B42-2859D8FF27F3}
Source HASH: bbf5cfc19bea4e13889e39eb1fb72479a45ad0ec
NGen GUID sign: {7681CE0F-F0E7-F03A-2B56-96345589D82B}
OS: WinNT
Processor: x86(Pentium 4) (features: 00008001)
Runtime: 2.0.50727.832
mscorwks.dll: TimeStamp=461F2E2A, CheckSum=00566DC9
Flags:
Scenarios: <no debug info> <no debugger> <no profiler> <no instrumentation>
Granted set: <PermissionSet class="System.Security.PermissionSet" version="1" Unrestricted="true"/>
File:
C:\WINDOWS\assembly\NativeImages_v2.0.50727_32\mscorlib\0fce8176e7f03af02b5696345589d82b\mscorlib.ni.dll
Dependencies:
mscorlib, Version=2.0.0.0, PublicKeyToken=b77a5c561934e089:
Guid:{D34102CF-2ABF-4004-8B42-2859D8FF27F3}
Sign:bbf5cfc19bea4e13889e39eb1fb72479a45ad0ec
mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
Source MVID: {D34102CF-2ABF-4004-8B42-2859D8FF27F3}
Source HASH: bbf5cfc19bea4e13889e39eb1fb72479a45ad0ec
NGen GUID sign: {7681CE0F-F0E7-F03A-2B56-96345589D82B}
OS: WinNT
Processor: x86(Pentium 4) (features: 00008001)
Runtime: 2.0.50727.832
mscorwks.dll: TimeStamp=461F2E2A, CheckSum=00566DC9
Flags:
Scenarios: <no debug info> <no debugger> <no profiler> <no instrumentation>
Granted set: <PermissionSet class="System.Security.PermissionSet" version="1" Unrestricted="true"/>
File:
C:\WINDOWS\assembly\NativeImages_v2.0.50727_32\mscorlib\0fce8176e7f03af02b5696345589d82b\mscorlib.ni.dll
Dependencies:
mscorlib, Version=2.0.0.0, PublicKeyToken=b77a5c561934e089:
Guid:{D34102CF-2ABF-4004-8B42-2859D8FF27F3}
Sign:bbf5cfc19bea4e13889e39eb1fb72479a45ad0ec
mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
Source MVID: {D34102CF-2ABF-4004-8B42-2859D8FF27F3}
Source HASH: bbf5cfc19bea4e13889e39eb1fb72479a45ad0ec
NGen GUID sign: {7681CE0F-F0E7-F03A-2B56-96345589D82B}
OS: WinNT
Processor: x86(Pentium 4) (features: 00008001)
Runtime: 2.0.50727.832
mscorwks.dll: TimeStamp=461F2E2A, CheckSum=00566DC9
Flags:
Scenarios: <no debug info> <no debugger> <no profiler> <no instrumentation>
Granted set: <PermissionSet class="System.Security.PermissionSet" version="1" Unrestricted="true"/>
File:
C:\WINDOWS\assembly\NativeImages_v2.0.50727_32\mscorlib\0fce8176e7f03af02b5696345589d82b\mscorlib.ni.dll
Dependencies:
mscorlib, Version=2.0.0.0, PublicKeyToken=b77a5c561934e089:
Guid:{D34102CF-2ABF-4004-8B42-2859D8FF27F3}
Sign:bbf5cfc19bea4e13889e39eb1fb72479a45ad0ec
mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
Source MVID: {D34102CF-2ABF-4004-8B42-2859D8FF27F3}
Source HASH: bbf5cfc19bea4e13889e39eb1fb72479a45ad0ec
NGen GUID sign: {7681CE0F-F0E7-F03A-2B56-96345589D82B}
OS: WinNT
Processor: x86(Pentium 4) (features: 00008001)
Runtime: 2.0.50727.832
mscorwks.dll: TimeStamp=461F2E2A, CheckSum=00566DC9
Flags:
Scenarios: <no debug info> <no debugger> <no profiler> <no instrumentation>
Granted set: <PermissionSet class="System.Security.PermissionSet" version="1" Unrestricted="true"/>
File:
C:\WINDOWS\assembly\NativeImages_v2.0.50727_32\mscorlib\0fce8176e7f03af02b5696345589d82b\mscorlib.ni.dll
Dependencies:
mscorlib, Version=2.0.0.0, PublicKeyToken=b77a5c561934e089:
Guid:{D34102CF-2ABF-4004-8B42-2859D8FF27F3}
Sign:bbf5cfc19bea4e13889e39eb1fb72479a45ad0ec
mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
Source MVID: {D34102CF-2ABF-4004-8B42-2859D8FF27F3}
Source HASH: bbf5cfc19bea4e13889e39eb1fb72479a45ad0ec
NGen GUID sign: {7681CE0F-F0E7-F03A-2B56-96345589D82B}
OS: WinNT
Processor: x86(Pentium 4) (features: 00008001)
Runtime: 2.0.50727.832
mscorwks.dll: TimeStamp=461F2E2A, CheckSum=00566DC9
Flags:
Scenarios: <no debug info> <no debugger> <no profiler> <no instrumentation>
Granted set: <PermissionSet class="System.Security.PermissionSet" version="1" Unrestricted="true"/>
File:
C:\WINDOWS\assembly\NativeImages_v2.0.50727_32\mscorlib\0fce8176e7f03af02b5696345589d82b\mscorlib.ni.dll
Dependencies:
mscorlib, Version=2.0.0.0, PublicKeyToken=b77a5c561934e089:
Guid:{D34102CF-2ABF-4004-8B42-2859D8FF27F3}
Sign:bbf5cfc19bea4e13889e39eb1fb72479a45ad0ec
mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
Source MVID: {D34102CF-2ABF-4004-8B42-2859D8FF27F3}
Source HASH: bbf5cfc19bea4e13889e39eb1fb72479a45ad0ec
NGen GUID sign: {7681CE0F-F0E7-F03A-2B56-96345589D82B}
OS: WinNT
Processor: x86(Pentium 4) (features: 00008001)
Runtime: 2.0.50727.832
mscorwks.dll: TimeStamp=461F2E2A, CheckSum=00566DC9
Flags:
Scenarios: <no debug info> <no debugger> <no profiler> <no instrumentation>
Granted set: <PermissionSet class="System.Security.PermissionSet" version="1" Unrestricted="true"/>
File:
C:\WINDOWS\assembly\NativeImages_v2.0.50727_32\mscorlib\0fce8176e7f03af02b5696345589d82b\mscorlib.ni.dll
Dependencies:
mscorlib, Version=2.0.0.0, PublicKeyToken=b77a5c561934e089:
Guid:{D34102CF-2ABF-4004-8B42-2859D8FF27F3}
Sign:bbf5cfc19bea4e13889e39eb1fb72479a45ad0ec
mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
Source MVID: {D34102CF-2ABF-4004-8B42-2859D8FF27F3}
Source HASH: bbf5cfc19bea4e13889e39eb1fb72479a45ad0ec
NGen GUID sign: {7681CE0F-F0E7-F03A-2B56-96345589D82B}
OS: WinNT
Processor: x86(Pentium 4) (features: 00008001)
Runtime: 2.0.50727.832
mscorwks.dll: TimeStamp=461F2E2A, CheckSum=00566DC9
Flags:
Scenarios: <no debug info> <no debugger> <no profiler> <no instrumentation>
Granted set: <PermissionSet class="System.Security.PermissionSet" version="1" Unrestricted="true"/>
File:
C:\WINDOWS\assembly\NativeImages_v2.0.50727_32\mscorlib\0fce8176e7f03af02b5696345589d82b\mscorlib.ni.dll
Dependencies:
mscorlib, Version=2.0.0.0, PublicKeyToken=b77a5c561934e089:
Guid:{D34102CF-2ABF-4004-8B42-2859D8FF27F3}
Sign:bbf5cfc19bea4e13889e39eb1fb72479a45ad0ec
mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
Source MVID: {D34102CF-2ABF-4004-8B42-2859D8FF27F3}
Source HASH: bbf5cfc19bea4e13889e39eb1fb72479a45ad0ec
NGen GUID sign: {7681CE0F-F0E7-F03A-2B56-96345589D82B}
OS: WinNT
Processor: x86(Pentium 4) (features: 00008001)
Runtime: 2.0.50727.832
mscorwks.dll: TimeStamp=461F2E2A, CheckSum=00566DC9
Flags:
Scenarios: <no debug info> <no debugger> <no profiler> <no instrumentation>
Granted set: <PermissionSet class="System.Security.PermissionSet" version="1" Unrestricted="true"/>
File:
C:\WINDOWS\assembly\NativeImages_v2.0.50727_32\mscorlib\0fce8176e7f03af02b5696345589d82b\mscorlib.ni.dll
Dependencies:
mscorlib, Version=2.0.0.0, PublicKeyToken=b77a5c561934e089:
Guid:{D34102CF-2ABF-4004-8B42-2859D8FF27F3}
Sign:bbf5cfc19bea4e13889e39eb1fb72479a45ad0ec
mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
Source MVID: {D34102CF-2ABF-4004-8B42-2859D8FF27F3}
Source HASH: bbf5cfc19bea4e13889e39eb1fb72479a45ad0ec
NGen GUID sign: {7681CE0F-F0E7-F03A-2B56-96345589D82B}
OS: WinNT
Processor: x86(Pentium 4) (features: 00008001)
Runtime: 2.0.50727.832
mscorwks.dll: TimeStamp=461F2E2A, CheckSum=00566DC9
Flags:
Scenarios: <no debug info> <no debugger> <no profiler> <no instrumentation>
Granted set: <PermissionSet class="System.Security.PermissionSet" version="1" Unrestricted="true"/>
File:
C:\WINDOWS\assembly\NativeImages_v2.0.50727_32\mscorlib\0fce8176e7f03af02b5696345589d82b\mscorlib.ni.dll
Dependencies:
mscorlib, Version=2.0.0.0, PublicKeyToken=b77a5c561934e089:
Guid:{D34102CF-2ABF-4004-8B42-2859D8FF27F3}
Sign:bbf5cfc19bea4e13889e39eb1fb72479a45ad0ec
mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
Source MVID: {D34102CF-2ABF-4004-8B42-2859D8FF27F3}
Source HASH: bbf5cfc19bea4e13889e39eb1fb72479a45ad0ec
NGen GUID sign: {7681CE0F-F0E7-F03A-2B56-96345589D82B}
OS: WinNT
Processor: x86(Pentium 4) (features: 00008001)
Runtime: 2.0.50727.832
mscorwks.dll: TimeStamp=461F2E2A, CheckSum=00566DC9
Flags:
Scenarios: <no debug info> <no debugger> <no profiler> <no instrumentation>
Granted set: <PermissionSet class="System.Security.PermissionSet" version="1" Unrestricted="true"/>
File:
C:\WINDOWS\assembly\NativeImages_v2.0.50727_32\mscorlib\0fce8176e7f03af02b5696345589d82b\mscorlib.ni.dll
Dependencies:
mscorlib, Version=2.0.0.0, PublicKeyToken=b77a5c561934e089:
Guid:{D34102CF-2ABF-4004-8B42-2859D8FF27F3}
Sign:bbf5cfc19bea4e13889e39eb1fb72479a45ad0ec
В собственных образах должен быть только один mscorlib, верно? Как мне избавиться от остальных?
Ответов (8)8
Основываясь на результатах вашего вывода gacutil (спасибо за это; я думаю, это помогает), я бы сказал, что вам нужно попробовать запустить восстановление в установке .NET Framework и Visual Studio 2005. Я не уверен, что это будет исправьте это, но, как видно из вывода gacutil, для 2.0 у вас его нет.
Из командной строки VS2005 я получаю:
Утилита Microsoft (R) .NET Global Assembly Cache Utility. Версия 2.0.50727.42 Авторское право (c) Корпорация Microsoft. Все права защищены. Глобальный кэш сборок содержит следующие сборки: mscorlib, Версия = 2.0.0.0, Культура = нейтральный, PublicKeyToken = b77a5c561934e089, processorArchitecture = x86 Количество предметов = 1
Из командной строки VS2003 я получаю:
Утилита Microsoft (R) .NET Global Assembly Cache Utility. Версия 1.1.4322.573 Авторские права (C) Microsoft Corporation 1998-2002. Все права защищены. Глобальный кэш сборок содержит следующие сборки: Кэш файлов ngen содержит следующие записи: mscorlib, Версия = 1.0.5000.0, Культура = нейтральный, PublicKeyToken = b77a5c561934e089, Пользовательский = 5a00410050002d004e0035002e0031002d003800460053002d00330037004200430043003300430035000000 mscorlib, Версия = 1.0.5000.0, Культура = нейтральный, PublicKeyToken = b77a5c561934e089, Пользовательский = 5a00410050002d004e0035002e0031002d0038004600440053002d00330037004200440036004600430034000000 Количество предметов = 2
Недавно у меня была такая же ошибка. Вот как я это исправил (надеюсь, это сработает и для вас):
-Откройте свойства вашего проекта, перейдите в раздел ссылок.
-Удалить ссылку на System в верхнем разделе.
Я думаю, что он дважды ссылается на систему, но отображается только один раз. Отсюда неоднозначные ссылки.
Возьмите одну ошибку (например, ArrayList) и замените тип полным именем (я не уверен, но думаю, здесь: System.Collection.ArrayList). Если ошибка исчезнет, у вас действительно есть разрешающий конфликт. Если нет, то другое дело.
Если все решения работают нормально с этими ошибками, я предлагаю очистить ваши проекты. Удалите все скомпилированные файлы (dll, pdb, что угодно), а также кешированные в тенях. Может быть, он компилируется, потому что использует старую версию чего-то.
Вчера я получил то же самое в проекте веб-сайта VS2005 ASP.NET: внезапно, с любым предыдущим значительным изменением кода, появилось множество неоднозначных значений 'x' в пространстве имен 'y', все они произошли от очень фундаментальных символов, таких как EventArgs, Тип, DBNull и т. Д.
Непосредственной причиной этого является mscorlib с двойной ссылкой, как я вижу в представлении классов VS. Я считаю, что истинная причина - это автоматическое обновление Windows, которое вынудило меня перезагрузить компьютер за несколько минут до этого.
Попробовать такие трюки, как создание нового проекта веб-сайта ASP.NET, скопировать и вставить исходный текст в него (на том же компьютере - не помогает) или переместить проект на второй компьютер с той же установкой VS2005 (это помогает , проект работает нормально) Я почти уверен, что с моим кодом все в порядке, но с моей конфигурацией VS / .NET. И я отчаянно не знаю, как это вылечить, так как в Интернете нет и следа описания подобных неприятностей, кроме этой.
Переустановите .Net Framework 2.0 .
Это должно исправить это. После этого gacutil
(начиная с версии 2.0) будет отображаться 1, mscorlib
а не 0.