MsBuild任务GenerateDeploymentManifest.CreateDesktopShortcut不起作用

adr*_*anp 1 msbuild clickonce msbuild-task

在自动化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)"
                                />
Run Code Online (Sandbox Code Playgroud)

但CreateDesktopShortcut无效,并且不会在部署清单文件中创建所需的标记.

得到这个:

<deployment install="true" 
            mapFileExtensions="true" 
            minimumRequiredVersion="2.19.13.0">
Run Code Online (Sandbox Code Playgroud)

代替

<deployment install="true" 
            mapFileExtensions="true" 
            minimumRequiredVersion="2.19.13.0" 
            co.v1:createDesktopShortcut="true">
Run Code Online (Sandbox Code Playgroud)

我错过了什么吗?

Bri*_*ker 6

您需要将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)"
                                />
Run Code Online (Sandbox Code Playgroud)