OSCAR_NJU

奔向远方,希望不会错过沿途的风景。。。
  博客园  :: 首页  :: 新随笔  :: 订阅 订阅  :: 管理

在VSS2005中导出VS2003 Web系统的问题

Posted on 2009-01-05 14:19  OSCAR_NJU  阅读(567)  评论(0编辑  收藏  举报

VSS2005中导出VS2003 Web系统的问题

        

日前在处理运营报表系统(VS2003 Web系统)的一个故障的时候,我按照以下步骤从VSS中取出Web项目:

1.       获取最新版本到工作目录

2.       WEB项目所在文件夹进行WEB共享,比如共享为http://localhost/REPORTSERVER

3.       打开解决方案文件sln,这时候很可能VS2003并不像我们期望的那样正常打开项目,而很是出现下面的界面

 

1) 仔细看发现http://localhost/REPORTSERVER_1这个路径并不是我们预先设定(http://localhost/REPORTSERVER)的。如果我们确定继续,你最终会VS2003IISinetpub/www 目录下创建了REPORTSERVER_1目录并将VSS中的文件获取到了该目录。一般来说这并不是我们希望的。

2) 如果我们将路径改为http://localhost/REPORTSERVER,则VS2003出现以下错误

 

为什么会这样呢,如何才能按照我们希望从VSS中打开Web项目呢?以下是我的分析和尝试的方法:

原因:

Sln文件中包含了以下信息:

1web配置信息:http://localhost/REPORTSERVER/REPORTSERVER.vbproj

2VSS位置: $/1、开发库/.../V2.3.0/REPORTSERVER"u0022,"u0020IHHJAAAA

因此从sln文件打开解决方案时VS2003发现查找路径http://localhost/REPORTSERVER,发现该目录下(我们设定的工作目录)已经存在了一个Web项目,于是VS2003将该路径改为http://localhost/REPORTSERVER_1,如上面的截图所示。VS2003将在inetpub/www目录下自动创建该web应用系统,并根据项目的VSS位置将文件获取到该目录下。如果我们强制指定路径http://localhost/REPORTSERVERVSS提示该目录下已经有Web项目存在,打开失败。

解决方法:

从上面的分析可以知道,sln文件包含了打开解决方案所需要的所有信息,因此我们可以采用以下步骤来从VSS中打开VS2003 Web项目

1、 获取最新版本到工作目录

2、 Web项目的目录进行Web共享

3、 删除该目录中的所有文件,只保留Web目录(显然也可以通过其他方式实现此目的)

4、 sln文件打开解决方案,VS2003会自动将web项目的所有文件取出到之前设定的目录

5、 需要特别注意的是,由于sln中的VSS路径并不一定是正确的版本路径(比如我们从2.3.2中拿出sln文件,但sln文件中的VSS路径却是2.3.0),因此此时打开的解决方案的VSS源码管理绑定信息可能是不正确的,我们需要检查每个项目的版本库路径并重新绑定到正确的路径下,否则有可能出现版本混乱的情况。