【问题标题】:Could not load a dll although it is in bin and in gac无法加载 dll,尽管它在 bin 和 gac 中
【发布时间】:2010-11-12 12:19:29
【问题描述】:

在我们的网站项目中,我们需要引用程序集 System.Data.DataSetExtensions, 4.0.0.0。所以我们在 webconfig 中添加了对它的引用,但是我们在构建时收到以下错误:

错误 CS0012:类型“System.Data.TypedTableBase`1”在未引用的程序集中定义。您必须添加对程序集“System.Data.DataSetExtensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089”的引用。

为了以防万一,我们在站点的 bin 文件夹中添加了 dll 版本 4.0.0.0。

一开始gac中只有这个dll的3.5.0.0版本,但是我们通过gacutil.exe安装了4.0.0.0版本。现在,当我们使用“gacutil.exe /l”检查时,gac 中似乎加载了正确的程序集版本(4.0.0.0),但我们在 windows/assembly 文件夹中的 windows 资源管理器中看不到它(只有 3.5.5 版)。 0.0)。而且我们仍然遇到同样的错误。

有人对如何解决这个问题有任何建议吗?

谢谢

【问题讨论】:

  • 在进程监视器中也有一个来自 aspnet_wp.exe 的条目说 NO SUCH FILE for "C:\WINDOWS\Microsoft.NET\assembly\GAC_MSIL\System.Data.DataSetExtensions\v4.0_4.0.0 .0__b77a5c561934e089\System.Data.DataSetExtensions.INI"。这可能是问题吗?

标签: assemblies gac bin


【解决方案1】:

您的 Web 项目是否设置为使用 #4 .NET Framework?

【讨论】:

  • 但在 webconfig 中没有 targetFramework="4.0".. 当我们添加这个时,问题就消失了。似乎默认版本是“3.5”,并且在未指定时使用。谢谢
【解决方案2】:

这可能是一个愚蠢的问题,但是,您是否在网站的项目引用中添加了对 System.Data.DataSetExtensions 的引用? 如果没有右键单击网站项目,请从上下文菜单中选择属性,然后在项目属性页面上选择引用选项卡。现在点击添加参考,您应该可以从那里弄清楚。

【讨论】:

  • 是的,我添加的方式完全一样 - 右键单击​​并添加参考
【解决方案3】:

在你的web.config,设置targetFramework="4.0"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-02
    • 1970-01-01
    • 2010-10-05
    • 2020-07-16
    • 2018-11-30
    • 2013-10-25
    相关资源
    最近更新 更多