在代码中使用TargetName宏

本文关键字:TargetName 代码 | 更新日期: 2023-09-27 18:29:25

由于某些原因,我需要从代码中读取TargetName宏的值。它必须是一个编译时常数。我看过Reflection.Assembly,但Reflection似乎对我没有帮助,因为我的模块既不是执行程序集,也不会从反射中获得编译时间常数。

有没有什么方法可以半动态地,例如作为预构建步骤,稍后在代码中使用ProjectSettings宏?

在代码中使用TargetName宏

当您的代码运行时,您的模块执行程序集,因此在这种情况下它会对您有所帮助。

这不是条目程序集,但这是另一回事。

目标名称是程序集名称,它实际上是不带扩展名的执行程序集文件名。

事实上,您可以使用执行程序集的CodeBase属性,并使用Path库来获取其不带扩展名的文件名。

使用此:

Path.GetFileNameWithoutExtension(Assembly.GetExecutingAssembly().CodeBase)