哪里可以找到装配配置信息?

jwa*_*zko 9 .net assemblyinfo .net-assembly

在AssemblyInfo.cs文件中我有以下子句:

#if DEBUG
[assembly: AssemblyConfiguration("Debug")]
#else
[assembly: AssemblyConfiguration("Release")]
#endif
Run Code Online (Sandbox Code Playgroud)

在组装完成后可以看到这些信息?由于文件细节中没有任何内容:

在此输入图像描述

还能在哪里找到它?

问候

j0t*_*0tt 11

您可以使用反射来获取此信息.我相信它会像以下那样.

Assembly assembly = Assembly.GetExecutingAssembly();
object[] attributes = assembly.GetCustomAttributes(true);
var config = attributes.OfType<AssemblyConfigurationAttribute>().FirstOrDefault();
if (config != null) {
        Debug.WriteLine(config.Configuration);
}
Run Code Online (Sandbox Code Playgroud)

进一步思考这是你的意图吗?

如何使用Debug或Release配置检查程序集是否已构建?

从顶部答案链接的博客帖子显示了确定程序集是否可调试的更好方法:http://stevesmithblog.com/blog/determine-whether-an-assembly-was-compiled-in-debug-mode/

一个答案表明,如果您使用AssemblyDescription属性有条件地在文本中包含Release/Debug,则可以在Windows资源管理器中获取该信息.


dka*_*man 1

Windows 资源管理器属性表从 win32 VERSIONINFO资源中提取该信息。许多程序集属性可以映射到 win32 资源字段(并将由构建设置),但该AssemblyConfiguration属性可能不是其中之一。

如果您想查看所有程序集属性,包括那些未设置 win32 资源字段的属性,.NET Reflector是一种选择。