Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 在哪里可以找到程序集配置信息?_.net_.net Assembly_Assemblyinfo - Fatal编程技术网

.net 在哪里可以找到程序集配置信息?

.net 在哪里可以找到程序集配置信息?,.net,.net-assembly,assemblyinfo,.net,.net Assembly,Assemblyinfo,在AssemblyInfo.cs文件中,我有以下子节: #if DEBUG [assembly: AssemblyConfiguration("Debug")] #else [assembly: AssemblyConfiguration("Release")] #endif 组装完成后,在哪里可以看到这些信息?由于文件详细信息中没有关于它的内容: 还有什么地方可以找到它 Windows资源管理器属性页从win32资源中提取该信息。可以(并且将由生成设置)设置许多程序集属性,但可能是Asse

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

#if DEBUG
[assembly: AssemblyConfiguration("Debug")]
#else
[assembly: AssemblyConfiguration("Release")]
#endif
组装完成后,在哪里可以看到这些信息?由于文件详细信息中没有关于它的内容:

还有什么地方可以找到它


Windows资源管理器属性页从win32资源中提取该信息。可以(并且将由生成设置)设置许多程序集属性,但可能是
AssemblyConfiguration
属性不是其中之一


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

您可以使用ILDASM.exe查看已编译的程序集。有关使用ILDASM.exe的信息,请参阅

或者您可以使用反射通过代码查看它,例如
System.Reflection.Assembly.getExecutionGassembly().GetCustomAttributes()
您可以使用反射来获取此信息。我相信是这样的

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

从顶部答案链接的blogpost显示了一种更好的方法来确定程序集是否可调试:


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

第三行将替换为
var config=attributes.OfType().FirstOrDefault()。那你就不需要演员阵容了,而且看起来更干净了。