【问题标题】:Using different versions of the same DLL in a project在项目中使用同一 DLL 的不同版本
【发布时间】:2015-06-05 08:44:59
【问题描述】:

在我的项目中,我必须使用不同版本的AWSSDK dll,为了做到这一点,我得到了this post 的帮助。并将我的一个 dll 添加到 bin 文件夹内名为 V-1 的文件夹中。然后像这样进行配置更改

<runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
        <dependentAssembly>        
        <assemblyIdentity name="AWSSDK" publicKeyToken="CD2D24CD2BACE800" culture="neutral" />
            <codeBase version="1.4.8.2" href="V-1\AWSSDK.dll" />
            <codeBase version="2.3.40.0" href="AWSSDK.dll" />
        </dependentAssembly>      
    </assemblyBinding>
</runtime>

但我仍然收到这样的错误

错误 2 无法加载文件或程序集“AWSSDK,版本=1.4.8.2,Culture=neutral,PublicKeyToken=cd2d24cd2bace800”或其依赖项之一。该系统找不到指定的文件。 E:\Live\Web.config 129

在 web-Config 的这一行

 <add assembly="AWSSDK, Version=1.4.8.2,  Culture=neutral, PublicKeyToken=CD2D24CD2BACE800" />

谁能指出我做错了什么?

【问题讨论】:

  • 尝试改变路径...例如所以它没有连字符,即设为 V1
  • 您知道href 中的本地路径是相对于应用程序目录的吗?也许您的意思是 bin\V-1\AWSSKDK.dll 等等?
  • 我的下一点是说尝试一个完全合格的路径......例如href="file://c:/some_path/myassembly.dll"
  • @Luaan 严格来说不是真的 dood... "如果程序集是私有程序集,则代码库设置必须是相对于应用程序目录的路径。"
  • @Luaan 尝试更改路径,同样的错误

标签: c# .net dll


【解决方案1】:
  1. 请在 Visual Studio 中打开解决方案资源管理器
  2. 在项目下打开References
  3. 选择 AWSSdk 引用并转到其属性。
  4. 设置 Specific Version = TrueCopy Local = False
  5. 确保您的输出目录中不包含此 dll。

【讨论】:

  • 请检查 NewtonSoft.Json.dll 是否没有不同的版本。我的意思是这个dll必须是相同的版本。如果没有,那么请也这样做
猜你喜欢
  • 1970-01-01
  • 2016-06-01
  • 2014-12-07
  • 1970-01-01
  • 1970-01-01
  • 2010-10-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多