C# ASP.NET Visual studio 向部署文件添加数据

C# ASP.NET Visual studio Adding data to deployment files

我正在尝试向部署到 iis 的每个文件添加额外的数据。

特别是我需要在构建过程中为每个部署文件或 deployed/packaged 文件添加版本号。

到目前为止,我能想到的唯一解决方案是有一个预构建事件或 post 构建事件,它可以有效地为每个文件添加注释,主要是 html、css 和 javascript 个包含版本号的文件。

这样做会相当简单,但看起来很老套,想知道是否有人知道更好的方法。

信息不需要是注释,可以是元数据或任何其他方式,只要文件中有版本号记录就可以了。

版本号由 teamcity 生成并放在文件系统上的一个文件中,该文件用于添加到生成的程序集中。

谢谢。

对于未编译的程序集...破解一些注释掉的版本信息与任何其他想法一样好。

对于已编译的程序集.....您可以更新 AssemblyFileVersion 属性。

MyRevision 将填充一些与您的源代码管理相关的任务。 我注释掉了这个的 svn 版本,你的源代码控制(和一些任务)应该能够做到这一点。因此,出于演示目的,我硬编码了一个 MyRevision 值。

http://msbuildtasks.tigris.org/ and/or https://github.com/loresoft/msbuildtasks 有( FileUpdate 和 SvnVersion )任务。

  <Target Name="VersionTagItTarget">

    <ItemGroup>
      <AssemblyInfoFiles Include="$(ProjectDir)\**\*AssemblyInfo.cs" />
    </ItemGroup>

    <PropertyGroup>
        <MyRevision>999</MyRevision>
    </PropertyGroup>    

<!--
    <SvnVersion LocalPath="$(MSBuildProjectDirectory)" ToolPath="$(SVNToolPath)">
      <Output TaskParameter="Revision" PropertyName="MyRevision" />
    </SvnVersion>
    -->

    <FileUpdate Files="@(AssemblyInfoFiles)"
    Regex="AssemblyFileVersion\(&quot;(\d+)\.(\d+)\.(\d+)\.(\d+)"
    ReplacementText="AssemblyFileVersion(&quot;...$(MyRevision)" />
  </Target>