2013-05-10 65 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