我正在使用teamcity进行夜间构建和测试运行。
我的代码是用Visual Studio 2010专业人员用c#编写的
我需要我的程序集的版本,但我得到了运行测试的引擎版本
这是我的实际代码:
String AssemblyVersion = Assembly.GetExecutingAssembly().GetName().Version.ToString();
有什么想法吗?
答案 0 :(得分:1)
您可以使用反射获取当前正在执行的程序集......
Assembly.GetExecutingAssembly();
或调用正在执行的methoid的程序集....
Assembly.GetCallingAssembly();
或入口点程序集(启动此过程的程序集)。
Assembly.GetEntryAssembly();
否则,要获取任意加载的程序集,您需要指定在该程序集中定义的某些已定义Type
(class
或struct
)的类型...
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()