为什么VS 2005一直给我" x"在命名空间" y"中不明确的错误?
赏金:我将通过贝宝(Paypal)发送5美元,以为我解决该问题。
我不确定我已经更改了哪些VS设置,或者它是web.config设置还是什么,但是我一直在错误列表中看到此错误,但是所有解决方案都构建良好。这里有些例子:
Error 5 'CompilerGlobalScopeAttribute' is ambiguous in the namespace 'System.Runtime.CompilerServices'. C:\projects\MyProject\Web\Controls\EmailStory.ascx 609 184 C:\...\Web\ Error 6 'ArrayList' is ambiguous in the namespace 'System.Collections'. C:\projects\MyProject\Web\Controls\EmailStory.ascx.vb 13 28 C:\...\Web\ Error 7 'Exception' is ambiguous in the namespace 'System'. C:\projects\MyProject\Web\Controls\EmailStory.ascx.vb 37 21 C:\...\Web\ Error 8 'EventArgs' is ambiguous in the namespace 'System'. C:\projects\MyProject\Web\Controls\EmailStory.ascx.vb 47 64 C:\...\Web\ Error 9 'EventArgs' is ambiguous in the namespace 'System'. C:\projects\MyProject\Web\Controls\EmailStory.ascx.vb 140 72 C:\...\Web\ Error 10 'Array' is ambiguous in the namespace 'System'. C:\projects\MyProject\Web\Controls\EmailStory.ascx.vb 147 35 C:\...\Web\ [...etc...] Error 90 'DateTime' is ambiguous in the namespace 'System'. 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. Version 1.1.4318.0 Copyright (C) Microsoft Corporation 1998-2002. All rights reserved. The Global Assembly Cache contains the following assemblies: The cache of ngen files contains the following entries: mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c5619 34e089, Custom=5a00410050002d004e0035002e0031002d003800460053002d003700430039004 40037004500430036000000 mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c5619 34e089, Custom=5a00410050002d004e0035002e0031002d0038004600440053002d00370043003 900450036003100370035000000 Number of items = 2
"C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bin\gacutil" -l mscorlib Microsoft (R) .NET Global Assembly Cache Utility. Version 2.0.50727.42 Copyright (c) Microsoft Corporation. All rights reserved. The Global Assembly Cache contains the following assemblies: Number of items = 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\mscorlibMicrosoft (R) .NET Global Assembly Cache Utility. Version 2.0.50727.42 Copyright (c) Microsoft Corporation. All rights reserved. The Global Assembly Cache contains the following assemblies: mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=x86 Number of items = 1fce8176e7f03af02b5696345589d82b\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\mscorlibMicrosoft (R) .NET Global Assembly Cache Utility. Version 1.1.4322.573 Copyright (C) Microsoft Corporation 1998-2002. All rights reserved. The Global Assembly Cache contains the following assemblies: The cache of ngen files contains the following entries: mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, Custom=5a00410050002d004e0035002e0031002d003800460053002d00330037004200430043003300430035000000 mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, Custom=5a00410050002d004e0035002e0031002d0038004600440053002d00330037004200440036004600430034000000 Number of items = 2fce8176e7f03af02b5696345589d82b\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##代码##fce8176e7f03af02b5696345589d82b\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##代码##fce8176e7f03af02b5696345589d82b\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##代码##fce8176e7f03af02b5696345589d82b\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##代码##fce8176e7f03af02b5696345589d82b\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##代码##fce8176e7f03af02b5696345589d82b\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##代码##fce8176e7f03af02b5696345589d82b\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##代码##fce8176e7f03af02b5696345589d82b\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##代码##fce8176e7f03af02b5696345589d82b\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##代码##fce8176e7f03af02b5696345589d82b\mscorlib.ni.dll Dependencies: mscorlib, Version=2.0.0.0, PublicKeyToken=b77a5c561934e089: Guid:{D34102CF-2ABF-4004-8B42-2859D8FF27F3} Sign:bbf5cfc19bea4e13889e39eb1fb72479a45ad0ec
本地映像中应该只有一个mscorlib,对吗?我该如何摆脱其他人?
解决方案
回答
当寻求诊断编译问题的帮助时,通常有助于发布令人讨厌的源代码:)
这些错误实际上意味着指定的名称与另一个名称冲突,并且编译器无法解决此问题。看起来确实有点奇怪。
回答
我也受到了打击,特别是System.Data.SqlClient。尝试在项目管理器中取消选中名称空间,然后将其手动包含在.vb文件中,就像使用C#一样:
导入System.Data.SqlClient
回答
采取一个错误(如ArrayList),然后用完全限定的名称替换类型(我不确定,但是我猜这里:System.Collection.ArrayList)。如果错误消失了,那么我们确实存在解决冲突。如果没有,那就另当别论了。
如果所有解决方案都因这些错误而"完善",我建议清理项目。删除所有已编译的内容(dll,pdb等),以及阴影缓存的内容。也许是因为使用旧版本的东西而进行编译。
回答
我知道这听起来很奇怪,但是我们使用"构建"还是"重建"来构建解决方案?如果我遇到类似的有趣问题,则对解决方案进行"全部重建"会有所帮助。
回答
我最近有同样的错误。
这是我修复的方式(希望它也对我们有用):
-打开项目属性,转到参考部分。
-在上半部分删除对System的引用。
我认为这是两次引用System,但仅显示一次。因此,引用不明确。
回答
根据gacutil输出结果(感谢这样做;我认为这会有所帮助),我会说我们需要尝试对.NET Framework安装和Visual Studio 2005进行修复。我不确定是否会对其进行修复,但是从gacutil的输出中可以看到,2.0都没有。
从我的VS2005命令提示符中,我得到:
##代码##从我的VS2003命令提示符中,我得到:
##代码##回答
昨天,我在VS2005 ASP.NET网站项目中得到了相同的结果:突然,在以前的任何重大代码更改中,名称空间y中出现的x负载都是模棱两可的,它们都起源于非常基本的符号,例如EventArgs,类型,DBNull等
直接的原因是双重引用mscorlib,正如我在VS的"类视图"中看到的那样。我相信,真正的原因是自动Windows Update迫使我在几分钟前重新启动计算机。
尝试诸如建立一个全新的ASP.NET网站项目之类的unt俩,将源文本复制粘贴(在同一台计算机上无济于事),或者在具有相同VS2005安装的第二台计算机上移动该项目(这有帮助,专案运作正常)我几乎可以确定我的程式码没有问题,但我的VS / .NET设定没有问题。而且我极度不知道如何解决它,因为除了这一问题,互联网上没有任何痕迹描述类似的问题。
回答
重新安装.Net Framework 2.0。
那应该解决它。之后," gacutil"(从v2.0开始)将显示1个" mscorlib"而不是0。