2011-01-06 71 views
1

在自動執行ClickOnce發佈過程中,我們使用Mage生成應用程序清單和MsBuild GenerateDeploymentManifest任務。MsBuild任務GenerateDeploymentManifest.CreateDesktopShortcut不起作用

<GenerateDeploymentManifest AssemblyName="App.exe.application" 
           AssemblyVersion="$(AppVersion)" 
           Product="Application" 
           Install="true" 
           UpdateEnabled="true" 
           UpdateMode="Foreground" 
           OutputManifest="$(PrepareFolder)\App.exe.application" 
           MapFileExtensions="true" 
           EntryPoint="@(RelativeApplicationManifestFile)" 
           CreateDesktopShortcut="true" 
           MinimumRequiredVersion="$(AppVersion)" 
           /> 

但CREATEDESKTOPSHORTCUT沒有任何影響,並且不創建部署清單文件所需的標籤。

獲取這樣的:

<deployment install="true" 
      mapFileExtensions="true" 
      minimumRequiredVersion="2.19.13.0"> 

代替

<deployment install="true" 
      mapFileExtensions="true" 
      minimumRequiredVersion="2.19.13.0" 
      co.v1:createDesktopShortcut="true"> 

難道我失去了一些東西?

回答

6

您需要將TargetFrameworkVersion屬性添加到GenerateDeploymentManifest任務。它應該是「3.5」或「4.0」,具體取決於您正在構建的框架版本。任務默認值是「2.0」,這就是您必須明確設置的原因。

爲了讓CreateDesktopShortcut實際生成任何東西,在任務中有一項檢查必須將其設置爲「3.5」或更大。

<GenerateDeploymentManifest AssemblyName="App.exe.application" 
           AssemblyVersion="$(AppVersion)" 
           Product="Application" 
           Install="true" 
           UpdateEnabled="true" 
           UpdateMode="Foreground" 
           OutputManifest="$(PrepareFolder)\App.exe.application" 
           MapFileExtensions="true" 
           EntryPoint="@(RelativeApplicationManifestFile)" 
           CreateDesktopShortcut="true" 
           TargetFrameworkVersion="3.5" 
           MinimumRequiredVersion="$(AppVersion)" 
           />