Post-生成事件 msbuild。在成功构建结束时重命名文件
Post-Build event msbuild. Rename file at end of successful build
我不懂 MSbuild 脚本,现在也没有时间学习。我需要在成功构建结束时使用一种方法来重命名 dacpac 文件以包含当前正在构建的版本。
示例:(TfsDropLocation)\filename.dapac 到 (TfsDropLocation\filename.1.0.0.0.dacpac)
有办法吗?
Is there a way to do this?
答案是肯定的。如果您不介意编辑 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>
现在,正如承诺的那样,程序集版本可用于使用此宏的 post 构建事件。因此,您在 post-build 事件中使用以下命令行通过复制任务添加重命名文件名:
copy /Y "(TfsDropLocation)\filename.dapac" "(TfsDropLocation)\filename.@(VersionNumber).dapac"
如果不想保留之前的filename.dapac
,可以在post-build事件中添加一个del
命令:
del "(TfsDropLocation)\filename.dapac"
注意:不要忽略 post-build 事件命令行中的双引号。
然后你可以查看你的输出和windows资源管理器,我使用文件dll测试,你可以查看我的测试结果:
我不懂 MSbuild 脚本,现在也没有时间学习。我需要在成功构建结束时使用一种方法来重命名 dacpac 文件以包含当前正在构建的版本。
示例:(TfsDropLocation)\filename.dapac 到 (TfsDropLocation\filename.1.0.0.0.dacpac)
有办法吗?
Is there a way to do this?
答案是肯定的。如果您不介意编辑 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>
现在,正如承诺的那样,程序集版本可用于使用此宏的 post 构建事件。因此,您在 post-build 事件中使用以下命令行通过复制任务添加重命名文件名:
copy /Y "(TfsDropLocation)\filename.dapac" "(TfsDropLocation)\filename.@(VersionNumber).dapac"
如果不想保留之前的filename.dapac
,可以在post-build事件中添加一个del
命令:
del "(TfsDropLocation)\filename.dapac"
注意:不要忽略 post-build 事件命令行中的双引号。
然后你可以查看你的输出和windows资源管理器,我使用文件dll测试,你可以查看我的测试结果: