簡體   English   中英

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

[英]Where to find the assembly configuration information?

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

#if DEBUG
[assembly: AssemblyConfiguration("Debug")]
#else
[assembly: AssemblyConfiguration("Release")]
#endif

在組裝完成后可以看到這些信息? 由於文件細節中沒有任何內容:

在此輸入圖像描述

還能在哪里找到它?

問候

您可以使用反射來獲取此信息。 我相信它會像以下那樣。

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

進一步思考這是你的意圖嗎?

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

從頂部答案鏈接的博客帖子顯示了確定程序集是否可調試的更好方法: http ://stevesmithblog.com/blog/determine-whether-an-assembly-was-compiled-in-debug-mode/

一個答案表明,如果您使用AssemblyDescription屬性有條件地在文本中包含Release / Debug,則可以在Windows資源管理器中獲取該信息。

您可以使用ILDASM.exe查看已編譯的程序集。 有關使用ILDASM.exe的信息,請參閱http://msdn.microsoft.com/en-us/library/ceats605.aspx

或者您可以使用Reflection通過代碼查看它,例如System.Reflection.Assembly.GetExecutingAssembly().GetCustomAttributes()

Windows資源管理器屬性表從win32 VERSIONINFO資源中提取該信息。 許多程序集屬性可以映射到win32資源字段 (並且將由構建設置),但可能是AssemblyConfiguration屬性不是其中之一。

如果要查看所有程序集屬性,包括那些未設置win32資源字段的程序集屬性, .NET Reflector是一個選項。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM