代码之家  ›  专栏  ›  技术社区  ›  Jay

项目引用每个引用不同的程序集版本

  •  2
  • Jay  · 技术社区  · 15 年前

    我有一个类库项目引用了4.1版Microsoft.Practices.Common dll。我还引用了使用不同版本的Microsoft.Practices.Common dll的第三方dll。

    我创建了一个引用这两个dll的windows应用程序。

    运行msbuild时收到错误:“无法解决…..之间的冲突”。我假设这是因为它正在尝试构建项目并将所有文件放在\bin目录中,并且由于这些文件的名称相同,它将显示此消息。

    项目确实正确生成,但会自动(“任意”)选择公共dll的4.1(更新)版本。

    这里的问题是,我不确定第三方的dll是否与4.1版本兼容。

    我的问题是:有没有办法使用xcopy部署来保留这两个dll?如果可能的话,我想避开GAC。

    顺便说一句,我喜欢visual studio和msbuild都没有将此标记为警告,而是采用不同的版本:)

    1 回复  |  直到 15 年前
        1
  •  1
  •   Mitchel Sellers    15 年前

    不能将同一dll的两个副本xcopy部署到a/bin文件夹。如果必须同时使用这两种方法,则需要在gac中注册项,或者可以使用privateprobing路径将它们存储在/bin文件夹的子文件夹中。

    不过,在这种情况下,为了省去一些麻烦,我建议您使用与第三方相同的版本。