title: Unbound breakpoints when debugging in Blazor Webassembly when using certain attributes/classes
body: <p>I'm developing a modular blazor application (5.0.2) using VS 2019 (16.8.4), which is structured as follows:</p>
  <ul>
  <li><p>a &quot;Main&quot; Solution, which consists of</p>
  <ul>
  <li>RCL</li>
  <li>Wasm project to startup the application</li>
  </ul>
  </li>
  <li><p>several &quot;Sub&quot; solutions which reference the Main RCL (Base components, etc) which consist of</p>
  <ul>
  <li>.net5 libraries (Models, Web-service access, etc)</li>
  <li>RCL with components, referencing the .net5 libraries (via project reference)</li>
  </ul>
  </li>
  </ul>
  <p>All projects have a post-build event to copy the DLL and PDB files to a certain path, e.g. D:\TMP.
  The SubSolution references the MainRCL library via this path.
  The Main Wasm project references the SubRCL library also via this path (for adding services at startup/Program.cs).</p>
  <p>The MainRCL does not have a reference to SubRCL (components are rendered via reflection/BuildRenderTree() according to configurable UI definition).</p>
  <p>Debugging the Main Solution worked perfectly (IIS Express/Application Debugging).
  Then I tried to debug the SubModules -&gt; I started debugging from the MainSolution and opened files from the SubModules projects in this VS instance.</p>
  <p>At some libraries, debugging was working, but not for the SubRCL (&quot;Unbound Breakpoint&quot;). Then I was able to reproduce the (very strange) issue with sample solutions:</p>
  <p>The &quot;MainRCL&quot; provides 2 Attributes:</p>
  <pre><code>[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
  }
  </code></pre>
  <p>The SubRCL uses these attributes at a test-method:</p>
  <pre><code>[TestNoEnum(&quot;Test&quot;, &quot;EventExecutionMode.ManualConfiguration&quot;)]
  //[TestEnum(&quot;Test&quot;, 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;
      }
  }
  </code></pre>
  <p>The class &quot;Part1()&quot; which is called, is located at another library of the SubSolution</p>
  <p>The breakpoint at the &quot;DoStuff()&quot; method in Part1 class is always hit (in separate .net5 library).
  The breakpoint at the &quot;IncreaseNum()&quot; method is only called when the [TestEnum] attribute is <strong>NOT</strong> used.
  As soon as the [TestEnum] attribute is used, there is an &quot;Unbound Breapoint&quot;; the breakpoint in &quot;DoStuff()&quot; method in another library is still hit.</p>
  <p>Then I tried to &quot;add existing project&quot; to SubSolution and added the MainWasm project and started debugging directly from SubSolution -&gt; same behavior.</p>
  <p>Is there anything I oversee (e.g. regarding DLL-references or PDB file copy)?</p>
  <p>This is already my second approach of trying to debug these modular-structured solutions - first I tried to debug via IIS (<a href="https://stackoverflow.com/questions/65421588/how-to-debug-blazor-webassembly-on-iis-with-vs-by-attaching-to-chrome">How to debug Blazor Webassembly on IIS with VS by attaching to Chrome?</a>), but this was also not successful.</p>