我需要我的程序集的版本,但我得到了运行测试的引擎版本

时间:2013-07-05 18:20:12

标签: c# version teamcity .net-assembly

我正在使用teamcity进行夜间构建和测试运行。

我的代码是用Visual Studio 2010专业人员用c#编写的

我需要我的程序集的版本,但我得到了运行测试的引擎版本

这是我的实际代码: String AssemblyVersion = Assembly.GetExecutingAssembly().GetName().Version.ToString();

有什么想法吗?

3 个答案:

答案 0 :(得分:1)

您可以使用反射获取当前正在执行的程序集......

Assembly.GetExecutingAssembly();

或调用正在执行的methoid的程序集....

Assembly.GetCallingAssembly();

或入口点程序集(启动此过程的程序集)。

Assembly.GetEntryAssembly();

否则,要获取任意加载的程序集,您需要指定在该程序集中定义的某些已定义Typeclassstruct)的类型...

Assembly.GetAsembly(Type myType);

您想要哪个程序集?

答案 1 :(得分:0)

而不是Assembly.GetExecutingAssembly(),只需检查程序集中某些类型的程序集:

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

答案 2 :(得分:0)

这意味着在程序集中使用任何已定义的类。

您的程序集中定义了一个Employee类,然后您可以将其用作

var assemblyVersion = typeof(Employee).Assembly.GetName().Version.ToString()