.NET Interactive Notebook 互動式文件測試

前言

同事參加K.NET2022年中技術分享,聽到的一個有趣的東西,讓你可以用 Markdown 寫說明文件,也可以搭配各種程式語言,直接在 Visual Studio Code 中 執行文件內的程式碼。


本機開發環境
  • Visual Studio Code
  • VSCode 安裝套件後,可以按 ctrl + shift + P ,會列出下圖清單,此時選擇 .NET Interactive: Create new blank notebook 建立空白的 Notebook 檔案
  • 檔案類型選擇ipydb,此類型支援線上環境MyBinder
  • 輸入C#程式碼,可以直接執行

MyBinder線上環境
寫好的文件,要給別人測試執行,最快的方式可以透過MyBinder直接對接Github的Repository。
  1. Github新增Repository KimInteractiveNotebook
  2. 新增Dockerfile (內容在連結裡)
  3. 新增Nuget.config  (內容在連結裡)
  4. 目錄結構
    1. 要注意的是在Dockerfile有作目錄Mapping,文件要放在notebooks下

  5. 簽入Github,並將URL貼到MyBinder 執行Launch,MyBinder會將你的Github建置成image。
  6. 當Launch完畢後,會執行一個獨立的容器,畫面如下,URL容器專屬網址,只有自己才可以使用,任何變更都不會寫回Repository上,當你關閉網頁後,再重新進入https://mybinder.org/v2/gh/kimx/KimInteractiveNotebook/HEAD,會再產另一個。

本機線上環境
本機可以執行如同MyBinder的環境
    • 指定環境變數 C:\Users\user\AppData\Local\Programs\Python\Python310\Scripts
  • 安裝JupyterLab
pip install jupyterlab
  • 安裝.NET 環境
dotnet tool install -g Microsoft.dotnet-interactive
dotnet interactive jupyter install
  • 在文件目錄下執行
jupyter lab --ip=0.0.0.0


其它參考

這個網誌中的熱門文章

IIS 設定只允許特定IP進入