无法添加服务引用 – locking/只读

每当我去添加一个服务引用,我得到的错误:

无法添加服务参考“Servicereference1.reference”
错误:无法检出当前文件。 该文件可能是只读或locking的,或者您可能需要手动检查文件。

我已经在项目中提供了一个服务参考,但不知何故,它给了我一个错误,指出:

找不到引用合同(servicename)的默认端点元素

web.config和服务引用configuration中的端点是相同的(本地主机)

我也无法更新该参考,因为我会得到相同的'无法检查出当前文件'错误。

编辑:这个问题是不是本地只是这个项目。 我试图做一个新的,完全独立的项目,并添加一个服务的参考,我得到了同样的错误。

我有同样的错误 – 我发现,如果您select了源代码pipe理插件“Microsoft Git提供程序”(我的WCF解决scheme添加到源代码pipe理!),并尝试添加服务引用,则会出现问题。

  1. 设置源代码pipe理插件为None
  2. 添加服务参考
  3. 将源代码pipe理插件设置为原始值

我知道这已被回答,但在尝试所有其他答案之前,重新启动Visual Studio。 这发生在我和我的WCF类中的其他4人。 似乎是视觉工作室2013年,而不是2012年的问题。

因为你已经清除了没有源代码控制(这似乎是导致问题的原因),你可以尝试这些步骤:

  1. 确保从源代码控制的位置复制粘贴,然后删除源代码pipe理特定的文件。

  2. 确保文件夹没有被locking,也不是只读的。 如果是这样,那么从文件夹中删除只读。

  3. 确保visual studio在添加引用时不处于debugging模式。

  4. 如果以上不起作用,closuresVisual Studio并重新启动它。

  5. 确保Visual Studio以“以pipe理员身份运行”的方式启动。

  6. 最后如果以上所有不起作用尝试重新启动机器。

让我知道它是否有效。

也许有点晚,但是如果有人遇到同样的问题,我就以pipe理员的身份解决了VS2013的问题。

进入debugging菜单并点击( 选项和设置

调试

select源代码pipe理

Current Source ControlPlug-in下拉列表中selectnone

没有

然后点击确定保存chnages,现在你可以添加服务参考。

看起来像一些Visual Studio文件已经损坏。 尝试完全删除引用,然后使用svcutil {http:// {service} / metadataEndpoint}(我假设它是WCF)或(使用wsdl.exe for webservices)生成引用,然后获取客户端代理并将其放入项目使用它。 看看是否正常工作。

closures默认的源代码控制来添加引用是非常可怕的。 上面说的@ScottG,并且工作..只要以pipe理员身份启动VS – 这是有效的,你不必惹你的环境。 VS 2013 UP-5仍然有这个问题。

检查您的文件是否只读,如果是删除只读属性,并重新启动Visual Studio,并尝试添加服务引用。 它为我这样工作。

确保你的服务器放在IIS中的文件夹(我的意思是物理文件; .svc)没有打开,甚至没有在文件pipe理器中select。 这对我有用,但是在我几乎疯狂地发现错误之前。