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

use*_*666 44 c# asp.net wcf

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

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

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

找不到引用契约的默认端点元素(servicename)

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

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

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

Pro*_*ors 74

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

  1. 将源控件插件设置为None
    • 转到工具>选项>源代码管理.
  2. 添加服务参考
  3. 将源控件插件设置为原始值

  • 对于那些不知道的人,要"将源代码控制插件设置为无",请转到工具>选项>源代码管理. (9认同)
  • 2021 年了,我们在 VS 2019 中仍然存在这个错误。 (5认同)
  • 感谢您发布此答案.这正是发生在我身上的事情.在我从"Git Provider"切换到"None"之后,我能够立即添加服务引用,而无需重新启动,在管理模式下运行或任何其他内容. (3认同)
  • 在VS 2013 Update 5中仍然出现相同的错误 (2认同)

Tas*_*tor 27

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

  • 谢谢!重启VS 2013解决了这个问题. (5认同)
  • 就我而言,似乎与将服务添加到全新解决方案有关.在项目创建和添加服务之间重新启动VS似乎工作正常. (2认同)
  • 我正在使用 Visual Studio 2019。这解决了问题。 (2认同)

Pra*_*ngh 11

你已经清除了没有涉及源代码控制(这似乎是我的问题),你可以尝试这些步骤:

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

  2. 确保文件夹未锁定且不是只读文件夹.如果是这样,则从文件夹中删除只读.

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

  4. 如果上面不起作用,请关闭visual studio并重新启动它.

  5. 确保Visual Studio以"以管理员身份运行"启动.

  6. 最后,如果以上都不起作用,请尝试重启机器.

让我知道它是否有效.

  • 我发现以管理员身份运行VS似乎也有帮助. (3认同)
  • 以管理员身份运行为我工作.谢谢您的帮助! (2认同)

小智 7

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


Uma*_*twa 5

转到调试菜单并单击(选项和设置

调试

选择源代码管理

在当前源控制插件下拉列表中选择

没有任何

然后点击确定保存更改,现在就可以添加服务引用了。


Avn*_*esh 0

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