我创建了一个样本来重现我的工作问题,问题就出现了。我有一个WinForms项目的解决方案,针对.NET framework 4.7和.NET Core库,targint .NET Core 2(同样尝试了4.6.1 / .Net Standard 2.0组合)
Form1.cs看起来像:
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
MessageBox.Show(Helper.Method1(100).ToString());
}
}
图书馆代码:
public static class Helper
{
public static int Method1(int a)
{
a = a + 1;
return a; //breakpoint here
}
}
我不能让Visual Studio在.net核心库中找到Helper中的断点(在两种组合中都没有 - .net framework vs .net core NOR .net framework(4.6.1)vs .net standard(2.0) )
我错过了什么?
我发现了一个Scott Hanselman's post on this,但是,如果我把他弄好了,那么所需要的是该库不会使用特定的框架而不是.NET标准之一(并且消费项目目标框架符合该标准)。我好像在做那件事。
为了能够在Visual Studio中设置断点,它需要有信息文件(例如。在./bin/Debug目录中看到的.pdb文件),以帮助Visual Studio知道异常发生的位置,收集有关变量值的信息,以及更多的东西。
除了实际的应用程序/库文件之外,还可以在此处相应地设置生成的信息量:转到项目>属性>构建>高级(底部的按钮)>调试信息。
注意:这不是解决方案范围设置,需要为每个项目设置。有关可选设置的含义的更多信息:Advanced Build Settings Dialog Box