我运行的代码可以使用C#Automation成功注册Excel加载项,并通过C#层与C ++对话
// Tools -> Create GUID -> Register Format
namespace MyExcelAddins
{
[ClassInterface(ClassInterfaceType.AutoDual), ComVisible(true)]
[Guid("6F89542F-3DAC-471F-86DD-145F5E456968")]
public class MyExcelFunctions : AddInRegistrator
{
[DllImport(@"C:\Users\Ilya\Documents\Visual Studio 2012\Projects\UnmanegedTester\x64\Debug\")]
public static extern double AddNumbers(double a, double b);
public double SampleAdd(double a, double b)
{
double res = AddNumbers(a, b);
return res;
}
}
}
这是我的解决方案的视图,我从另一个目录添加了C ++项目。
我能够调试C#代码,现在我想尝试调试C ++部分。我将C#项目的debug属性设置为
点击运行时,我得到的错误是
如果我取消选中“启用本机代码调试”,则不会出现错误,但当然不能调试C ++。我猜我在设置中缺少某些内容。请让我知道是否有人知道如何解决该问题。
如果继续调试,我可以在C#中命中断点,而在C ++中不能命中
答案 0 :(得分:1)
该错误消息告诉您excel.exe
没有调试符号,这并不奇怪,因为它是Microsoft程序。您可以继续调试,并且您的代码(应该具有调试信息)仍然可以调试。例如,您可以在将要由Excel调用的某些代码中设置一个断点,并且调试器将在到达断点时停止它。