数据层应用程序的自动版本增量

noj*_*lag 7 sql-server sql-server-2012 ssdt data-tier-application

在数据库项目的项目设置中,我可以从我的数据层应用程序中设置版本号,但是手动设置它有点低效。我想自动增加内部版本号,就像其他 VS 项目一样。如何才能做到这一点 ?同时我想在生成的dacpac文件中看到这个版本号。

小智 5

我发现这个论坛帖子有一个效果很好的答案:数据层应用程序上的自动版本增量

最低步骤是:

  1. Properties\AssemblyInfo.cs如果它尚不存在,则创建它,并确保它包含在项目中并且至少包含以下代码:using System.Reflection; [assembly: AssemblyVersion("1.0.*")]或者无论您希望版本号如何。

  2. *.sqlproj在外部编辑器(记事本等)中编辑文件并添加以下 XML:

    <Target Name="SetDacVersionToAssemblyVersion" AfterTargets="CoreCompile">
        <GetAssemblyIdentity AssemblyFiles="$(IntermediateTargetFullFileName)">
            <Output TaskParameter="Assemblies" PropertyName="IntermediateTargetAssembly" />
        </GetAssemblyIdentity>
        <PropertyGroup>
            <DacVersion>$(IntermediateTargetAssembly.Split(',')[1].Split('=')[1])
            </DacVersion>
        </PropertyGroup>
        <Message Text="DacVersion set to $(DacVersion)" Importance="high" />
    </Target>
Run Code Online (Sandbox Code Playgroud)