如何从命令行 MSDeploy ASP.NET 核心应用程序? (csproj 不是 project.json)
How to MSDeploy an ASP.NET Core app from command line? (csproj not project.json)
是否可以通过 msdeploy.exe 和 .pubxml 定义来部署 ASP.NET 核心应用程序,类似于 .NET Core 之前的版本?这是我之前使用过的命令:
msbuild myproj.csproj /p:DeployOnBuild=true /p:PublishProfile=<profile-name>
。
如果不是,从命令行部署 ASP.NET 核心应用程序的首选方法是什么?
使用 dotnet
cli 工具的一种方法是 dotnet publish
命令。
dotnet restore
dotnet publish -c Release -o output
这将恢复所有 NuGet 依赖项,然后在名为 output
的文件夹中创建发布版本。然后您可以 "xcopy deploy" 它,添加到 Dockerfile 或做任何您需要做的事情。
请注意,这适用于使用更新版本的 dotnet
cli 工具(不再支持 project.json
文件)的基于 csproj
的项目。
您可以在此处找到有关命令行用法的文档:
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
要将您的 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 Files\IIS\Microsoft Web Deploy V3
.
是否可以通过 msdeploy.exe 和 .pubxml 定义来部署 ASP.NET 核心应用程序,类似于 .NET Core 之前的版本?这是我之前使用过的命令:
msbuild myproj.csproj /p:DeployOnBuild=true /p:PublishProfile=<profile-name>
。
如果不是,从命令行部署 ASP.NET 核心应用程序的首选方法是什么?
使用 dotnet
cli 工具的一种方法是 dotnet publish
命令。
dotnet restore
dotnet publish -c Release -o output
这将恢复所有 NuGet 依赖项,然后在名为 output
的文件夹中创建发布版本。然后您可以 "xcopy deploy" 它,添加到 Dockerfile 或做任何您需要做的事情。
请注意,这适用于使用更新版本的 dotnet
cli 工具(不再支持 project.json
文件)的基于 csproj
的项目。
您可以在此处找到有关命令行用法的文档: 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
要将您的 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 Files\IIS\Microsoft Web Deploy V3
.