是否可以使用C#编译器添加PostSharp进行动态编译

问题描述

我正在使用Microsoft.CodeDom.Providers.DotNetCompilerPlatform nuget packge在运行时进行代码编译。这是可以实现的,但是在我的场景中,我的动态类需要使用Postsharp进行面向方面的编程。

谁能指出我的命令行支持,以使用Postsharp为已编译的程序集添加csc.exe依赖项注入,就像MSBuild或Visualstudio所做的那样。

解决方法

使用当前版本的PostSharp很难做到这一点。具有命令行执行功能的最新版本是5.0,并且不再受支持。

问题是PostSharp读取MSBuild中过多的属性或由MSBuild传递给它。

如果可以生成msbuild文件,则可以将其构建为Microsoft.Build NuGet程序包,并以这种方式在所生成的代码上运行PostSharp。