Visual studio prebuild/postbuild 设置条件不生效
这两天有一个需求就是,在编译完成后,对生成的dll进行混淆加密处理,并且自动上传到nuget。
混淆加密和自动上传已经写成了cmd命令,但是又不想在Debug模式下调用这个命令,毕竟每次加密都耗费时间。
于是新建了一个配置,在配置管理器里面新建了PublishDebug的配置
并且加了代码
点击查看代码
<Target Name="PostBuild" AfterTargets="PostBuildEvent" Condition="'$(Configuration)' == 'PublishDebug' Or '$(Configuration)' == 'PublishRelease'">
<Exec Command="PostBuild.cmd $(ProjectDir) $(OutDir) $(TargetName) $(ProjectName) $(Configuration)" />
</Target>
但是VS切换到PublishDebug后,还是不会调用我的cmd命令。就感到很奇怪。
后来询问才知道,需要在配置管理器里面,也需要把要加密的项目,切换到PublishDebug。
同时也可以在VS output中看到
------ Rebuild All started: Project: xxxxxx, Configuration: PublishDebug Any CPU ------