繁体   English   中英

没有歧义时,vb.net中的“是歧义”错误消息

[英]“is ambiguous” Error message in vb.net when nothing is ambiguous

我们有asp.net vb.net应用程序,它为我们提供了随机错误情况。

我们收到这样的错误消息:

   Exception message: D:\xxxxxx\xxxxxx\artikkelit\bootstrapbartikkeli.aspx.vb(14): error BC30554: 'masterit_bootstrapb' is ambiguous.

<%@ Page Language="VB" Debug="false" AutoEventWireup="false" CodeFile="bootstrapbartikkeli.aspx.vb" Inherits="bootstrapbartikkeli" MasterPageFile="/masterit/bootstrapB.master" %>

问题是对masterit_bootstrapb没有双重参考。 类名在网站上是唯一的。 在大多数情况下,当我们修改母版或嵌套母版时,会发生此错误。 我们可以通过重新保存主文件和应用程序vb文件来解决此错误。 有时,它需要大量节省才能使其正常运行。 似乎以正确的顺序重新编译代码对此有些神奇……?

在我们的测试站点上,相同的应用程序和master可以正常工作。

我们如何才能看到此“模棱两可”错误消息的实际来源? 我们有什么办法可以更深入地了解这一点? 这个应用程序使这些错误成为可能,以为我们还有许多其他应用程序具有相同的主文件而没有歧义的错误。

我们的测试站点是否可能导致此错误消息到达我们的生产站点? 两个站点都在同一台服务器上,但是在不同的应用程序池上。

它的名称空间含糊不清,您可以轻松地添加一个类并在该类中指定该名称空间,该类在整个程序集范围内使用,而不是将该类作为该程序集名称空间的一部分。

它完全有可能成为其中一个站点,因此引用了不同的参考文献。

编辑:

您可以在masterit_bootstrapb上进行搜索,并检查该项目是否没有在类级别定义该项目的类。 不幸的是,Visual Studio(或其他工具)不能很好地检测这些模棱两可的错误。

http://msdn.microsoft.com/en-us/library/8f0k13d2.aspx

您提供的名称不明确,因此与另一个名称冲突。 Visual Basic编译器没有任何冲突解决规则。 您必须消除自己的名字歧义。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM