2013-07-05 70 views
0

我正在使用teamcity來進行我的夜晚構建和測試運行。我需要我的程序集版本,但我得到了運行測試的引擎版本

我的代碼是用C#和Visual Studio 2010專業

我需要我的程序集的版本,但我得到了誰運行測試

這裏是我的實際代碼的引擎的版本: String AssemblyVersion = Assembly.GetExecutingAssembly().GetName().Version.ToString();

有什麼想法?

回答

0

相反的Assembly.GetExecutingAssembly(),只是檢查某種類型的組件在彙編:

var assemblyVersion = typeof(MyType).Assembly.GetName().Version.ToString() 
+0

我不明白你的意思.... wath是類型? – JTomas

+0

@JTomas MyType是在你想要的版本的程序集中定義的某種類型(即你正在測試的程序集) – ChaseMedallion

1

您可以使用反射,獲得其當前正在執行的組件......

Assembly.GetExecutingAssembly(); 

或名爲正在執行的方法的組件...

Assembly.GetCallingAssembly(); 

或入口點程序集(啓動此過程的程序集)。

Assembly.GetEntryAssembly(); 

否則,獲得任意加載的程序集,你需要指定的一些定義Typeclassstruct),其設置在集中定義的類型...

Assembly.GetAsembly(Type myType); 

哪個組件做你想要的版本?

0

這意味着在你的程序集中有任何定義的類。

u必須在彙編中定義一個Employee類前然後ü可以用它作爲

var assemblyVersion = typeof(Employee).Assembly.GetName().Version.ToString() 
相關問題