首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Visual Studio/MSBuild中运行程序集后处理的正确生成事件是什么

在Visual Studio/MSBuild中运行程序集后处理的正确生成事件是什么
EN

Stack Overflow用户
提问于 2012-05-06 22:49:23
回答 2查看 1K关注 0票数 0

我正在使用称为AfterThought的PostSharp替代方案来对我的解决方案中的一些项目进行后处理。不幸的是,项目的后期生成事件命令行属性看起来并不是插入后处理器的正确扩展点,因为编译后的程序集在后期生成事件被激发和后处理器运行之前被复制到一些依赖项目中。有趣的是,这个问题只发生在网站和web服务项目-依赖于类库的程序集的后期处理版本,但我猜问题的核心是后期构建事件调用太晚,我应该使用不同的事件。

所以我想我需要在*.csproj文件中直接增强我的项目的构建过程/MSBuild-对吗?什么构建事件是调用命令行汇编后处理器的正确事件?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-05-14 15:08:48

我的问题的最终解决方案是CompileDependsOn目标:

代码语言:javascript
复制
  <Target Name="AfterThought">
    <Exec Command="&quot;$(SolutionDir)..\LIBS\Afterthought\Afterthought.Amender.exe&quot; &quot;@(IntermediateAssembly->'%(FullPath)')&quot; &quot;$(SolutionDir)..\Amendments\bin\$(Configuration)\Amendments.dll&quot; @(ReferencePath->'&quot;%(RootDir)%(Directory).&quot;', ' ')" />
  </Target>
  <PropertyGroup>
    <CompileDependsOn>
    $(CompileDependsOn);
    AfterThought;
   </CompileDependsOn>
  </PropertyGroup>
票数 0
EN

Stack Overflow用户

发布于 2012-05-06 23:06:41

这里有两个:

  • <Target Name="AfterBuild"将运行外壳命令,commands
  • <PropertyGroup><PostBuildEvent>将运行MSBuild命令,并且可以从Visual Studio的项目对话框中访问,该对话框在"Build Events“选项卡

下作为"Post-build event command line

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10471438

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档