我正在使用 teamcity 进行夜间构建和测试运行。
我的代码是用 c# 用 Visual Studio 2010 Professional 编写的
我需要我的程序集版本,但我得到了运行测试的引擎版本
这是我的实际代码:
String AssemblyVersion = Assembly.GetExecutingAssembly().GetName().Version.ToString();
任何想法?
我正在使用 teamcity 进行夜间构建和测试运行。
我的代码是用 c# 用 Visual Studio 2010 Professional 编写的
我需要我的程序集版本,但我得到了运行测试的引擎版本
这是我的实际代码:
String AssemblyVersion = Assembly.GetExecutingAssembly().GetName().Version.ToString();
任何想法?
您可以使用反射获取当前正在执行的程序集...
Assembly.GetExecutingAssembly();
或调用正在执行的方法的程序集......
Assembly.GetCallingAssembly();
或入口点程序集(启动此过程的程序集)。
Assembly.GetEntryAssembly();
否则,要获取任意加载的程序集,您需要指定在该程序集中定义的某些已定义Type
(class
或)的类型...struct
Assembly.GetAsembly(Type myType);
您想要哪个程序集的版本?
而不是Assembly.GetExecutingAssembly()
,只需检查程序集中某种类型的程序集:
var assemblyVersion = typeof(MyType).Assembly.GetName().Version.ToString()
这意味着在您的程序集中采用任何已定义的类。
例如,您在程序集中定义了一个 Employee 类,然后您可以将其用作
var assemblyVersion = typeof(Employee).Assembly.GetName().Version.ToString()