在Visual Studio 2015中,对于Azure网站,附加调试器无法工作

9

在Visual Studio 2015中,Azure网站的附加调试器功能无法使用。

我遇到了以下错误:

请帮忙解决。


Microsoft Visual Studio

无法配置远程调试器。

无法加载属性。

无法加载应用程序设置。

无法加载连接字符串。

确定


有进展了吗?我也遇到了同样的问题。 - levitatejay
是的,微软已经解决了这个问题。请查看此链接(检查帖子中的最后10条评论)https://social.msdn.microsoft.com/Forums/sqlserver/en-US/22fa1009-a276-4b3b-8085-3cc639a90690/staging-instance-not-showing-up-in-visual-studio?forum=windowsazurewebsitespreview我所做的是更新我的个人电脑以获取最新更新 注意:确保您在更新Windows时也选择了此选项“在更新Windows时为其他Microsoft产品提供更新”。 - user1037747
4个回答

33

我为这个问题苦恼了约3个小时。解决方法是通过Visual Studio的“附加到进程”手动连接调试器。

以下是步骤。

1) 打开Azure门户网站@ https://portal.azure.com,进入您的应用服务目录(如图所示)。

2) 点击要调试的应用程序。

enter image description here

3) 单击“设置”或“所有设置”(两者都将启动“所有设置”面板)

enter image description here

4) 转到“应用程序设置”并向下滚动。在那里,您将看到“远程调试”。检查已打开,如图所示。选择相应的Visual Studio版本。请注意,如果您正在从经典门户访问,则无法选择Visual Studio 2015。

enter image description here

5) 点击“保存”。

如果您从未为应用程序服务设置FTP帐户,请继续阅读,否则请跳到步骤8。

6) 在已打开的“所有设置”面板中,向下滚动并查找“部署凭据”。在这里,您将创建一个FTP用户名和密码。随便填写。当然,我建议您使用与您的帐户不同的用户名和强密码

在此输入图片描述

7) 点击保存。

8) 如果您忘记了FTP用户名,在Web应用的主页面(即您单击“所有设置”的页面),您将看到部署用户名。在本示例中,您将使用斜杠后面的用户名。如果是 mywebsite\userftp,则使用 userftp

在此输入图片描述

9) 让我们转向 Visual Studio。打开要调试的项目,然后选择“DEBUG”选项卡。

在此输入图片描述

10) 单击 “附加进程”。当然,您也可以直接使用 Alt + P 快捷键打开窗口!

11) 现在你需要关注限定符。在其中输入您的 azurewebsites.net 域名。您可以尝试使用.com域名,但在我的情况下无法正常工作。我正在使用Cloudflare在共享的Azure网站上启用https,似乎它正在过滤与调试器的连接。

12) 在键盘上按Enter或单击“刷新”按钮。

在此输入图片描述

13) 将出现以下提示:

在此输入图片描述

14) 如图片所示:用户名将是:您在限定符中输入的相同网站URL.azurewebsites.net.exampleftp。

请注意以下内容:

a) 您必须放入与限定符中放入的相同的网站URL。

b) 您必须在 .net 或 .com 后面输入点和反斜线。

c) 您必须输入FTP用户名。请记住,在阅读第8点后,如果您丢失了这个用户名,您必须在Azure网站上检查并使用反斜杠后面的名称。

按“确定”。如果出现错误,请检查远程调试是否已打开。我曾经没有注意到它关闭了。

15) 选择w3wp.exe并按“附加”enter image description here

16) 这将使您拥有橙色的“准备就绪”状态栏 :D

enter image description here


7
你的回答救了我的生命。谢谢。顺便说一下,我的情况是,在第13步中,我输入的用户名和密码与发布配置文件中完全相同。(其中的用户名部分为NAME$NAME)http://i.stack.imgur.com/A06Nz.png )注意:可以从应用服务 blade 的向下箭头下载发布配置文件。 http://i.stack.imgur.com/DWYvT.png - Eric F.
1
谢谢...我在第13步没有得到提示...它从来没有要求我输入ftp的用户名和密码...有什么想法吗?这是我的错误 - 它似乎需要ftp用户和密码:System.Runtime.InteropServices.COMException (0x89710023):无法连接到名为'mytestsitethatwillnotdebugfff.azurewebsites.net'的Microsoft Visual Studio远程调试器。远程计算机上似乎没有运行Visual Studio 2015远程调试器(MSVSMON.EXE)。这可能是因为防火墙正在阻止。字符串站点,字符串用户,字符串密码) - Danimal111
1
感谢提供这么详细的信息!我需要打开一个出站端口(3702),以便调试器可以连接... https://msdn.microsoft.com/zh-cn/library/mt592018.aspx。 - Danimal111
1
FTP用户对我不起作用。我在某个地方发现,您可以使用从Azure为您的网站下载的发布设置中的凭据。我使用了这些凭据,它起作用了。 - elector
似乎连接凭据已更改为使用发布配置文件凭据,正如@elector所说。 - Scott Lance
显示剩余2条评论

5
假设您的项目设置是正确的,这通常会解决问题:
  • 转到 Azure 门户并停止/重新启动 Web 应用程序
如果这样做没有效果:
  • 关闭 Visual Studio。
  • 转到 Azure 门户并停止/重新启动 Web 应用程序
  • 重新启动 Visual Studio

5
重新安装 Visual Studio -> 重启电脑 -> 应用最新的 Windows 更新 -> 打开命令提示符,输入 sfc /scannow -> 进入安全模式 -> 使用恢复光盘 -> 重新安装 Windows -> 不要做出自杀等危险行为。 - Cristian E.

1

2
如果我知道怎么做,我就不会在谷歌上搜索解决方案了 ;) - rothschild86

0

看起来是一个误报的错误对话框。如果你只是按下“确定”按钮,调试器会连接到 Azure Web 应用程序,尽管显示此对话框。 在此输入图像描述


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