Ger*_*ton 5 vb.net compilation ambiguous
我有另一个开发人员创建的 VB.Net 解决方案,我正在尝试在我们的构建机器上编译它(它在他们的机器上编译),但是在其中一个项目中,我收到一个错误消息,内容如下:
Imyinterface在命名空间中是不明确的anamespaceassembly。
我试过没有成功:
我通常在 C# 中编码并且之前没有看到过这个错误(至少在这种形式中),不是因为它是 VB.Net 特定的,而是用于添加/查看引用的 UI 略有不同,所以我认为 VB.Net 可能会做一些不同的事情与参考。
我也尝试在另一台机器上编译,它编译正常。所以我认为它与构建机器有关,但我不确定是什么。项目以某种方式没有引用其他冲突的程序集,这可能吗?
有任何想法吗?
小智 6
如果您有相同参考的两个版本(例如 Microsoft.ReportViewer.Webforms 10.0.0.0 和 Microsoft.ReportViewer.Webforms 8.0.0.0),请检查您的参考,您将收到此错误。删除最旧的,你应该很好。我一直对自己这样做。
导致此错误的原因可能有多种。在 VB 中,您应该意识到,在没有类规范的情况下,可以使用比 C# 中习惯的更多名称。另外,在 VB 中大小写并不重要,这可以进一步比喻碰撞的可能性。
即使您没有找到实际的冲突问题,也可以按照与 C# 中相同的方式解决此问题:在语句中重命名它Imports:
Imports IM = yourAssembly.Imyinterface
Run Code Online (Sandbox Code Playgroud)
然后更改代码,将 的使用Imyinterface替换为IM。
注意:如果错误没有指向特定行,则冲突可能超出您的控制范围。通常,完整的清理解决方案和重建会有很大帮助,但有时,行为不当的文件(即另一个错误)会导致在没有明确来源的情况下首先弹出此错误。尝试将最近的更改回滚到它起作用的地方。
你还说它在另一台机器上工作。您的计算机可能装有不同版本的 MS Visual Studio 或 .NET。检查并比较确切的版本。
| 归档时间: |
|
| 查看次数: |
22565 次 |
| 最近记录: |