2016-05-22 69 views
0

是否可以交叉編譯? 在windows和target linux中編譯應用程序? 如果是的話,那麼應該可以通過添加構建輸出在Linux中運行的窗口中使用正確的模板創建docker鏡像?asp.net core 1.0交叉編譯可能嗎?

謝謝

+0

.NET內核有助於實現這一點。在Windows中編寫應用程序並將其定位到.NET Core平臺。 .NET核心是開放的跨平臺技術。你對碼頭形象是正確的 –

回答

1

是的,這是可能的。兩種可能性:

  1. 便攜式應用程序:您需要在該目標計算機上安裝.NET Core。這是剛剛在其他地方執行的相同字節碼。
  2. 獨立應用程序:在構建過程中,您將目標平臺指定爲您項目的project.json中的「運行時」。 dotnet restoredotnet builddotnet restore -r ubuntu.14.04-x64

您必須注意:兩種解決方案都被編譯爲字節碼。第二個選項將.NET Core運行時和輸出捆綁在一起,所以你不需要本地安裝(這就是你想要的docker)。

還有一個進一步的問題,稱爲.NET Native(https://github.com/dotnet/corert),它尚未得到很好的支持(它是早期測試版)。這會提前將源代碼編譯爲本機可執行文件。我不知道這個用例目前是以交叉編譯爲目標的。但是現在,正常的字節碼執行和JITing必須足夠。