動態編譯庫 Natasha 5.0 兼容版本發布

Natasha 5.0 版本已于 2022/10/10 日發布, 此次大版本更迭帶來了兼容性支持, 目前 Natasha 可以兼容 standard2.0 及 coreapp3.1 以上版本.

下載使用 NuGet\Install-Package DotNetCore.Natasha.CSharp -Version 5.0.0.
引擎分離該版本分離了編譯引擎, Natasha 將根據 <TargetFramework> {NET VERSION} </TargetFramework> 目標版本來適配對外的 API.
  • 單域編譯引擎
    • 【動態編譯庫 Natasha 5.0 兼容版本發布】兼容 Standard2.0(Core3.1 以下) 版本, 動態構建將在主域中進行, 您無法體驗到多域編程帶來的好處, 也無法卸載動態編譯輸出的程序集.
    • 不兼容舊版 Natasha API,舊版 Natasha 僅支持多域編程, 并提供了多域方面的 API, 而單域引擎是從多域引擎分離簡化而來, 它將失去一些非必要的 API.
  • 多域編譯引擎
    • 兼容 Core3.1 以上版本, 支持程序集卸載, 域功能隔離, 插件加載卸載等操作.
    • 兼容舊版 Natasha API, 本次升級保留了多域環境應有的 API, 未做改變, .
代碼分離本次版本在源碼層,分為 MultiDomain / Public / SingleDomain 三部分, 并使用自定義宏 MULTI 來區分單/多域, 從工程文件上做兼容隔離允許 Natasha 后續的升級工作不必過多的關注兼容性代碼,多域引擎仍然是 Natasha 未來版本的主戰場, 迭代優化工作將在 MultiDomain 文件夾中進行.相比較有特色的 API {OperatorClass}.DefaultDomain/CreateDomain/RandomDomain/UseDomain 單域版僅有 {OperatorClass}.DefaultDomain 一個 API, 單域引擎的編譯結果均加載到主域中, 因此也不具備隔離和卸載功能.
使用須知