很长时间以来用VS2005都是单人工作的状态,这段时间开始在使用SVN在不同机器上用VS2005编译项目,然后发现了一个很尴尬的问题–在项目属性中的调试设置到了另外一台机器上就全部失效了。

研究了一下项目文件,对于一个名叫app的项目会生成app.vsproj和app.vsproj.machine.username.user的两个文件,其中machine和username分别是当前计算机的名字和用户名。比如说app.vsproj.home.raymond.user。所有调试相关的设置都是在这个.user文件里面的。这样就造成一个问题:在不同的机器上面会读取不同的.user文件,同样的项目拷贝到另外一台机器上就不能正常调试了!

在网上搜索了半天,发现也有很多人遇到这个问题,但是就是没有搜索到解决方法。干脆打开下载的开源库文件的VS2005项目文件,发现其中有一个类似于app.vsproj.user的文件(没有中间的机器名和用户名)。再试验了一下发现在目录中只存在这样一个不包含机器名用户名的.user文件的时候,VS2005会把该文件中的内容拷贝一份为加上用户名的.user文件(说的好绕,不知道说清楚了没有)。而存在用户特定的.user文件时会忽略其他.user文件。

因此在分发自己的项目的时候只需要把自己机器上的.user文件名中的机器名用户名去掉就可以了。