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