【问题标题】:Visual Studio adds a circular reference when I drag and drop a user control from the Toolbox当我从工具箱拖放用户控件时,Visual Studio 添加了一个循环引用
【发布时间】:2011-03-01 09:24:06
【问题描述】:

我有一个在项目 P 中定义的用户控件 C。C 在我的 Visual Studio 工具箱中作为“.NET Framework 组件”存在。我打开一个表单 F(也在项目 P 中定义)并将 C 放到 F 上。

一旦我这样做了,Visual Studio 在 P 下添加一个指向 P 自己的 DLL 的引用。这是不必要的,并且会导致大量构建错误,例如The call is ambiguous between the following methods or properties...,之后它会两次列出完全相同的方法。如果我进入参考并删除添加的参考,它会正确构建。

我可以阻止 VS 添加这个不必要的引用吗?

摘要(由 SLaks 提供)
在VS2010中,在同一个项目的表单中添加UserControl会自动添加对项目本身的引用,导致问题。

【问题讨论】:

  • 这是 VS2010 中的一个新错误。今天晚上我要自己问这个问题。
  • 有没有人知道关于这个缺陷的任何知识库文章或其他官方信息?
  • 我们最近也看到了这种情况。由于到目前为止还没有很多“我也是”,我认为这将取决于我们找到模式。这就是我正在使用的。从 VS2008 转换而来的 VS2010 解决方案。所有项目都是 C#,最初针对 .NET v3.5,然后修改为针对 .net v4.0。 UI 项目是 WinForms。 UI 项目包含包装 Infragistics 控件的类。包装的控件用于表单,而不是原始的 Infragistics 控件。
  • 我也看到了这个。 @Mel 的描述对于我的问题也是准确的,只是我没有使用 Infragistics 控件。我只使用普通的 WinForms 控件。
  • 我有同样的问题,有没有人找到解决这个问题的方法?

标签: visual-studio-2010 user-controls


【解决方案1】:

据我所知,这至少从 Visual Studio 2008 开始就已经存在。我当时尝试找到可能的修复方法,但找不到。抱歉,但我认为您无法阻止不必要的引用,并且每次执行此操作时都必须将其删除。

【讨论】:

    【解决方案2】:

    我有类似的症状,但我认为原因与您描述的不同。对我来说,我一直在实现一个名称与现有类冲突的类。这导致了模棱两可的调用和其他编译器的崩溃。

    一个简单的重命名就解决了。

    【讨论】:

      猜你喜欢
      • 2010-09-20
      • 2011-03-27
      • 2011-04-28
      • 1970-01-01
      • 1970-01-01
      • 2012-02-10
      • 2011-03-27
      • 1970-01-01
      • 2017-11-10
      相关资源
      最近更新 更多