1

GitHub デプロイ オプションを使用して、ボイラープレート Visual Studio 2017 RC Asp.Net Core Web アプリ (認証なし) を Azure App Service にデプロイしようとしています。アプリはボイラープレート コードから変更されていません。文字通り: VS テンプレートから新しいアプリを作成し、それを GitHub に発行して、App Service にデプロイします。

質問

VS 2017 RC アプリを App Service にデプロイするために必要な特定の設定はありますか?それとも、App Service SCM (Kudu) ツールがまだ VS 2017 RC プロジェクト構造に追いついていないだけですか?

詳細

おそらく関連していると思われる2つの問題に直面しています。

問題 1 : MSbuild ツール v15.0 がアプリ サービスにインストールされていないようです。ビルド時の Kudo のデフォルトは v14.0 です。

Command: "D:\home\site\deployments\tools\deploy.cmd"  
Handling .NET Console Application deployment.  
MSBuild auto-detection: using msbuild version '14.0' from 'D:\Program Files (x86)\MSBuild\14.0\bin'.  

Kudo に v15.0 を強制的に使用させるために、カスタム アプリ設定、を追加しましたが、これは効果がありませんでした。SCM_BUILD_ARGS=-tv:15.0以前と同様に v14.0 を使用し続けました。

問題 2 : (およびおそらく MSBuild 14.0 を使用した結果として): NuGet パッケージを復元しようとすると、MSBuild は次のエラーを発行します。

Nothing to do. None of the projects in this solution specify any packages for NuGet to restore.

このエラー メッセージは少しあいまいですが、最近までpackages.config、またはproject.jsonファイルを含むプロジェクトがソリューションに見つからないことを示すメッセージでした。これらのファイルはどちらも VS 2017 RC で廃止されました。空の project.json ファイルを追加して、問題が解決するかどうかを確認しました。パッケージは復元されたように見えますが、project.json セクションが欠落しているため、引き続き失敗します。

解像度

@david-ebbo が親切にガイダンスを提供してくれました。彼のテストリポジトリには、ファイルがdeploy.cmdあり.deploymentます。両方をリポジトリのルートにコピーします。次に、 .csprojファイルdeploy.cmdを指すようにの 74 行目を更新します。GitHub からのデプロイが成功するはずです。

4

1 に答える 1

2

https://github.com/projectkudu/kudu/issues/2236に似ています。

Kudu スクリプト ジェネレーターは Preview3 の処理方法をまだ認識していませんが、カスタム デプロイ スクリプトを使用できるはずです。重要なのは、「nuget restore」の代わりに「dotnet restore」を使用し、「msbuild」の代わりに「dotnet publish」を使用することです。ここでサンプルを参照してください。

すぐにこれを処理できるように Kudu を修正します。

于 2016-11-19T23:10:13.357 に答える