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
的项目。