0

我正在为Visual Studio 2010构建vspackage,并且需要能够在构建过程中无形地将代码注入到解决方案中的每个函数中。在构建之前插入代码

目前我可以用这个:

TextDocument doc = (elemInfo.ProjectItem.Document.Object() as TextDocument); 

EditPoint ep = doc.CreateEditPoint(elemInfo.StartPoint); 
ep.Insert(sb.ToString()); 

直接插入代码到代码文件中都可以看到。这是有效的,但由于代码仅收集运行时数据,所以我从不需要查看它。有没有一种方法在构建过程中注入代码而不公开地插入上面的代码?

我可以为解决方案中的所有代码文件创建临时文件,并将代码注入到它们中,然后在调试会话结束后处理它们。这是最好的方法吗?

当intellitrace从正在运行的可执行文件收集数据时,是不是需要做类似的事情呢?我假设它将代码注入到每个方法中以保存变量状态。

+1

[AOP](http://www.sharpcrafters.com/)FTW – bzlm

+1

笑你的评论读AOP FTW bzlm,似乎是难以理解的潺潺一目了然XD – RhysW

回答

1

PostSharp,http://www.sharpcrafters.com/ AOP基本上按照@bzlm

+0

我看不出这有什么帮助,我的visual studio插件可以用于任何c#项目,并且它们不一定使用postsharp。用户单击一个按钮,然后注入代码,然后运行程序,然后在运行结束时删除代码。最好所有这些都将无形地完成哪些postharp不能达到(需要属性)。我不认为这个小插件的成本是合理的。 – LynchDev

相关问题