starteam integration for vs2008 导致加载project崩溃

安装starteam支持vs2008的集成插件后,有时候会导致加载project的时候vs崩溃,出现appcrash异常,要求关闭或者重启ide。经过各种方法排查发现,有一个原因:project引用了webservice。打开csproj文件,找到类似

   <None Include="Web References\localhost1\Services.disco" />
    <None Include="Web References\OAWebService\iPotalWebService.wsdl" />
    <None Include="Web References\OAWebService\Reference.map">
      <Generator>MSDiscoCodeGenerator</Generator>
      <LastGenOutput>Reference.cs</LastGenOutput>
    </None>

的定义块并删除,project就可以成功加载了。原来2005下的插件就没有这个问题,估计就是因为vs2008更智能了,在加载project的时候检查是否引用了webservice,发现有webservice的时候就会尝试重新获取定义,并试图修改对应的disco,wsdl文件,而这种操作会和starteam插件争夺文件在内存中的读写权限,导致崩溃。

删除webservice的定义可以加载project了,但是会影响原来project的功能,我的做法是将原来应用webservice后生成的reference.cs文件拉出来,删除disco,wsdl文件,不依赖vs2008对webservice的智能管理功能,如果webservice定义改了,大不了重新引用生成下源文件。webservice的url地址这样需要单独配置下,不过这不是大问题

posted @ 2010-08-07 19:06  漫游者  阅读(499)  评论(0编辑  收藏  举报