簡體   English   中英

我們可以使用Kudu將C#7 Web應用程序部署到Azure嗎?

[英]Can we deploy a C# 7 web app to Azure using Kudu?

自Visual Studio 2017發布以來,我們可以使用新的C#7功能,我希望在部署Azure Web應用程序時可以使用它。

不幸的是,我們在使用持續部署(kudu git deploy)時會看到編譯錯誤,所以Azure似乎還不支持新的工具鏈。

有什么我們可以做的就是讓它現在起作用(除了直接發布程序集)嗎?

因為我們還沒有Azure中的msbuild15。 如果您想在持續集成中使用c#7功能,則可能需要一些解決方法

  1. 對於dotnet核心Web解決方案 ,您可以在Azure中開箱即用 (它使用自己的dotnet msbuild.dll )[ 存儲庫示例 ]
  2. 對於asp.net Web解決方案 ,您需要將Microsoft.Net.Compilers 2.0+ nuget包添加到應用新語言功能項目中 例如,如果解決方案中的類庫使用新語法,則需要將nuget包添加到該lib項目。 (如果引用此nuget包,則會導入新的c#編譯器)[ repository sample ]
  3. 最后對於混合解決方案(dotnet核心web應用程序+ .NET框架類lib) ,你需要獨立運行nuget restore for .NET framework lib項目,因為dotnet restore不是向后兼容的,它不能從舊的構建系統中恢復項目。 我通過黑客攻擊我的deploy.cmd [ 存儲庫示例 ]來做到這一點

這些變通方法要么嘗試
模仿msbuild15(case1: dotnet msbuild.dll ,case2:編譯器作為nuget包)
或模仿nuget4.0(案例3:運行dotnet restorenuget3.5 restore

我們正在為Azure構建這些工具,它們應該很快就會推出。 你可以在github上保持更新

添加Microsoft.Net.Compilers NuGet包修復了該問題。

正如@joshuanapoli在對已接受答案的評論中所指出的, 場景#2僅適用於Microsoft.Net.Compilers v2.4.0及更低版本。

花了幾個小時注意並弄明白。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM