无法添加服务引用 - 锁定/只读
Posted
技术标签:
【中文标题】无法添加服务引用 - 锁定/只读【英文标题】:Unable to add a service reference - locked/read only 【发布时间】:2014-07-31 15:53:43 【问题描述】:每当我添加服务引用时,我都会收到错误消息:
未能添加服务引用“Servicereference1.reference” 错误:无法签出当前文件。该文件可能是只读的或锁定的,或者您可能需要手动检出该文件。
我已经在项目中有一个服务引用,但它以某种方式损坏并给了我一个错误,指出:
找不到引用合同(服务名称)的默认端点元素
web.config 和服务引用配置中的端点相同(本地主机)
我也无法更新该引用,因为我会得到相同的“无法签出当前文件”错误。
编辑:问题不只是这个项目本身。我试图创建一个新的、完全独立的项目,并为其添加服务引用,但我得到了同样的错误。
【问题讨论】:
我认为这与您的版本控制系统(可能是 VSS 或 TFS?)锁定文件而不是无法添加服务引用有关。 以管理员身份运行 vs2013 为我工作(如下面 Pranav 的回答中所述) 【参考方案1】:我遇到了同样的错误 - 我发现,如果您选择了源代码管理插件“Microsoft Git 提供程序”(我的 WCF 解决方案没有添加到源代码管理中!)和您尝试添加服务参考。
-
将源代码控制插件设置为无
转到工具 > 选项 > 源代码管理。
添加服务参考
将源代码管理插件设置为原始值
【讨论】:
这在 VS 2013 Update 4 中仍未修复。每次尝试添加服务引用时,我都可以复制它。我使用 Git 作为我的源代码控制提供程序。这些步骤是一种解决方法,或者,您可以关闭 VS 并以管理员身份重新运行它。 感谢您发布此答案。这正是发生在我身上的事情。从“Git Provider”切换到“None”后,我能够立即添加服务引用,而无需重新启动、以管理员模式运行或任何其他操作。 @JackFrost 嗯...似乎他们最近删除了该页面(不知道为什么),但无论如何所有必要的信息都在答案中。 对于那些不知道的人,要“将源代码管理插件设置为无”,请转到工具>选项>源代码管理。 2021 我们在 VS 2019 中仍然存在这个错误。【参考方案2】:我知道这已得到解答,但在尝试答案中的所有其他内容之前,请重新启动 Visual Studio。 这只是发生在我和我的 WCF 课程中的其他 4 个人身上。似乎是 Visual Studio 2013 而不是 2012 的问题。
【讨论】:
就我而言,这似乎与将服务添加到全新的解决方案有关。在项目创建和添加服务之间重新启动 VS 似乎工作正常。 @Jeremy 对我来说也一样。创建新解决方案后我需要重新启动。 VS 2012 刚刚发生在我身上。:) 我使用的是 Visual Studio 2019。这解决了问题。【参考方案3】:由于您已经清除了不涉及源代码控制(这对我来说似乎是问题的原因),您可以尝试以下步骤:
确保如果从存在源代码管理的位置复制粘贴,然后删除源代码管理特定文件。
确保文件夹未锁定且不是只读的。如果是这样,则从文件夹中删除只读。
确保 Visual Studio 在添加引用时未处于调试模式。
如果上述方法不起作用,请关闭 Visual Studio 并重新启动它。
确保 Visual Studio 以“以管理员身份运行”启动。
最后,如果以上都不起作用,请尝试重启机器。
让我知道它是否有效。
【讨论】:
我已经重新启动了我的机器和 Visual Studio 几次,但没有帮助。要添加服务引用的文件夹设置为“只读”,但我在 Windows 7 上,每个文件夹的属性设置如下:i.imgur.com/Bm1CSOy.png,以前不是问题。 我发现以管理员身份运行 VS 似乎也有帮助。 我刚刚重新启动了 Visual Studio,即使它处于调试模式,它也能正常工作。谢谢 以管理员身份运行对我有用。感谢您的帮助! 嗨,5 确保 Visual Studio 以“以管理员身份运行”启动。这个对我有用。谢谢。【参考方案4】:也许有点晚了,但如果有人有同样的问题,我以管理员身份运行 VS2013 解决了。
【讨论】:
【参考方案5】:转到调试菜单并点击(选项和设置)
选择源代码管理。
在 Current Source ControlPlug-in 下拉列表中选择 none
然后点击ok保存更改,现在可以添加服务引用了。
【讨论】:
【参考方案6】:奇怪的是,我在 VS 2019 中使用 git 源代码控制遇到了这种情况。我可以通过简单地清理和重建包含服务引用的项目来解决这个问题......
编辑:如果您已经有一个正在尝试更新的服务引用,您可能需要删除它并重新添加它
【讨论】:
这里也一样,谢谢你的提示。在 VS 2019 中为我工作。【参考方案7】:看起来某些 Visual Studio 文件已损坏。尝试完全删除引用,然后使用 svcutil http://service/metadataEndpoint (我假设它是 WCF)或(使用 wsdl.exe 用于 Web 服务)生成引用,然后获取客户端代理并将其放入项目中使用它。看看效果好不好。
【讨论】:
我应该删除哪个引用?项目中没有当前的服务引用。 您可以尝试使用 svcutil 看看是否一切正常吗?尝试重新启动机器。我之前看到过这个错误,我认为这是由于安装了一些插件 - 你安装了任何 VS 扩展吗? 在我为 ASP.NET 包安装 Teleriks UI 后出现问题。但这不是紧随其后。我的应用程序正常运行了几个小时,直到收到此错误。 检查您的应用数据配置文件文件夹中是否没有明显的文件。可能正在清除配置文件并再次尝试解决问题【参考方案8】:关闭默认源代码管理以添加引用是可怕的。 @ScottG 上面说过,并且确实有效.. 只需以管理员身份启动 VS - 这有效,您不必弄乱您的环境。 VS 2013 UP-5 仍然有这个问题。
【讨论】:
【参考方案9】:检查您的文件是否是只读的,如果是,请删除只读属性并重新启动 Visual Studio 并尝试添加服务引用。 它像这样对我有用。
【讨论】:
【参考方案10】:确保您在 IIS 中放置服务的文件夹(我的意思是物理文件;.svc)未打开,甚至未在文件管理器中选择。这对我有用,但在我几乎发疯发现错误之前。
【讨论】:
以上是关于无法添加服务引用 - 锁定/只读的主要内容,如果未能解决你的问题,请参考以下文章
win7显示引用的帐户当前已锁定,且可能无法登录,怎么解除锁定?