有句话叫“效果好不好,谁用谁知道”,之前机房合作的时候向SVN提交项目的时候一直都是组长负责的,自己也没有参与,只是知道更新,编译和提交,别的就不知道了,可是最近做成绩登统系统的时候,由于我们的项目的分为了三个解决方案,我负责其中的一个解决方案,当项目测试成功之后,框架基本完成,本以为直接上传到SVN上就可以了,但是想不到的是问题接踵而至。
写出来的目的是以希望以自己为鉴,能够让别的人少走误区。
1. 遇到的问题
上传是可以成功的,但是当检出的时候一下子我就晕了,这是怎么回事啊?见下图:
这次真的要感谢静娜的帮助啊,下面我们来一探究竟。
? 第一次尝试解决:
以为是没有成功发布,于是进行了无数次的发布,发现还是加载不了,但是别的层是可以的,像上图的中的客户端以及WCF层是可以的。而那些所谓的不可加载项,当我们进行移除,并且再次加载的时候我们发现是没有问题的,但是当重新生成解决方案或者运行之前的写的程序的时候仍然是不可行的。所以第一次的尝试没有成功。
? 第二次尝试解决:
当我们打开那些不可加载的属性项时(右键即可),发现了加载路径不是自己发布到SVN上的路径,而是之前的路径。
因为我们的系统是建立三个解决方案,B层和D层是公用,于是对于B层和D层我是采用的加载现有项,之后再将相应的B层和D层拷贝过去,这样导致的结果就是我上传到SVN的程序加载的是上传的路径,而上传的路径是无法加载我之前对于B层和D层的现有项的引用,故而导致了路径不识别或者根本就是加载不了相应的路径,当我移除再添加的时候路径此时就找到了,所以可以加载了。
所以拷贝需谨慎,复制的东西如果只是在本地使用,那么只是需要引用即可,但是如果上传,那么必须拷贝过去,并且得重新添加,这样才能保证路径的正确,并且即使是上传到服务器上路径仍然是正确的。
? 第三次的尝试解决:
之前的工作都重新做好之后,这次再次上传,本以为会万无一失的,但是错误还是发生了,错误的提示很明显,那就是引用的库文件的地址不存在,自己此时恍然大悟,想起来自己的引用文件也是添加的现有项,如果在本地,这样可能在电脑上找到文件的路径,这样在相应的bin文件下就可以生成相应的库文件,这样程序便能成功的运行,但是如果不是在本地,那么添加现有项的路径在SVN上是找不到的,故而出现错误,并且各层中的bin文件下的库文件生成不了,故而导致了程序运行或者生成不了,所以我们最好将其所有需要外部文件拷贝到package中。之后根据添加相应的文件都从package包中查找,这样就保证了安全性和可实行性。
2. 总结
总而言之一句话,拷贝很容易,切记需谨慎,遇到问题,解决问题,原来我们一直在成长。