Visual Studio 2012 Express:如何使用自定义 Web 服务器进行调试
Posted
技术标签:
【中文标题】Visual Studio 2012 Express:如何使用自定义 Web 服务器进行调试【英文标题】:Visual Studio 2012 Express: How to Debug with Custom Webserver 【发布时间】:2012-11-08 22:44:10 【问题描述】:我的机器上安装了 IIS 7。使用 Visual Studio 2010 Professional,我可以附加到 IIS 进程并正确调试。
我注意到 Visual Studio 2012 Express 似乎没有该选项。但是,它确实可以选择在调试期间使用自定义 Web 服务器。它只要求我假设为http://localhost/
的基本 URL。但是,当我尝试使用该设置进行调试时出现以下错误:
"The web server is not configured correctly."
感谢您的帮助!
【问题讨论】:
【参考方案1】:这不是自定义网络服务器。这是一个自定义网址。这允许您在执行调试器时指定要使用的 URL。这并不意味着调试器会使用该进程。
据我所知,VS Express 不允许附加到其他进程。您必须购买标准版,或者您可以尝试使用 SharpDevelop 等免费开发环境之一。
【讨论】:
感谢您的帮助神秘人。我已经用 Debug > PublicSite Properties 对话框的屏幕截图更新了我的问题。它在“服务器”部分下显然有一个“自定义网络服务器”选项。你仍然相信这不会改变网络服务器吗?我只是有点困惑:) @jmotes - 它改变了 url,它可能是一个不同的服务器。你到底想做什么?请不要说更改网络服务器...我的意思是,您这样做的最终原因是什么。 我只是希望能够调试在computername/project_alias 可以查看的同一个网站。我正在使用的项目都是仅在标准 IIS 环境和 URL 重写等中构建和测试的。在使用 VS 网络服务器运行时并不总是能正常工作。 @jmotes - 你为什么不使用 IIS Express? 如果它可以工作,那可能会很好。如果我无法在 Express 中设置自定义 Web 服务器,我认为 kleinkie 的响应也不起作用。感谢您的帮助!【参考方案2】:以下是在使用 Visual Studio Express for Web 作为开发 IDE 时如何在 IIS 进程上使用附加到进程:
在 Visual Studio Express 2012 for Web 中打开您的网站项目, 并在浏览器中浏览您的开发网站 - 您可以在 VS 中通过 Ctrl+F5 来完成(无需调试即可启动) - 这将运行 w3wp.exe(ISS 应用程序池进程 - 当您的项目 Web 位置为 HTTP 时,此进程将运行) 打开适用于 Windows 桌面 的 Visual Studio express 2012。是的。对于“windows 桌面” - 诀窍就来了(-: 在桌面版 VS 中 - 按 Ctrl+O(打开文件) - 并浏览到要调试的网站中的文件 - 例如 [root]/Default.aspx.cs。 现在在 Default.aspx.cs 代码中,设置断点 - 例如在 Page_Load 事件代码 在桌面版 VS 中 - 转到“调试”菜单并选择“附加到进程”... 在“附加到进程”对话框中 - 在“可用进程”列表中选择您的 IIS 进程:w3wp.exe 现在按附加按钮 转到浏览器并运行 /Default.aspx 页面结果: 网站运行在 IIS 进程中,会在 VS for desktop 的断点处停止,您可以调试它。
注意事项:
仅当您的网站项目Web Location 为HTTP 时才有效(此设置在VS 中创建网站项目时配置。Google for instructions) 我是在 2012 版本上做的,它可能也适用于其他版本。【讨论】:
【参考方案3】:看看这篇文章是否可以帮助你。使用 IIS Express 让 Web 开发更轻松:http://www.codeproject.com/Articles/396569/Make-Web-Development-Easier-with-IIS-Express
我的 PC 上没有 express,但据我所知,VS Express 支持使用本地 IIS Web 服务器或自定义 Web 服务器,这意味着您应该能够使用其中任何一个进行调试。如果您使用本地 IIS Web 服务器,则需要输入正确的 URL(通常是“http://localhost/applicationname”),如果您使用自定义 Web 服务器,您只需添加一个端口而不是 /applicationame,例如“http ://localhost:54124"
【讨论】:
感谢 kleinkie。你知道这是否可以用 Visual Studio Express 实现吗? NV - 刚刚看到您的编辑。 在 cmets 中的 @Mystere-Man 对他的回答验证 IIS Express 选项可用后让它工作。我通过 (1) 在我的解决方案中选择网站文件夹(在我的情况下为 PublicSite)启用它,这导致项目下拉列表重命名为网站,然后 (2) 从该下拉列表中选择“使用 IIS Express ...”。跨度>以上是关于Visual Studio 2012 Express:如何使用自定义 Web 服务器进行调试的主要内容,如果未能解决你的问题,请参考以下文章
2013 年 Visual Studio 中 VB.NET 的格式说明符
是否有可能使用团队资源管理器进行版本控制而无需为Visual Studio购买许可证?
Visual Studio 2012 与 Visual Studio 2010 (delta) [关闭]
visual studio 2012中如何查看一个工程需要哪些dll文件???