无法添加服务引用 - 仅限锁定/只读

时间:2014-06-10 18:40:15

标签: c# asp.net wcf

每当我去添加服务引用时,我都会收到错误:

  

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

我已经在项目中有一个服务引用,但它以某种方式破坏并给了我一个错误说明:

  

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

web.config和服务引用配置中的端点是相同的(localhost)

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

编辑:问题不仅仅是这个项目的原生。我试图创建一个新的,完全独立的项目,并添加一个服务引用,我得到了同样的错误。

8 个答案:

答案 0 :(得分:73)

我遇到了同样的错误 - 我发现,如果您选择了源代码控制插件“Microsoft Git提供程序”(我的WCF解决方案 未添加到源代码管理中),则会出现问题!您尝试添加服务引用。

  1. 将源控件插件设置为None
    • 转到TOOLS>选项>源控制。
  2. 添加服务参考
  3. 将源控件插件设置为原始值

答案 1 :(得分:27)

我知道这已经得到了解答,但在尝试答案中的其他所有内容之前,请重启visual studio。 这恰好发生在我和我的WCF课程中的其他4个人身上。似乎是visual studio 2013而不是2012年的问题。

答案 2 :(得分:11)

由于您已经清除,因此没有涉及源代码控制(这似乎是导致问题的原因),您可以尝试以下步骤:

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

  2. 确保文件夹未锁定&也不是只读的。如果是,则从文件夹中删除只读。

  3. 确保visual studio在添加引用时未处于调试模式。

  4. 如果以上不起作用,请关闭visual studio&重启它。

  5. 确保Visual Studio以"以管理员身份运行&#34 ;.

  6. 如果以上所有内容都不起作用,请尝试重启机器。

  7. 让我知道它是否有效。

答案 3 :(得分:7)

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

答案 4 :(得分:1)

  

转到调试菜单,然后点击(选项和设置

debug

  

选择源代码管理

     
    

当前来源 ControlPlug-in下拉列表中选择

  

none

  

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

答案 5 :(得分:0)

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

答案 6 :(得分:0)

关闭默认源控件以添加引用非常糟糕。 @ScottG上面说过,并且确实有效..只需以管理员身份启动VS - 这样做有效,而且你不必乱用你的环境。 VS 2013 UP-5仍有此问题。

答案 7 :(得分:0)

确保您的服务所在的IIS中的文件夹(我的意思是物理文件; .svc)未在文件管理器中打开或选中。这对我的工作,但在此之前,我几乎疯了找错误。