如何将 ClickOnce 与新的 SDK 风格 .csproj 项目格式一起使用?

问题描述 投票:0回答:1

以 .NET 472 的新 .NET SDK 样式项目格式创建“Windows 应用程序”项目时,项目属性中没有用于配置 ClickOnce 部署的“发布”部分。

Project Properties

是否有任何解决方案/解决方法可以将 ClickOnce 与新项目格式结合使用?

c# .net deployment csproj
1个回答
0
投票

我刚刚成功以 SDK 方式为 .NET Framework 4.7.2 项目进行 ClickOnce 发布。无需任何额外的脚本。

将目标添加到 csproj:

<!-- The new SDK-style projects have a 'Publish' target that is different from the old project format. The MSBuild logging reveiled the following message:
     Overriding target "Publish" in project "C:\BuildTools\MSBuild\Current\Bin\amd64\Microsoft.Common.CurrentVersion.targets" with target "Publish"
     from project "C:\Program Files\dotnet\sdk\8.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Publish.targets".
   In order to keep the old 'Publish' target, I created my own target. -->
  <Target Name="OldProjectFormat_PublishTarget" DependsOnTargets="$(PublishDependsOn)"/>

然后使用新的目标名称运行 MSBuild:

MSBuild /t:OldProjectFormat_PublishTarget

为了在我们的 CI 环境中发布,我将其添加为默认目标:

<Project Sdk="Microsoft.NET.Sdk" DefaultTargets="Build;OldProjectFormat_PublishTarget">
© www.soinside.com 2019 - 2024. All rights reserved.