Задача MsBuild GenerateDeploymentManifest.CreateDesktopShortcut не работает - PullRequest
1 голос
/ 06 января 2011

При автоматизации процедуры публикации ClickOnce мы используем Mage для генерации манифеста приложения и задачу MsBuild GenerateDeploymentManifest.

<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">

Я что-то упустил?

1 Ответ

6 голосов
/ 06 января 2011

Вам необходимо добавить атрибут TargetFrameworkVersion в задачу GenerateDeploymentManifest. Это должно быть "3.5" или "4.0" в зависимости от того, для какой версии фреймворка вы создаете. По умолчанию задание имеет значение «2.0», поэтому вы должны установить его явно.

В задаче есть проверка, что это должно быть установлено на "3.5" или выше, чтобы 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"
                                TargetFrameworkVersion="3.5"
                                MinimumRequiredVersion="$(AppVersion)"
                                />
...