无法加载文件或程序集'ABC.dll,Version = 5.5.0.0,Culture = neutral,PublicKeyToken = null'或其依赖项之一

时间:2011-11-04 11:25:50

标签: c#

我们有一个使用.Net framework 3.5创建的C#类库项目。在该C#项目中,我们使用VS 2008 3.5框架和版本5.5.0.0添加了一个程序集ABC.dll构建。 现在,当我们使用6.6.2.1的更新版本添加ABC.dll时,在Designer视图中仍会出现错误:

  

无法加载文件或程序集“ABC.dll,Version = 5.5.0.0,Culture = neutral,PublicKeyToken = null”或其依赖项之一。系统找不到指定的文件。

我真的陷入困境,尽管添加6.6.2.1为什么该项目要求5.5.0.0版本的dll,却无法找到原因?

我们现在使用C#Express Edition 2010打开该项目。

2 个答案:

答案 0 :(得分:1)

确保存在引用并且适当引用任何依赖程序集;您可能需要确保引用的属性“SpecificVersion”设置为“false”。

如果程序集存在且版本正确 - 请尝试清理解决方案(Build | Clean Solution),因为有时旧版本会在项目输出文件夹中停留并混淆Visual Studio。

答案 1 :(得分:1)

您应该能够添加app.config文件,告诉您的库在调用.dll时使用哪个文件。

这应包含以下内容:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <runtime>
        <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
            <dependentAssembly>
                <assemblyIdentity name="ABC"
                                  publicKeyToken="8fe83dea738b45b7"
                                  culture="neutral"/>
                <bindingRedirect oldVersion="5.5.0.0"
                                 newVersion=" 6.6.2.1"/>
            </dependentAssembly>
        </assemblyBinding>
    </runtime>
</configuration>