injeção de código em tempo de compilação
Pergunta
Ultimamente, tenho vindo a trabalhar com PostSharp um pouco. É um quadro AOP que nos permite fazer a injeção de código em tempo de compilação. Você pode apenas referenciar assembléias PostSharp, usá-lo em seu código e após a compilação, você vai ter um conjunto que o código desejado foi injetado. Tentei descobrir como PostSharp integra-se no processo de compilação do Visual Studio e altera o código, mas nenhum resultado até agora.
Existe alguma maneira de obter o Visual Studio para executar algum código durante ou após a compilação sem usar tarefa de pós-construção do projeto ou qualquer plug-in?
Solução
A magia está na última linha de C:\Windows\Microsoft.NET\Framework\v3.5\Microsoft.Common.targets
. Isso carrega uma c:\Program Files\MSBuild\v3.5\Custom.After.Microsoft.Common.targets
arquivo, se houver.
Assim PostSharp edita esse arquivo durante a instalação e adiciona uma referência para seu próprio arquivo de alvos.