【问题标题】:Reference could not be found.(are you missing a using directive...)找不到参考。(您是否缺少 using 指令...)
【发布时间】:2015-08-13 11:33:04
【问题描述】:

我创建了一个项目库 dll,它位于解决方案的 bin 目录中。我有第二个引用该 dll 的解决方案。在 VS2013 IDE 中,当我在 dll 中引用一个类时,我的“使用”指令很高兴,并且在代码中的代码很高兴。如果我在对象浏览器中查看对象引用,一切看起来都很好。我还查看了 csproj 文件,其中有正确的参考。当我尝试构建项目时,我收到找不到我的 dll 的类型或命名空间的错误消息。我已经尝试过先清理,我也关闭了VS2013并重新启动了所有无济于事。我还尝试将 dll 复制到本地 bin 目录以获取此解决方案并重新引用,但仍然没有乐趣

【问题讨论】:

  • 您说“代码很满意”,但您还说您收到了一条错误消息 - 我看不出它们怎么会是真的。理想情况下,提供一个简短但完整的程序来演示问题,以及您收到的错误消息。
  • 同一个项目可以添加到多个解决方案中。这是一个选择吗?也就是说,将您的项目库放入两个解决方案中,并确保对它的所有引用都是对解决方案中项目的引用,而不是对文件系统上的程序集的引用。
  • 在我点击构建按钮之前,我没有收到任何错误。 using 指令下没有红线,我从该参考中使用的类下也没有红线。我很难给出代码示例,因为错误的不是代码,而是按下构建按钮时的参考。
  • @Polyfun 是的,导致错误的项目可以用于多种解决方案,事实上这就是重点。我写了一个简单的项目,它有一个类,它上面有一些可序列化的属性。然后它被一个项目引用以将数据写入 msmq(此项目和引用 dll 的解决方案工作正常)。然后我有这个解决方案,它以与从队列中提取相同的方式引用 dll,但由于某种原因引用没有正确引用。 (msmq 发送和接收需要相同的底层 guid 等,因此需要相同的参考)。
  • 如果查看引用的属性(右击引用-属性),是不是说copy local = true?

标签: c# reference assembly-resolution


【解决方案1】:

好的,我找到了解决方案。我引用的项目是针对框架的 .net4.5.2 的。引用它的项目仅引用 .net4.5 我已将其设置为 .net4.5.2,现在它正在构建。

谢谢 对于所有输入

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2016-10-08
  • 1970-01-01
  • 2012-07-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-01
  • 1970-01-01
相关资源
最近更新 更多