我正在尝试调试一个项目,该项目引用了我添加的DLL,DLL存储在外部目录中,我只是添加了一个引用.现在我当然可以调试我的项目,但在我的另一个dll上调用方法的行我不能介入它,即F12.
我能做到这一点的方法之一是我的项目(DLL)作为现有项目添加到我的解决方案,并更换参考DLL使用附加的项目,而不是磁盘上的文件.
但真是一团糟,我相信有更干净的方式?
我似乎记得,如果我复制一些PDB文件或东西,但我不记得了.我是否需要打开2个visual studio副本,1个用于我的主项目,1个用于我引用的DLL?
我的主要解决方案是使用我自己编写的实用程序类库中的代码,但它是另一个解决方案的一部分.如何在引用的DLL文件中设置断点?
我之前问过: 添加对visual studio宏的dll引用
用我的语言(C#)创建宏的想法使得创建宏更容易.问题是我无法调试dll
为了解决我试过的问题:
我myClassLibrary.pdb接下来myClassLibrary.dll希望我可以通过步入它们来调试dll中的方法.
创建了WCF服务.因为我不知道如何从vba引用服务,所以我从类库中引用它.问题是我需要使用变量,例如DTE.ActiveDocument,这些变量不可序列化,这意味着我无法将它们传递给wcf服务.
在C#中工作的想法非常好但是无法调试并且看到发生了什么使得它有点困难.我可能不得不转到我的旧选项,我在C#上创建了我的代码然后用反射器反编译成vba.
我想我已经接近了解决方案.我想为什么不在控制台应用程序中创建宏?我能够获取活动文档文本但无法更改它.
EnvDTE80.DTE2 MyDte;
MyDte = (EnvDTE80.DTE2)System.Runtime.InteropServices.Marshal.GetActiveObject( "VisualStudio.DTE.10.0" );
Console.WriteLine( "The Edition is " + MyDte.Edition );
Console.ReadLine( );
// write to the console the text that is selected. "sometimes it does not work don't know why"
Console.WriteLine(
MyDte.ActiveDocument.Selection.Text
);
Run Code Online (Sandbox Code Playgroud)
注意我添加了以下引用加上vba宏具有的onces:

我有一个Web项目,它引用了我想调试的DLL,B.我在单独的解决方案中有DLL源代码.是否可以在不将dll项目添加到我的A解决方案的情况下进入dll代码?
谢谢!
FGA