【问题标题】:Why does Visual Studio 2010 keep adding a "reference to self" in my class library?为什么 Visual Studio 2010 不断在我的类库中添加“对自身的引用”?
【发布时间】:2012-02-29 15:18:15
【问题描述】:

有时,VS 不允许我进行编辑和继续,事实证明这是因为我的项目Eric.Controls 引用了Eric.Controls。这是一个项目参考,我从未添加过。重现的步骤不一致,但通常,我认为当我使用设计器并添加来自我引用的不同项目的控件时会发生这种情况。

这有时也会导致我在重新启动锁定目标可执行文件的 Visual Studio 之前根本无法编译。

首先,为什么 VS 会允许项目引用自身?

有什么想法吗?

我很乐意回答任何可能导致答案的问题。

【问题讨论】:

  • 纯猜测,(因此是评论而不是答案)但是您是否设法构建了循环引用? IE。提供控件的项目是否直接或间接引用 Eric.Controls?我认为 Visual Studio 应该阻止你这样做,但如果涉及的程序集之一是由文件而不是项目引用的,也许有可能?
  • 好主意,但不,我已经检查过了。 VS 在编译时不允许这样做。

标签: c# visual-studio reference


【解决方案1】:

是的,我也注意到了这一点。这是一个 Visual Studio 错误:http://connect.microsoft.com/VisualStudio/feedback/details/613502/automatically-add-self-reference

当您从工具箱中将某些东西拖到设计器上时,就会发生这种情况。要解决它,只需删除自我引用。

【讨论】:

  • 是的,看起来这只是一个 VS.Crap 错误。那好吧。我希望它不会那样做!
【解决方案2】:

找到答案了!

如果您使用解决方案文件夹,并且您的项目包含解决方案文件夹中的控件,则当您从工具箱中拖动控件时,它会添加对该库的引用。

解决方案:不要将控件库放在解决方案文件夹中。

【讨论】:

    【解决方案3】:

    我遇到了同样的问题。就我而言,设计师是罪魁祸首。 设计师有时会向我的项目添加文件引用。尤其是在使用 DataBinding 和 Forms 时。

    P.S.:namespace和项目引用显示的文件引用在references文件夹中按项目名称显示。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-07-09
      • 1970-01-01
      • 2020-05-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-23
      相关资源
      最近更新 更多