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

C# 我需要程序集的版本,但我得到了运行测试的引擎的版本,c#,version,teamcity,.net-assembly,C#,Version,Teamcity,.net Assembly,我正在使用teamcity进行夜间构建和测试运行 我的代码是用visual studio 2010 professional用c#编写的 我需要程序集的版本,但我得到了运行测试的引擎的版本 这是我的实际代码: String AssemblyVersion=Assembly.getExecutionGassembly().GetName().Version.ToString() 有什么想法吗?不用汇编.getExecutionGassembly(),只需检查程序集中某些类型的程序集: var as

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

我的代码是用visual studio 2010 professional用c#编写的

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

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


有什么想法吗?

不用
汇编.getExecutionGassembly()
,只需检查程序集中某些类型的程序集:

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

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

Assembly.GetExecutingAssembly();
或者调用正在执行的MethodId的程序集

Assembly.GetCallingAssembly();
或入口点程序集(启动此过程的程序集)

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

Assembly.GetAsembly(Type myType);

您想要哪个程序集的版本???

它意味着接受程序集中定义的任何类

例如,在程序集中定义了Employee类,然后可以将其用作

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

@jtomasmytype是在您想要其版本的程序集中定义的某种类型(即您正在测试的程序集)
var assemblyVersion = typeof(Employee).Assembly.GetName().Version.ToString()