使用特定的发布配置文件通过命令行发布控制台应用程序

Posted

技术标签:

【中文标题】使用特定的发布配置文件通过命令行发布控制台应用程序【英文标题】:Publish console application via command line using specific publish profile 【发布时间】:2017-06-28 15:38:23 【问题描述】:

我尝试使用预定义的发布配置文件在命令行上构建和发布我的 .NET Core 应用程序。

对于 ASP.NET Core 应用程序,此(取自 here)有效:

dotnet build -c Release /p:DeployOnBuild=true /p:PublishProfile=ReleaseFolder

但对于控制台应用程序(发布配置文件称为FolderProfile,以下内容不起作用:

dotnet build -c Release /p:DeployOnBuild=true /p:PublishProfile=FolderProfile

它构建项目但不发布它。

那么如何使用预定义的发布配置文件发布控制台应用程序?

【问题讨论】:

【参考方案1】:

发布配置文件支持是 web 目标使用的 web-SDK 的一部分。 ASP.NET Core 应用程序通常使用Microsoft.NET.Sdk.Web,而控制台应用程序使用Microsoft.NET.Sdk 项目。

由于控制台应用程序不包含 Web SDK 的发布支持,因此您只能使用生成可部署输出的 Publish 目标。它由 dotnet cli 的 dotnet publish 命令包装,也可以用作 msbuild /t:Publish。此发布命令不支持发布配置文件,因为它只是基于文件系统的操作。

【讨论】:

【参考方案2】:

您现在可以将Microsoft.NET.Sdk.Publish sdk 添加到您的项目文件中。这将使您能够在您的项目中使用dotnet publish

<Project Sdk="Microsoft.NET.Sdk;Microsoft.NET.Sdk.Publish">

【讨论】:

以上是关于使用特定的发布配置文件通过命令行发布控制台应用程序的主要内容,如果未能解决你的问题,请参考以下文章

是否可以从命令行创建网站应用程序发布配置文件?

配置文件的命令行更新

如何使用命令行的凭据将配置文件发布到 IIS?

如何创建将使用特定配置文件执行 bootRun 的 gradle 任务?

菜鸟入门ASP.NET Core5:命令行配置Json文件配置Bind读取配置到C#实例在Core Mvc中使用Options

Spring Boot 环境特定的配置