/win32manifest (C# 編譯器選項)
使用 /win32manifest 選項,指定將使用者定義的 Win32 應用程式資訊清單檔內嵌至專案的可攜式可執行 (PE) 檔。
/win32manifest: filename
引數
- filename
自訂資訊清單檔的名稱和位置。
備註
Visual C# 編譯器 (Compiler) 預設會內嵌應用程式資訊清單,而這個資訊清單指定 "asInvoker" 要求的執行層級。 編譯器會在建置 (Build) 可執行檔的相同資料夾中建立資訊清單,這個資料夾通常是 bin\Debug (使用 Visual Studio 時則是 bin\Release) 資料夾。如果您要提供自訂資訊清單,例如指定 "highestAvailable" 或 "requireAdministrator" 要求的執行層級,請使用這個選項指定檔案名稱。
注意事項 |
---|
此選項和 /win32res (C# 編譯器選項) 選項是互斥 (Mutually Exclusive) 的選項。如果您嘗試在相同命令列中同時使用兩個選項,會發生建置錯誤。 |
沒有應用程式資訊清單以指定要求的執行層級的應用程式,會受制於 Windows Vista 中「使用者帳戶控制」功能下的檔案/登錄虛擬化。如需虛擬化的詳細資訊,請參閱 Windows Vista 開發人員小故事:Windows Vista 應用程式開發的使用者帳戶控制 (UAC) 需求 (英文)。
如果符合下列其中一個條件,應用程式便受制於虛擬化:
使用 /nowin32manifest 選項且未在稍後的建置步驟中提供資訊清單,或使用 /win32res 選項提供資訊清單做為 Windows Resource (.res) 檔案的一部分。
提供的自訂資訊清單未指定要求的執行層級。
Visual Studio 會建立預設的 .manifest 檔案,並儲存在與執行檔並列的偵錯和發行目錄中。在任何文字編輯器中建立資訊清單,然後將檔案新增至專案,就可以新增自訂資訊清單。您也可以用滑鼠右鍵按一下 [方案總管] 中的 [專案] 圖示,然後按一下 [加入新項目],再按一下 [應用程式資訊清單檔案]。在您加入新的或現有的資訊清單檔之後,這個資訊清單檔會出現在 [資訊清單] 下拉式清單中。如需詳細資訊,請參閱專案設計工具、應用程式頁 (C#)。
您可以使用 /nowin32manifest (C# 編譯器選項) 選項,提供應用程式資訊清單做為自訂建置後步驟,或做為 Win32 資源檔的一部分。如果您要應用程式受制於 Windows Vista 上的檔案或登錄虛擬化,也請使用這一個選項。這樣會防止編譯器在可攜式可執行檔 (PE) 中建立和內嵌預設資訊清單。
範例
下列範例顯示 Visual C# 編譯器插入至 PE 的預設資訊清單。
注意事項 |
---|
編譯器會將標準應用程式名稱 " MyApplication.app " 插入至 xml。這是讓應用程式在 Windows Server 2003 Service Pack 3 上執行的解決方法。 |
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity version="1.0.0.0" name="MyApplication.app"/>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
<security>
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
<requestedExecutionLevel level="asInvoker"/>
</requestedPrivileges>
</security>
</trustInfo>
</assembly>