创建新的部署包时(例如,按http://msdn.microsoft.com/en-us/library/dd465323(v=vs.110).aspx),系统会要求您提供包裹位置。
我想在此文件名后附加一个时间戳,以便只需浏览输出位置即可轻松访问旧版本。
即。我想指定一个这样的值:Packages \ Test \ MyProject {yyyy-mm-dd hh.mm.ss}
。zip
...大括号中的值被当前日期/时间替换。
这可以通过原生视觉工作室实现吗? 如果是这样,怎么办呢?
答案 0 :(得分:5)
你可以通过如下编辑你的csproj文件来做到这一点(你必须将其作为文本文件打开): - 在文件末尾附近你会找到一个评论,目标是AfterBuild和BeforeBuild,在这个评论之后添加以下代码
<Target Name="OnBeforePublishMyProject">
<PropertyGroup>
<_PackageTempDir>H:\Cs\Test\build.$([System.DateTime]::Now.ToString("yyyy.MM.dd.HH.mm.ss"))</_PackageTempDir>
<AutoParameterizationWebConfigConnectionStrings>false</AutoParameterizationWebConfigConnectionStrings>
</PropertyGroup>
</Target>
<Target Name="PublishMyProject" DependsOnTargets="Build;OnBeforePublishMyProject;PipelinePreDeployCopyAllFilesToOneFolder">
</Target>
现在,您可以使用Visual Studio命令提示符和以下命令发布项目:
cd path_to_your_project
msbuild /t:PublishMyProject
您也可以创建一个bat文件来执行这些命令