在Web发布包文件名中包含日期;视觉工作室

时间:2014-10-14 15:30:01

标签: deployment visual-studio-2013 timestamp web-deployment web-deployment-project

创建新的部署包时(例如,按http://msdn.microsoft.com/en-us/library/dd465323(v=vs.110).aspx),系统会要求您提供包裹位置。

我想在此文件名后附加一个时间戳,以便只需浏览输出位置即可轻松访问旧版本。

即。我想指定一个这样的值:Packages \ Test \ MyProject {yyyy-mm-dd hh.mm.ss}。zip ...大括号中的值被当前日期/时间替换。

这可以通过原生视觉工作室实现吗? 如果是这样,怎么办呢?

1 个答案:

答案 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文件来执行这些命令