我从带有生成的版本号的自动构建中生成DACPAC文件。虽然在sqlpackager操作期间很有用,但我需要能够在对文件执行任何操作之前确定DACPAC的版本号。
我可以使用什么工具(当然是自动的)来查询DACPAC文件的版本号和描述?
嘿,我知道你找到了一个解决方案,但我有一个可以帮助别人的替代方法。通过引用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;
}
DACPAC文件实际上是zip文件。解压缩并查询文件DacMetaData,它是一个xml文件。使用XPath:/DacType/Version