[英]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功能,則可能需要一些解決方法
dotnet msbuild.dll
)[ 存儲庫示例 ] Microsoft.Net.Compilers
2.0+ nuget包添加到應用新語言功能的項目中 。 例如,如果解決方案中的類庫使用新語法,則需要將nuget包添加到該lib項目。 (如果引用此nuget包,則會導入新的c#編譯器)[ repository sample ] nuget restore
for .NET framework lib項目,因為dotnet restore
不是向后兼容的,它不能從舊的構建系統中恢復項目。 我通過黑客攻擊我的deploy.cmd
[ 存儲庫示例 ]來做到這一點 這些變通方法要么嘗試
模仿msbuild15(case1: dotnet msbuild.dll
,case2:編譯器作為nuget包)
或模仿nuget4.0(案例3:運行dotnet restore
和nuget3.5 restore
)
我們正在為Azure構建這些工具,它們應該很快就會推出。 你可以在github上保持更新
添加Microsoft.Net.Compilers
NuGet包修復了該問題。
正如@joshuanapoli在對已接受答案的評論中所指出的, 場景#2僅適用於Microsoft.Net.Compilers v2.4.0及更低版本。
花了幾個小時注意並弄明白。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.