5

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

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

4

2 回答 2

5

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

using System.IO;
using Microsoft.SqlServer.Management.Dac;

(不完全确定需要哪些 using 语句 - 我已经复制了一个更大的 DAC 帮助文件)

using (Stream dacPackFileStream = File.Open(this.dacPackFileName, FileMode.Open))
{
     var dacType = DacType.Load(dacPackFileStream);
     dacPackFileStream.Close();
     return dacType.Version;
}
于 2014-05-22T00:11:54.750 回答
4

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

于 2013-05-17T19:25:18.330 回答