1

我試圖使用GitHub部署選項將模板Visual Studio 2017 RC Asp.Net核心Web應用(無身份驗證)部署到Azure應用服務。該應用程序尚未從樣板代碼修改;從字面上看:從VS模板創建一個新應用程序,將其發佈到GitHub,並部署到應用程序服務。Boilerplate Visual Studio 2017 RC項目未能從GitHub部署到Azure應用服務

問題

屬於必要的VS 2017年RC應用程序部署到一個應用程序服務的任何特殊設置,或者已經在App服務SCM(捻)工具根本沒有趕上VS 2017年RC項目結構?

詳細

我遇到,我認爲很可能相關的兩個問題。

問題1:在MSBuild的工具V15.0不會出現要在應用程序服務安裝。當建設,工藤默認爲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'. 

我加了一個custom app settingSCM_BUILD_ARGS=-tv:15.0,試圖迫使工藤使用V15.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. 

此錯誤消息是有點模糊,但是until recently該消息將聲明在該解決方案中找不到包含packages.configproject.json文件的項目。 從VS 2017 RC開始,這兩個文件都被棄用。我添加了一個空的project.json文件,看看是否可以解決這個問題。這些軟件包似乎已經恢復,但由於缺少project.json部分,軟件包繼續失敗。

分辨率

@大衛 - 博惠贈guidance。在他的test repo中,您會發現deploy.cmd.deployment文件。複製到你的回購的根。然後更新deploy.cmd的第74行,指向您的.csproj文件。現在從GitHub部署應該成功了。

回答

2

類似於https://github.com/projectkudu/kudu/issues/2236

Kudu腳本生成器還不知道如何處理Preview3,但您應該可以使用自定義部署腳本。關鍵是使用'dotnet恢復'而不是'nuget restore'和'dotnet publish'而不是'msbuild'。見樣品here

我們將盡快解決Kudu問題。

+0

謝謝大衛!示例腳本看起來非常有用。 –

+0

這是另外一個用VS 2017 RC創建的,並且還使用了一個庫:https:// github。com/davidebbo-test/MvcCoreVS2017RC –

+0

^^^效果很好。謝謝!我將更新我的問題以突出解決方案。 –

相關問題