在我们的环境中,我们有32位和64位机器用于开发。在VS 2010中,当添加对dll的引用时,将创建指向dll路径的刷新文件。在32位计算机上,路径曾是<drive>:\Program Files\ ....
但对于64位计算机,它是<drive>:\Program Files <x86)\.....
刷新文件位于Source Control(subversion)下,因此如果我更改64位计算机的dll,则32位计算机的构建开始失败。有没有办法让这些刷新文件按照系统架构进行更改?
有不同的方法来处理这个问题吗?我想的一种方法是不在源代码管理下包含刷新文件,但这意味着无论何时我们升级我们的dll,我们都需要更改每台机器上的dll。
答案 0 :(得分:1)
我按原样保留刷新文件,并将这两种体系结构存储在\lib
目录中。
MyLibrary.dll // (refresh target)
MyLibrary.dll.x86
MyLibrary.dll.x64
每当我需要切换架构时,我都会执行一个简单复制和编写的构建脚本(或批处理文件)。覆盖我的\lib
中的所有刷新目标DLL。例如,切换到x64时,MyLibrary.dll.x64
会被复制为(并覆盖)MyLibrary.dll
。