在Build之前插入代码

时间:2012-05-09 14:09:30

标签: c# visual-studio-2010 vs-extensibility vspackage intellitrace

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

目前我可以使用它:

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

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

将代码直接插入代码文件中供所有人查看。这是有效的,但由于代码只收集运行时数据,我从不需要看到它。有没有办法在构建过程中注入代码而不公开插入上面的代码?

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

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

1 个答案:

答案 0 :(得分:1)

PostSharp,http://www.sharpcrafters.com/ 根据@bzlm

基本上是AOP