0

Я создаю vspackage для Visual Studio 2010 и должен иметь возможность вводить код незаметно в каждую функцию в решении во время процесса сборки.Вставить код перед сборкой

В настоящее время я могу использовать это:

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

лол Ваш комментарий читает АОП FTW bzlm, кажется, непонятным лепет на первый взгляд XD – RhysW

ответ

1

PostSharp, http://www.sharpcrafters.com/ По существу АОП согласно @bzlm

+0

Я не вижу, как это помогает, мой плагин visual studio можно использовать для любого проекта C#, и они не обязательно используют postharp. Пользователь нажимает кнопку, а затем вводится код, затем запускается программа, а затем удаляется код в конце прогона. Предпочтительно все это было бы сделано невидимо, чего не может достичь postsharp (требует атрибутов). Я не думаю, что стоимость оправдана для этого небольшого плагина. – LynchDev