【问题标题】:Unable to use methods of one solution in another even after adding references即使添加了引用,也无法在另一种解决方案中使用一种解决方案的方法
【发布时间】:2012-01-19 04:18:38
【问题描述】:

我有两个不同的 VS 项目:

1) 实用程序 2) 模块

在 Utilities 项目中,我有一个 Library.cs 在 Library.cs 中,我有一个方法 Login()。 我已将 Library.cs 定义为公共静态类 我还将登录定​​义为公共静态方法

在 Modules 项目中,我有一个测试类 Test1.cs 我在此类中添加了使用实用程序。 我还添加了对 Utilities.dll 的引用(添加引用 --> 浏览到 bin 文件夹 --> 发布) 现在,当我尝试时:

Library.Login();

它说 Library.cs 中没有 Login() 的定义

我已尝试清理解决方案并重新构建它。我做错了什么或遗漏了什么?

【问题讨论】:

  • 你的 Library 类在哪个命名空间内?
  • 你为什么要通过浏览来引用dll,为什么不通过Project来引用呢?这应该使它适合您,然后您不必担心部署问题。
  • 它是否可能与另一个命名空间中名为 Library 的其他类混淆?如果您将鼠标悬停在编辑器窗口中的库上,它应该会向您显示完全限定的命名空间。
  • 请发布Library的代码,以及尝试使用它的代码。
  • 检查你的项目 .NET 级别;我怀疑这是您的库不匹配的情况(例如 .NET 2 库试图加载 .NET 4 库)

标签: c# visual-studio


【解决方案1】:

你猜吧。。

查看您项目的.NET Framework 版本。似乎他们针对不同版本的框架进行编译。

大多数情况下就是这种行为。

希望这会有所帮助。

【讨论】:

  • 当你尝试引用比当前项目框架支持的更新的 dll 时,Visual Studio 通常会报错,然后在导入库的名称旁边放置一个警告符号
  • 是的,但是如果首先将它绑定到相同的版本,比如说2.0,在将DLL 的项目更改为4.0 之后会发生什么?这个场景,imo,非常相似。
  • 如果我记得,下次你构建时,它仍然会给你同样的警告符号
  • @AnthonyShaw:是的,如果你注意tree view,那么展开Reference 节点,但如果你不注意,可能是OP 所做的,你只会得到编译时错误。它发生在我的不同时间,并且会再次发生。
猜你喜欢
  • 1970-01-01
  • 2012-02-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多