0
我不知道MSBuild脚本,现在没有时间学习它。我需要一个方法,在成功构建结束时重命名一个dacpac文件以包含当前正在构建的版本。构建后事件msbuild。在成功构建结束时重命名文件
例子:(TfsDropLocation)\ filename.dapac到(TfsDropLocation \ filename.1.0.0.0.dacpac)
有没有办法做到这一点?
我不知道MSBuild脚本,现在没有时间学习它。我需要一个方法,在成功构建结束时重命名一个dacpac文件以包含当前正在构建的版本。构建后事件msbuild。在成功构建结束时重命名文件
例子:(TfsDropLocation)\ filename.dapac到(TfsDropLocation \ filename.1.0.0.0.dacpac)
有没有办法做到这一点?
有没有办法做到这一点?
答案是肯定的。如果您不介意编辑Visual Studio项目文件,那么有一个简单的解决方案,允许您使用如下所示的宏:@(VersionNumber)
:
要完成此操作,请卸载项目。然后,在项目的最后,刚刚结束标记,地点如下脚本之前:
<PropertyGroup>
<PostBuildEventDependsOn>
$(PostBuildEventDependsOn);
PostBuildMacros;
</PostBuildEventDependsOn>
</PropertyGroup>
<Target Name="PostBuildMacros">
<GetAssemblyIdentity AssemblyFiles="$(TargetPath)">
<Output TaskParameter="Assemblies" ItemName="Targets" />
</GetAssemblyIdentity>
<ItemGroup>
<VersionNumber Include="@(Targets->'%(Version)')"/>
</ItemGroup>
</Target>
如今如许,大会版本可与此宏您后生成事件。所以,你添加与下面的命令行生成后事件重命名通过复制任务的文件名:
copy /Y "(TfsDropLocation)\filename.dapac" "(TfsDropLocation)\[email protected](VersionNumber).dapac"
如果你不想保留以前filename.dapac
,您可以在生成后添加del
命令事件:
del "(TfsDropLocation)\filename.dapac"
注意:不要忽略生成后事件命令行中的双引号。
然后,你可以检查你的输出和Windows资源管理器,我使用的DLL文件来测试,你可以检查我的测试结果:
此问题的任何更新?我已经更新了我的答案更详细的信息,你可以检查它是否适合你。如果您有任何问题,请免费告知我。 –
非常感谢你,像魅力一样工作。这真是一个很大的帮助。再次谢谢你。 – Mattaceten