如何从命令行MSDeploy ASP.NET 核心应用程序?(csproj not project.json)



ASP.NET 核心应用程序可以通过msdeploy部署吗.exe以及类似于 pre-.NET Core的.pubxml定义? 这是我以前使用的命令:

msbuild myproj.csproj /p:DeployOnBuild=true /p:PublishProfile=<profile-name> .

如果不是,从命令行部署 ASP.NET Core 应用的首选方法是什么?

若要将 asp.net 核心应用部署到 Azure Web 应用,只需执行以下步骤:

1. dotnet publishsomeproject.csproj -c release -o someDirectory
2. msdeploy.exe  -verb:sync -source:contentPath="someDirectory" -dest:contentPath="webAppName",ComputerName="https://WebAppName.scm.azurewebsites.net/msdeploy.axd",UserName="username",Password="password",IncludeAcls="False",AuthType="Basic"
-enablerule:AppOffline -enableRule:DoNotDeleteRule -retryAttempts:20 -verbose

可以在 Azure 门户的 Web 应用的部署预览部分检索或设置用户名和密码。我已经为我的msdeploy.exe设置了一个环境路径,通常可以在这里找到C:Program FilesIISMicrosoft Web Deploy V3

您可以在此处找到有关命令行用法的文档:https://github.com/aspnet/websdk/blob/dev/README.md#microsoftnetsdkpublish

可以使用以下任一命令从命令行使用 MSDeploy 进行发布

msbuild WebApplication.csproj /p:DeployOnBuild=true /p:PublishProfile=<MsDeployProfileName> /p:Password=<DeploymentPassword>

dotnet publish WebApplication.csproj /p:PublishProfile=<MsDeployProfileName> /p:Password=<DeploymentPassword>

您可以在此处找到各种配置文件的示例 - https://github.com/vijayrkn/PublishProfiles/tree/master/samples

要修复错误,请确保在运行发布命令之前先运行还原:

dotnet restore 

使用 dotnet cli 工具的一种方法是 dotnet publish 命令。

dotnet restore
dotnet publish -c Release -o output

这将还原所有 NuGet 依赖项,然后在名为 output 的文件夹中创建发布版本。 然后,您可以"xcopy 部署"它,添加到Dockerfile或执行任何其他您需要执行的操作。

请注意,这适用于使用较新版本的 dotnet cli 工具(不再支持 project.json 文件(的基于csproj的项目。

相关内容

最新更新