参考 DLL 未在 Visual Studio 2010 中加载

Posted

技术标签:

【中文标题】参考 DLL 未在 Visual Studio 2010 中加载【英文标题】:Reference DLLs not loading in Visual Studio 2010 【发布时间】:2010-06-08 13:06:45 【问题描述】:

我正在 VS2010 中开发一个 C# 4.0 项目,并且需要使用一些较旧的 DLL,这些 DLL 包含在 VS2008 上的 C# 3.5 中创建的控件。当我第一次将 DLL 添加到引用时,我能够通过智能感知查看命名空间并创建其中一个控件的实例,但是当我开始构建时,它给了我以下错误:

The type or namespace name 'BCA' could not be found (are you missing a using directive or an assembly reference?)

而且我确实已经有一个用于该命名空间的 using 指令,现在用红色下划线表示,VS 找不到它。而现在,智能感知根本不会使用该命名空间。

我什至尝试将控件添加到工具箱中(效果很好),但是当我将它们拖到 GUI 时,它说它无法找到 DLL 引用,即使它显然知道它在哪里。

我什至尝试将目标框架更改为 3.5,但结果仍然相同。

对于为什么会发生这种情况有什么想法吗?

编辑 - 我注意到,在 VS 输出的 csc.exe 参数中,它没有我尝试使用的 DLL 的任何 /reference 条目。当我在 VS2008 中创建相同的基本项目时,这些条目存在。另外,我在VS2010的一个DLL项目中可以成功引用DLLs...看来只是WinForms项目不起作用。

【问题讨论】:

这可能是一个显而易见的问题,但这些 DLL 文件是否仍与您最初引用它们时一样位于磁盘(或 GAC)上的相同位置? 另一个可能显而易见的问题 - 程序集中的这种类型是否已更新?在这种情况下,可能 .refresh 文件仍指向过时的 .DLL。 是的,他们肯定没有搬家。并且没有任何更新。 这可能是 64 位与 32 位的问题。我现在也遇到了同样的问题,所以我自己还在努力解决 可疑...我只运行 32 位 Windows XP(我知道,我知道...该死的公司政策) 【参考方案1】:

事实证明,这与 VS2010 默认为 .NET 4 客户端配置文件有关,只要我将其更改为常规配置文件,它就可以正常构建。浪费了一天...

【讨论】:

【参考方案2】:

查看目标框架..在我的项目中,是 4.0 客户端配置文件,e 参考 dll 在 4.0 中

【讨论】:

【参考方案3】:

我尝试了 Build->Clean Solution,然后可以添加参考。

【讨论】:

【参考方案4】:

我曾经遇到过类似的问题,但是配置文件不是问题,所以问题是我的类库使用了具有依赖关系的特殊 NuGet 包......所以我 在目标项目中安装依赖包 并添加了项目参考和作品!

但是我不确定这个问题是否有更好的解决方案???对我来说,VS 应该足够聪明,可以将这些 dll 与引用一起携带。 (我已经验证了“复制本地”设置为 True)

【讨论】:

以上是关于参考 DLL 未在 Visual Studio 2010 中加载的主要内容,如果未能解决你的问题,请参考以下文章

visual studio怎么添加对dll的引用

visual studio 的控件 dll 放哪个 文件夹

Visual Studio:如何设置dll解决方案,可以参考winusb

Visual Studio 2017 Task Runner Explorer 未在发布时运行事件

如何在 Visual Studio 2010 中使用 Visual Studio 2008 创建的 DLL?

visual studio 2012中如何查看一个工程需要哪些dll文件???