Chr*_*431 5 debugging visual-studio blazor blazor-webassembly
我正在使用 VS 2019 (16.8.4) 开发模块化 blazor 应用程序 (5.0.2),其结构如下:
一个“主要”解决方案,其中包括
几个“子”解决方案引用了主要 RCL(基本组件等),其中包括
所有项目都有一个构建后事件,用于将 DLL 和 PDB 文件复制到某个路径,例如 D:\TMP。SubSolution 通过此路径引用 MainRCL 库。Main Wasm 项目也通过此路径引用 SubRCL 库(用于在启动/Program.cs 时添加服务)。
MainRCL 没有对 SubRCL 的引用(根据可配置的 UI 定义,组件通过反射/BuildRenderTree() 呈现)。
调试主要解决方案工作得很好(IIS Express/应用程序调试)。然后我尝试调试 SubModules -> 我从 MainSolution 开始调试,并在这个 VS 实例中打开来自 SubModules 项目的文件。
在某些库中,调试工作正常,但不适用于 SubRCL(“未绑定断点”)。然后我能够使用示例解决方案重现(非常奇怪的)问题:
“MainRCL”提供了2个属性:
[AttributeUsage(AttributeTargets.Class)]
public sealed class TestNoEnumAttribute : Attribute
{
public string Name { get; set; }
public string Mode { get; set; }
public TestNoEnumAttribute(string name, string mode)
{
Name = name;
Mode = mode;
}
}
[AttributeUsage(AttributeTargets.Class)]
public sealed class TestEnumAttribute : Attribute
{
public string Name { get; set; }
public EventExecutionMode Mode { get; set; }
public TestEnumAttribute(string name, EventExecutionMode mode)
{
Name = name;
Mode = mode;
}
}
public enum EventExecutionMode
{
AutomaticAll = 0,
ManualConfiguration = 2
}
Run Code Online (Sandbox Code Playgroud)
SubRCL 在测试方法中使用这些属性:
[TestNoEnum("Test", "EventExecutionMode.ManualConfiguration")]
//[TestEnum("Test", EventExecutionMode.ManualConfiguration)]
public class Module1Test
{
public int IncreaseNum(int num)
{
var x = new Part1();
var part1Num = x.DoStuff(num);
var newNum = part1Num + 1;
return newNum;
}
}
Run Code Online (Sandbox Code Playgroud)
被调用的类“Part1()”位于 SubSolution 的另一个库中
Part1 类中“DoStuff()”方法处的断点总是被命中(在单独的 .net5 库中)。“IncreaseNum()”方法处的断点仅在不使用[TestEnum] 属性时调用。一旦使用 [TestEnum] 属性,就会出现“未绑定断点”;另一个库中的“DoStuff()”方法中的断点仍然被命中。
然后我尝试将现有项目“添加到 SubSolution”并添加 MainWasm 项目并直接从 SubSolution 开始调试 - > 相同的行为。
是否有我监督的事情(例如关于 DLL 引用或 PDB 文件复制)?
这已经是我尝试调试这些模块化结构解决方案的第二种方法 - 首先我尝试通过 IIS进行调试(如何通过附加到 Chrome 在 IIS 上调试 Blazor Webassembly?),但这也没有成功。
发现使用带有枚举参数的属性时存在调试问题:
https://github.com/dotnet/aspnetcore/issues/25380
-> 我替换了枚举参数并且调试现在工作正常 - 到目前为止,当这个问题被修复时没有得到任何反馈
| 归档时间: |
|
| 查看次数: |
1029 次 |
| 最近记录: |