在32位和64位处理器上开发,我应该如何构建我的项目以自动引用正确的dll?

Mat*_*nes 5 c# dll virtualization visual-studio-2010 32bit-64bit

我目前处于这样的情况:我有32位和64位开发人员机器在我的c#项目上工作.我必须引用一些同时具有32位和64位版本的dll.显然,32位机器需要引用32位dll,而64位机器需要64位dll.我遇到的问题是,每次开发人员检查一些代码时,他们也会检查他们的dll引用,所以当另一方的某个人提取他们的代码时,它不会构建,并且他们必须手动更新他们的引用他们应该是什么.然后他们检查,其他开发人员必须手动修复他们的引用等等.

我不认为这是一个新问题,但这是我第一次碰到它.有一个通常的做法是让项目自动引用CPU的正确dll吗?或者也许是一种拥有32位和64位项目的方法,每个项目都有正确的引用,以及一种方式(可能是命令行工具或一些可以绑定到构建中的外部工具)将它们绑定在一起,以便在新项目时添加或删除一个,另一个也将更新?

另一种选择是让每个开发人员使用相同的虚拟化开发环境.如果我走这条路线,我可以在32位硬件上虚拟化64位系统,还是我必须走另一条路,并虚拟化32位.这将是一个SaaS产品,所以我只需要部署一个处理器,我宁愿这是64位.

Doc*_*own 6

在这里,您可以找到有关如何根据目标平台更改装配参考的示例:

http://www.ryangerard.net/post/8768828095/how-to-change-visual-studio-assembly-references

(您必须手动更改.csproj文件).不要忘记,在32位机器上选择'x86'作为目标平台,而在64位机器上选择'x64').