繁体   English   中英

如果主 web 应用程序在 IIS 下运行,如何在 VS 中调试 Blazor 项目(插件模块)?

[英]How to debug Blazor project (plugin module) in VS if main web app running under IIS?

这个场景是有一个Blazor web的应用平台,里面可以运行插件模块。 特别是在我的情况下,这是Oqtane 平台,但该问题可能适用于其他 Blazor web 应用程序平台,例如 ABP.io。 插件模块基本上是程序集,在运行时加载到平台应用程序中。

我的问题是 - 如何调试平台在 IIS 下运行的插件模块,即平台不是通过 Visual Studio 启动的。

我知道这样做的一种方法是获取平台源代码,在 Visual Studio 中打开它的解决方案,然后将插件模块项目添加到解决方案中,然后从 VS 启动整个应用程序。

然而,出于各种原因,我更喜欢在 IIS 下运行我的平台开发实例,并维护一个只包含插件模块项目的 VS 解决方案,并将 DLL 和 wwwroot 内容复制到构建实例中(并重新启动 IIS 应用程序池).

所以这种方法确实有效,除了我看不到在应用程序运行时如何调试我的插件模块代码。 如果这是一个 WebForms 或 MVC 应用程序,我会使用 VS“附加到进程”命令附加到 w3wp.exe。 但是,在 IIS 下运行的 Blazor 应用程序显然不能那样工作。

仅供参考,该应用程序以 Blazor 服务器模式(不是 WebAssembly)运行,并且是 .NET 6.0

这种方法是否可行,如何实现?

似乎我错误地认为无法使用 Attach to Process 来附加到 w3wp.exe(由于一些错误配置,该进程没有显示为附加)。

如果您在 Attach to Process window 上进行以下选择,您应该会发现 w3wp.exe 进程出现并可以附加到,这意味着您可以调试您的插件模块汇编代码:

  • 连接类型:默认
  • 连接目标:你的机器
  • 附加到:托管(.NET Core,.NET 5+)代码
  • 显示所有用户的进程:选中

在此处输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM