最近碰到一个麻烦事,关于VS2005的Solution文件问题,其实说大不大,但是比较棘手。
事情的由来是这样的,之前我们有一个Solution,那是针对旧版本的,之后我们升级了现有的系统,所以就有一个新版本了,但是这个新版本的Solution似乎有点问题,负责部署的同事从VSS上拿到这个Solution后,无法用命令行的形式编译这个Solution。
这个Solution是由若干个Project和一个Website组成的,其实问题就出在这个Website上,当时我也不知道问题出在哪,也没啥头绪,因为该查的地方都已经查了,仍然没有解决方案。最后只能比较一下这个Solution文件和上一个版本的Solution文件,看看是否有明显的差别。
结果还真发现了问题。大家可以仔细查看下图。
左边的是新版本,右边的是旧版本。
在旧版本上有ProjectReferences这个属性,而新版本没有,会不会是因为这个造成无法用命令行编译呢?于是我尝试手工将此属性添加到新版本的Solution上,再次进行测试。
这下果然可以了。其实现在想想,也是啊,作为一个website,肯定要引用project的,你不告诉它去哪里找这些引用,它怎么知道呢?