ASP.NET Core应用程序是否可以通过msdeploy.exe和.pubxml定义部署,类似于.NET之前的Core?这是我之前使用过的命令:
msbuild myproj.csproj /p:DeployOnBuild=true /p:PublishProfile=<profile-name>
。
如果没有,从命令行部署ASP.NET Core应用程序的首选方法是什么?
答案 0 :(得分:3)
要将您的asp.net核心应用程序部署到Azure Web App,只需执行以下步骤:
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 Files\IIS\Microsoft Web Deploy V3
上找到。
答案 1 :(得分:1)
您可以在此处找到有关命令行用法的文档: 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
修复错误。确保在运行publish命令之前先运行还原:
dotnet restore
答案 2 :(得分:0)
使用dotnet
cli工具的一种方法是dotnet publish
命令。
dotnet restore
dotnet publish -c Release -o output
这将恢复所有NuGet依赖项,然后在名为output
的文件夹中创建发布版本。然后你可以&#34; xcopy部署&#34;它,添加到Dockerfile或做任何你需要做的事情。
请注意,这适用于基于csproj
的项目,使用较新版本的dotnet
cli工具(不再支持project.json
个文件)。