项目引用各自指的是不同的程序集版本

时间:2010-03-04 19:05:34

标签: .net msbuild reference

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

我创建了一个引用这两个DLL的Windows应用程序。

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

项目确实正确构建,但自动(“任意”)选择Common DLL的4.1(较新版本)版本。

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

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

顺便说一句,我喜欢视觉工作室和MSBUILD都不会将此标记为警告,而只是采用不同的版本:)

1 个答案:

答案 0 :(得分:1)

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

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