【发布时间】:2012-05-15 07:59:02
【问题描述】:
我正在使用名为 AfterThought 的 PostSharp 替代方案对我的解决方案中的一些项目进行后处理。不幸的是,看起来项目的构建后事件命令行属性不是插入后处理器的正确扩展点,因为编译的程序集在构建后事件被触发和后处理器运行之前被复制到一些依赖项目中.有趣的是,这个问题只发生在网站和 Web 服务项目上——依赖的类库得到了程序集的后处理版本,但我想问题的核心在于构建后事件被调用得太晚,我应该使用不同的事件。
所以我想我需要直接在 *.csproj 文件中增强我的项目的构建过程/MSBuild - 对吗?调用命令行汇编后处理器的正确构建事件是什么?
【问题讨论】:
-
没有机会使用任何一个,但我想你可以安装 PostSharp 并查看它的目标文件以了解它的方式/时间/位置将自身添加到构建过程中,然后为 AfterThought 做同样的事情?这篇博文表明他们将自己添加到 CompileDependsOn? sharpcrafters.com/blog/post/…
-
我刚刚尝试使用 CompileDependsOn,但项目输出中似乎还没有程序集 ($(TargetPath))。
$(CompileDependsOn);事后思考; -
我刚刚发现我必须在 CompileDependsOn 中使用 @(IntermediateAssembly) 而不是 $(TargetPath)。应用此调整后,构建过程开始按我的预期工作。
标签: c# visual-studio assemblies post-processing