簡體   English   中英

如何在我的 c# 應用程序中嵌入特定於配置的清單文件?

[英]How can I embed an configuration-specific manifest file in my c# app?

我想在我的 C# 應用程序中嵌入一個特定於平台的清單文件。 在 Visual Studio 2008 中是否有一種簡單的方法可以在不使用構建完成后調用的一些外部腳本的情況下執行此操作?

在創建 C# 應用程序時,應用程序選項卡的配置和平台下拉菜單被禁用,從而阻止我選擇要嵌入到該應用程序的架構或配置特定清單。 我被迫為整個應用程序使用一個清單。

我想使用 Post Build 事件調用一個小腳本來嵌入基於$(Configuration)宏變量的正確清單,並且它可以工作,但我想在不調用其他腳本的情況下執行此操作,我想知道是否不使用構建事件是可能的。

我可以在同一個清單文件中嵌入 x86 和 x64 程序集引用,並且運行時只會加載正確的嗎?

您只需添加 app.manifest 文件。 右鍵單擊項目,select“添加”->“新建項目...”。 Select “Visual C# 項目”下左側樹視圖上的“常規”條目。 從“模板”列表中,找到 select 項目調用“應用程序清單文件”。 單擊添加。

現在你有了一個清單,現在讓我們讓它特定於平台。 右鍵單擊項目和 select“卸載項目”。 再次右鍵單擊 select "Edit {project name}.csproj"。

找到第一個配置部分,最后你應該找到...

<PropertyGroup>
    ...
    <ApplicationManifest>app.manifest</ApplicationManifest>
</PropertyGroup>

您需要將 ApplicationManifest 元素移動到平台配置的適當配置部分。 您甚至可能需要在 xml 中添加一個部分,就像我在這里為 AnyCPU 所做的那樣:

<PropertyGroup Condition=" '$(Platform)' == 'AnyCPU' ">
    <ApplicationManifest>app.manifest</ApplicationManifest>
</PropertyGroup>

完成后,保存文件,右鍵單擊項目,然后 select “重新加載項目”。

暫無
暫無

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

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