当我在Visual Studio项目中添加对dll的引用时,我可以使用它,但是当我编译代码或尝试运行它时,我得到一个 你错过了一个using指令或汇编参考? _ 错误。我能够确认我的命名空间使用了正确的语句,并且我能够确认dll是否已正确加载。 任何人都知道我可能没有这个权利吗?
答案 0 :(得分:59)
转到项目设置并确保您不为包含文本“客户端配置文件”的.net版本编译项目。
答案 1 :(得分:6)
我刚刚遇到了一个问题就是这样,即使这是一个老问题,我认为我会在修正它的问题上加上我的2c,因为其他答案都没有帮助:
无论出于何种原因,当我从上到下构建解决方案时,某个dll没有得到更新,并且输出保持更改的代码。因此,虽然我的解决方案没有明显错误,但是当您尝试构建时,它仍然引用旧的dll并开始抱怨。
这只是一个直接重建违规项目的案例,之后它拿起了最新的dll并快乐地建立起来。
这似乎是一个奇怪的事故,因为没有任何配置在它工作之间/什么时候没有改变。
答案 2 :(得分:4)
有时,只需重新解决问题。
答案 3 :(得分:2)
DLL的位置非常重要。
如果将本地计算机上的引用添加到Visual Studio解决方案之外的DLL,则不必将其复制到解决方案文件中(取决于解决方案/项目的类型)。
如果这是您的问题,那么您需要将DLL放在另一台机器上的相同路径中,或者将其复制到您的解决方案中,以便它与解决方案文件一起部署,并更改引用。
您也可以使用构建说明来处理此问题,但这可能超出了您的目标。
答案 4 :(得分:2)
很可能你的dll引用了客户端项目没有引用的另一个dll,你的dll代码暴露了从第三个dll到客户端代码的类型或接口。
如果您发布exaCt消息,我们将能够提供更好的帮助。
答案 5 :(得分:2)
您使用的是.net 4.0吗?
如果是,则此dll可能与.net 4.0不兼容
答案 6 :(得分:1)
在我的例子中,主项目(WinForm)配置了Framework Target:FW 4.0“客户端配置文件”。我改为FW 4.0并且工作完美!! 我第一次看到参考项目,他们没事,但主要项目没有。我希望这有帮助。谢谢。
答案 7 :(得分:0)
在我的情况下,在问题项目的“管理NuGet包”上下文菜单中添加对 Microsoft BCL Build Components 的引用之后,这个编译错误已经消失。
之前:我有项目 Main (控制台应用程序)引用项目 A (类库)。 Project A 依赖于Microsoft BCL Build Components。
之后:我开始重构我在几个项目 New 中挑选了几个类。它还取决于 A 。但是项目 New 上发生了编译错误,好像没有引用 New - > A (尽管Visual Studio没有突出显示编译错误列表中列出的涉及未找到的接口和类)。
所以我检查了项目 A 的依赖项,并在那里找到了Microsoft BCL Build Components。 将它添加到 New 的依赖项后,一切正常。 最有趣的是 Main 不包含此依赖项,它不需要它。
希望这有帮助。
答案 8 :(得分:-1)
您只需要再次检查该类文件的命名空间......它就能正常工作