2011-01-06 44 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)" 
           />