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