我使用SlowCheetah来转换我的app.configs。我有一个多项目解决方案,其中一个项目执行一个构建后事件,其中bin的输出被复制到其他地方。我发现SlowCheetah会在构建后事件之后进行转换,所以我复制的app.config是转换前的版本。
有没有人建议我如何在SlowCheetah转换后执行我的副本?这需要我写一个定制的构建任务吗?
发布于 2012-09-15 02:27:26
如果你使用MSBuild4.0来构建你的项目--你可以用新的AfterTargets BeforeTargets属性来连接慢猎豹目标。
我不知道你到底想要挂接什么目标名称,但是这段代码可以给你一个基本的概念,如何做到这一点
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Target Name="Some_Target_Name" AfterTargets="TransformAllFiles" >
<Message Text="= Script here will run after SlowCheetah TransformAllFiles ="/>
</Target>
<Project>编辑:我安装了SlowCheetah,发现AfterTargets属性应该是"TransformAllFiles“。只需设置您的目标依赖项AfterTargets="TransformAllFiles"
发布于 2012-12-05 23:33:55
Alexey的答案导致了正确的解决方案,但这里是完整的:
执行右键单击您的项目并选择Unload Project
Edit [your project name].csproj
AfterBuild的目标的注释,然后使用以下执行命令将此属性添加到此目标中:举个例子:
<Target Name="AfterBuild" AfterTargets="TransformAllFiles">
<Exec Command="ECHO Hello PostBuild World!" />
</Target>发布于 2013-10-18 01:48:04
我也遇到过这个问题……决定更新到最新版本的SlowCheetah (当前是2.5.8),这个问题似乎已经解决了!使用构建后事件来部署具有转换后的XML的项目不再有问题!
在NuGet包升级过程之后,我遇到了一个奇怪的问题...转变不再发生。按照Naeem Sarfraz的建议编辑项目,我发现SlowCheetah的PropertyGroup部分被放在.csproj的末尾。
只需将它移到顶部,靠近其他PropertyGroup部分,现在它就像一个护身符!
https://stackoverflow.com/questions/12424047
复制相似问题