【问题标题】:Reference DLLs not loading in Visual Studio 2010参考 DLL 未在 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(我知道,我知道...该死的公司政策)

标签: c# dll visual-studio-2010 c#-4.0


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        【解决方案4】:

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

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-11-21
          • 2011-09-19
          • 1970-01-01
          • 1970-01-01
          • 2012-12-21
          相关资源
          最近更新 更多