2014-10-02 54 views

回答

1

對於VS 2015和F#4(我沒有測試早期版本,但它可能也適用於它們),編譯器和MSBuild文件都直接支持在exe中嵌入清單,但該選項僅在GUI上不顯示。

您可以只需添加清單作爲一個正常的文件,並添加以下到您的項目文件:

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

這會將以下參數調用編譯器:--win32manifest:app.manifest

0

我已經結束了修改我fsproj -file使用mt.exe工具包含在末尾以下內容:

<Target Name="AfterBuild"> 
    <Exec Command="&quot;C:\Program Files\Microsoft SDKs\Windows\v7.0\Bin\mt.exe&quot; -manifest App.manifest -outputresource:&quot;$(TargetPath)&quot;" 
      Condition="('$(OutputType)' == 'Exe' Or '$(OutputType)' == 'WinExe') And Exists('App.manifest')" /> 
    </Target> 
+0

-1這應該對@ Petr的回答給予贊同和評論 – 2014-10-21 06:16:44

+0

@RubenBartelink Petr的回答建議在後期構建命令中使用'mt.exe',而不是將附加任務添加到'AfterBuild'目標。 – Regent 2016-05-31 21:17:08

+0

是的,但我在說a)如果你問一個問題,並且b)有人回答它提到你用標準文章建議的工具和c)你只需用不同的方式連接它,那麼對我來說這將是公平的)upvote他ii)承認這是一個有用的答案。另外,如果DLL/EXE被重建,而AfterBuild則無條件地運行(根據你想要進入的MSBuild-fu的程度,有各種方法 - 這個東西在更大的版本中很重要),所以postbuild步驟只會被觸發 – 2016-05-31 23:39:17