问题描述
当我在Visual Studio中更新解决方案时,出现此错误:
SharpSvn.SvnSystemException: Can't write to connection: An operation was attempted on something that is not a socket.
at SharpSvn.SvnClientArgs.HandleResult(SvnClientContext client,SvnException error,Object targets)
at SharpSvn.SvnClientArgs.HandleResult(SvnClientContext client,svn_error_t* error,Object targets)
at SharpSvn.SvnClient.Update(ICollection`1 paths,SvnUpdateArgs args,SvnUpdateResult& result)
at SharpSvn.SvnClient.Update(String path,SvnUpdateResult& result)
at Ankh.Commands.solutionUpdateCommand.PerformUpdate(CommandEventArgs e,ProgressWorkerArgs wa,SvnRevision rev,Boolean allowUnversionedobstructions,Boolean updateExternals,Boolean setDepthInfinity,IEnumerable`1 groups,SvnUpdateResult& updateResult)
at Ankh.Commands.solutionUpdateCommand.<>c__displayClass6_0.<OnExecute>b__0(Object sender,ProgressWorkerArgs a)
at Ankh.ProgressRunnerService.ProgressRunner.Run(Object arg)
当我分别更新解决方案中的每个项目时,我没有此错误。
此错误出现在Visual Studio 2019和Ankhsvn版本1.0.12
我们的源服务器由名为 Subversion 1.3 (subversion.tigris.org)的程序和SVNServe的Windows服务包装程序运行。我们有很多年前的产品,直到现在才可以找到。此服务器上的其他解决方案也不会更新,并且具有相同的错误。
我认为,升级 Subversion 1.3 可能是解决方案,但是下载tigris subversion的链接不起作用:
http://subversion.tigris.org/servlets/NewsItemView?newsItemID=1685
我可以看到许多与Apache Subversion相关的页面,似乎是对旧Subversion 1.3的超集,如下所示:
https://subversion.apache.org/docs/release-notes/1.12
它也说过:
,但它不直接提供任何软件包,但具有指向其他4个站点的链接。哪个会更新我们的 Subversion 1.3 (subversion.tigris.org)?我应该安装这些软件包并转到已安装的文件夹,然后按照上述网站的建议将每个文件复制并粘贴到我们的旧文件上吗?
解决方法
Ankhsvn是abondonware。自2017年以来,它没有进行过“每日更新”。我怀疑您的问题在那里,并且您需要寻找一个受支持的工具来替换它。
,最后,我们通过安装此软件的最新版本来修复此错误,其中包括:
-TortoiseSVN(安装时也选择命令行客户端工具)
-CollabNetSubversion-client
包裹。
那么我们应该这样设置一个新的网络服务:
How to setup "svnserve --service" to run on Windows?