C# Visual Studio未进入同一个项目构造函数
我正试图调试一些代码,因为类在调用时会抛出异常。C# Visual Studio未进入同一个项目构造函数,c#,visual-studio-2010,C#,Visual Studio 2010,我正试图调试一些代码,因为类在调用时会抛出异常。 代码是: public TrackingStrategy1(string Name, RobotGeometry geometry) { trackSystem = new TrackSystem(geometry, Name); } 哪些调用(在同一项目中): 我得到了“找不到异常”方法:TrackSystem.FindModel..ctor(机器人几何)。但是,在此点插入的断点不会命中。如果我注释掉新
代码是:
public TrackingStrategy1(string Name, RobotGeometry geometry)
{
trackSystem = new TrackSystem(geometry, Name);
}
哪些调用(在同一项目中):
我得到了“找不到异常”方法:TrackSystem.FindModel..ctor(机器人几何)。但是,在此点插入的断点不会命中。如果我注释掉新行,下一行也会得到相同的异常
FindModel在解决方案中包含的另一个项目中被引用,我已经多次重新引用该项目,然后进行了重建
为什么Visual Studio不在此构造函数中插入断点处停止?在加载每个类之前,Visual Studio正在检查是否存在所有外部dll方法调用。
因为这发生在调用构造函数之前,所以永远不会调用构造函数中的断点
在本例中,失败的原因是两个不同的项目引用了不同版本的FindModel,并且在构建中使用了错误的FindModel。这是什么语言?C#?这绝对不是C++。@安德烈:先发制人地标记为C。它也可以是java,但是标签< VisualStudio 2010 的标记表明它是基于函数签名语法的C++,我是否标记了C++?我一定是半睡半醒了。C#是正确的。如果您得到错误“methodnotfound”,那么您真正的问题是一个坏的构建
FindModel
是否在单独的项目中?您可能应该确认bin
文件夹中的程序集都是最新且正确的。
public TrackSystem(RobotGeometry geometry, string Name)
{
finder = new FindModel(geometry); //breakpoint inserted here fails
finder.InitModel();
finder.useGPU = false;
}