如何从DACPAC文件中获取版本号

Boz*_*Joe 5 versioning dacpac

我使用生成的版本号从自动构建生成DACPAC文件.虽然在sqlpackager操作期间很有用,但我需要能够在对文件执行任何操作之前确定DACPAC的版本号.

我可以使用什么工具(当然是自动化的)来查询DACPAC文件的版本号和描述?

Mar*_*ark 5

嘿,我知道你找到了解决办法,但我有另一种方法可以帮助别人.通过引用Microsoft.SqlServer.Management.Dac.dll并使用DacType类:

using System.IO;
using Microsoft.SqlServer.Management.Dac;
Run Code Online (Sandbox Code Playgroud)

(不完全确定需要使用哪种语句 - 我已经复制了更大的DAC辅助文件)

using (Stream dacPackFileStream = File.Open(this.dacPackFileName, FileMode.Open))
{
     var dacType = DacType.Load(dacPackFileStream);
     dacPackFileStream.Close();
     return dacType.Version;
}
Run Code Online (Sandbox Code Playgroud)


Boz*_*Joe 4

DACPAC 文件实际上是 zip 文件。解压 zip 并查询文件 DacMetaData,它是一个 xml 文件。使用 XPath:/DacType/Version