web-dev-qa-db-ja.com

dotnet publishコマンドがasp.netコアWebアプリケーションプロジェクトのZipファイルパッケージを作成しない

Asp.netコアWebアプリケーション用のWeb配置パッケージを作成しようとしています。 VS2017を使用して出力をパッケージとして公開しようとすると、「公開」フォルダーに必要なすべてのファイルと、指定された場所にあるすべてのファイルを含むZipファイルが含まれています。

しかし、私はコマンドラインを使用して同じにしたいと思います。 「Publish」フォルダは取得できますが、Zipファイルは取得できません。何が悪いのですか?誰かが私のコマンドを修正できますか?

dotnet publish /p:target=package /p:WebPublishMethod=Package /p:LastUsedBuildConfiguration=Release /p:LastUsedPlatform="Any CPU" /p:LaunchSiteAfterPublish=True /p:ExcludeApp_Data=False /p:PublishFramework=netcoreapp1.0 /p:UsePowerShell=True /p:DesktopBuildPackageLocation=C:\Kannan\Temp\package.Zip /p:PackageLocation="C:\kannan\temp\package.Zip" /p:PackageFileName=C:\kannan\temp\package.Zip /p:PackageAsSingleFile=true
9
Kannan D

何が悪いのですか?誰かが私のコマンドを修正できますか?

それはあなたのCLIのバージョンに依存します。

2.0バージョンのCLIを使用している場合は、Windowsマシンでdotnet publishコマンドを使用できます。これは機能します。

dotnet build WebApplicationDeploy.sln /nologo /p:PublishProfile=Release /p:PackageLocation="C:\Some\Path\package" /p:OutDir="C:\Some\Path\out" /p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /maxcpucount:1 /p:platform="Any CPU" /p:configuration="Release" /p:DesktopBuildPackageLocation="C:\Some\Path\package\package.Zip"

ただし、CLIの1.0.4バージョンを使用している場合は、コマンドのmsbuildバージョンを使用する必要があります(dotnetビルドを呼び出す機能が追加されました2.0 cli)。

msbuild WebApplicationDeploy.sln /nologo /p:PublishProfile=Release /p:PackageLocation="C:\Some\Path\package" /p:OutDir="C:\Some\Path\out" /p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /maxcpucount:1 /p:platform="Any CPU" /p:configuration="Release" /p:DesktopBuildPackageLocation="C:\Some\Path\package\package.Zip"

詳細については、GitHubの 同じ問題 を参照してください。

15
Leo Liu-MSFT