在生成之前插入代码

本文关键字:插入 代码 | 更新日期: 2023-09-27 18:33:34

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

目前我可以使用它:

TextDocument doc = (elemInfo.ProjectItem.Document.Object() as TextDocument);
EditPoint ep = doc.CreateEditPoint(elemInfo.StartPoint);
ep.Insert(sb.ToString());

它将代码直接插入到代码文件中,供所有人查看。这有效,但由于代码仅收集运行时数据,因此我永远不需要查看它。有没有办法在构建过程中注入代码,而无需像上面那样公开插入代码?

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

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

在生成之前插入代码

PostSharp, http://www.sharpcrafters.com/基本上是 AOP 根据@bzlm