PostSharp:识别正在编织的组件的项目类型?

PostSharp: Identify project type of assembly being woven?

有什么好的方法可以在编织时识别目标程序集的项目输出类型吗?我希望制作一个 IAspectProvider 应用不同的方面取决于目标是否是:

编辑:我接受了一个答案,因为它已经确定 PostSharp 中没有用于识别正在编织的项目类型的内置机制;它将需要手动指定或以不同的方式获取。

一种可能是通过 MSBuild 将此信息传递给 PostSharp。例如,您可以将其添加到您的 csproj:

<PostSharpProperties>$(PostSharpProperties);ProjectType=Console</PostSharpProperties>

在编译时,你可以这样读取属性 ProjectType

PostSharpEnvironment.CurrentProject.EvaluateExpression("{$ProjectType}")

文档:

这是将此信息传递给 PostSharp 的方法。另一个问题是如果您不想手动将其硬编码到项目文件中,如何获取此信息。