[英]How to add a manifest file to my C# program in Visual Studio 2019?
這是一個應該有效的分步“hack”; 它允許您獲取默認嵌入式清單的副本並相應地對其進行修改。
首先,通過“Add -> New Item...”命令將新的 XML 文件添加到您的項目中,並將其命名為(例如)“Elevate.xml”。 這最終將成為自定義清單。
接下來,要獲取當前(嵌入式)清單,(重新)構建您的項目並從 Visual Studio 中打開目標 (.exe) 文件。 這應該以“資源瀏覽器”模式打開該文件,類似於下圖:
在該資源管理器中,打開“RT_MANIFEST”節點並雙擊顯示的“1(中性)”子節點; 這將打開一個新的 window,程序的嵌入式當前(默認)清單顯示為二進制資源。 清單實際上是 XML 文本格式,您可以 select 最右邊一列的文本(忽略一些前導/尾隨的不可打印數據),如下所示:
復制該選擇,打開您之前的“Elevate.xml”文件,刪除其所有現有內容並“粘貼”清單資源數據; 這將為您提供類似於如下所示的內容:
<?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" uiAccess="false"/>
</requestedPrivileges>
</security>
</trustInfo>
</assembly>
然后,您可以將“asInvoker”級別更改為“highestAvailable”,保存該文件並將其(在項目樹中)重命名為“Elevate.manifest”。 然后,您可以 select 在項目的屬性中自定義清單:
我已經在本地(但非常簡單)示例程序上測試了這種方法,它似乎有效:當我運行程序時,系統確實要求我提供管理員憑據。 如果您有任何問題,那么您的情況可能需要進行一些小的調整。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.