2013-05-10 76 views
4

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

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

回答

2

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

4

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

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

(不完全肯定这是需要使用语句 - 我抄了一个更大的DAC辅助文件)

using (Stream dacPackFileStream = File.Open(this.dacPackFileName, FileMode.Open)) 
{ 
    var dacType = DacType.Load(dacPackFileStream); 
    dacPackFileStream.Close(); 
    return dacType.Version; 
} 
+0

这看起来比xml查询更干净。你可以添加从哪里获得这些程序集?也许Nuget? – BozoJoe 2016-04-13 22:20:47