调试时出现“指定的通信资源(端口)已在使用中”的错误信息。

29

我刚刚将我的windows phone 8升级到windows phone 8.1。当我将手机连接到电脑并运行我的项目时,它提示我:

另一个应用程序正在使用指定的通信资源(端口)。

我重新启动了电脑和手机,删除了所有连接的外部设备,但在通过Visual Studio 2012运行代码时仍然出现相同的错误。

我可以看到它已经部署到手机上,但我无法进行调试。调试器未连接。

这是我的屏幕截图:

输入图片描述


是的,它在没有调试器的情况下运行。 - Ajay
1
@Romasz,我在项目属性中没有找到目标 Windows Phone 8.1 操作系统版本 - Ajay
好的 - 现在我明白了 - 你更新了你的手机,而不是应用程序,对于混淆我感到抱歉。那么我的评论就不够充分了 - 清理一下。你能否使用VS2012部署其他应用程序并进行调试? - Romasz
据我的尝试,我能够使用VS2012在WP8.1上部署新的应用并进行调试。另外,我记得几个月前有时候也遇到过类似的问题——这很奇怪,因为问题与4个USB端口中的2个有关。你尝试过换一个不同的USB端口了吗? - Romasz
我已经尝试了所有的端口,甚至更换了USB线,但仍然出现错误。我会再试一次。 - Ajay
显示剩余2条评论
8个回答

17

我们需要更新Visual Studio 2012。

前往“工具”→“扩展和更新”→“更新”,并更新Visual Studio更新4。


7

在调试模式可以运行之前,您可能需要在手机上部署应用程序。右键单击项目并选择部署。使用此链接以查看更详细的信息。


@ajaypunekar:这个答案对你有帮助吗? - Lukkha Coder
2
我已经更新到第四个版本,但仍然遇到了问题。你的解决方案起作用了。谢谢! - Lars

6
一种特定的通讯资源(端口)已被另一个应用程序占用。这是Visual Studio尝试连接其调试器时发生任何失败的一般性错误。目前并没有万无一失的解决方案。该问题在Visual Studio 2013和Windows Phone 8.1上仍然存在。您经常会注意到应用程序实际上被部署了,但调试器无法附加。然而,卸载任何内容都不是解决此问题的正确方法。一般来说,以下选项可以解决“问题”(有时需要一个或多个):拔出并重新插入USB电缆;从手机中卸载应用程序,然后从Visual Studio重新部署;从Visual Studio重新部署;重启手机;重启Visual Studio。坏的USB电缆或USB端口也可能引起此问题。

我尝试了所有这些选项,但是仍然遇到同样的问题。我注意到应用程序已部署在手机上。如果我从VS2013运行相同的解决方案,一切都正常。 - Ajay
能否访问调试器的“高级”控件?例如,您可以附加到自己机器上运行的进程,但是您能否查看当前正在调试的进程并手动添加/删除它们?这可能会有所帮助,但可能需要远程调试工具。 - sturrockad

5

我曾经遇到过同样的问题。在我的情况下,安装VS 2012的更新4 RTM后,问题得以解决,我可以再次调试我的应用程序(之前我安装了更新4 RC)。但是,如果我同时打开VS 2012和VS 2013,该错误仍会出现 - 如果只有其中一个打开,则不会弹出该错误。

升级到Vs2012更新4 RTM,然后我们就可以在手机上进行调试了。


1
我已经找到了解决这个问题的方法,即我们必须使用VS2013才能在Windows Phone 8.1上运行应用程序。一旦您安装了VS2013,就可以轻松开始在Windows Phone 8.1上进行调试。 - Ajay
@AjayPunekar 我也遇到了同样的问题,我已经格式化了我的电脑,甚至清理了我的WP 8.1。目前我正在下载VS2013,希望这能解决问题。非常感谢。 - Eldho
我在VS2012调试8.0应用程序时,也遇到了同样的问题,但我通过使用VS2013解决了这个问题(我不需要将应用程序升级到8.1)。 - Nick Wright

4

项目 GUID 冲突

出现此错误的另一个可能原因是项目 GUID 冲突。如果您要调试的应用程序的项目/应用程序 GUID 与从商店安装的另一个应用程序的 GUID 相同(可以是同一应用程序,无论您是否已卸载它),则可能会出现此错误。

我正在为我的应用内购买进行测试,为此必须将 WMAppManifest.xml 和 AssemblyInfo.cs 中的应用程序 GUID 更改为 Windows Phone Store 的 GUID。由于之前已经从商店安装了该应用程序(用于测试目的),我将其卸载以便进行调试。然而,这并没有帮助,每当我将我的应用程序 GUID 更改为匹配 Windows Store 应用程序 GUID 时,就会出现此错误。将 GUID 改回原始项目的 GUID 可使错误消失,并且调试正常工作。

VS2013 Ultimate Update 2,使用 8.1 设备进行测试。


这最终成为了我问题的解决方案。谢谢Miloš。 - Shane Church

2
如果您在尝试调试针对Windows Phone模拟器的Xamarin应用程序时遇到此错误,请确保您已经为WinPhone项目启用了部署选项:
解决方案>属性>配置属性>配置
请参考以下截图:enter image description here

1

-1

@Ajay,我在将设备升级到phone 8.1后遇到了完全相同的问题。

我有两台不同的机器,Machine1运行VS2012 Premium并更新到了Update 3,它提示需要更新到Update 4,但由于某些未知原因,我无法在该机器上安装此更新。Machine2运行VS2013 Professional并更新到了Update 1。在将应用程序部署到8.1设备后,Machine2可以成功运行调试器,但是Machine1会弹出上述错误窗口。我尝试了@LukkhaCoder的方法,但没有帮助。

编辑: 您必须在VS2012 Update 4或VS2013中运行代码才能在8.1设备上进行调试。


1
我已经找到了解决这个问题的方法,即我们必须使用VS2013才能在Windows Phone 8.1上运行应用程序。一旦您安装好vs2013,就可以轻松开始在Windows Phone 8.1上调试。 - Ajay
正如我所想,感谢 @Ajay 澄清了这个问题。 - mesbahuk

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接