0

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

我的代码是用 c# 用 Visual Studio 2010 Professional 编写的

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

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

任何想法?

4

3 回答 3

1

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

Assembly.GetExecutingAssembly();

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

Assembly.GetCallingAssembly();

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

Assembly.GetEntryAssembly();

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

Assembly.GetAsembly(Type myType);

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

于 2013-07-05T18:30:00.077 回答
0

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

var assemblyVersion = typeof(MyType).Assembly.GetName().Version.ToString()
于 2013-07-05T18:21:16.403 回答
0

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

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

var assemblyVersion = typeof(Employee).Assembly.GetName().Version.ToString()
于 2013-07-05T18:36:56.957 回答