MAUI-GEN是基於模板的代碼生成器,用於構建數據驅動的.NET MAUI應用程序所需的腳手架。然後,使用數據模式來描述所需的數據字段,然後,毛伊島生成了模型,視圖,查看模型和列表,編輯,詳細頁面,填充了編輯和讀取模型中數據的表單元素,以及用於數據存儲和檢索的SQLLITE CRUD服務。 Maui-Gen還可以在需要的情況下創建支持文件和注入Singleton和路由數據。
將我的Xamarin應用程序之一移至毛伊島後,我發現自己從頭開始凝視,這意味著重新創建模型模型頁面頁面。我發現這很耗時,我確實通過創建模板來加快了過程,但這僅是一個凝視點,仍然必須編輯以適合要求。
因此,我決定為毛伊島編寫一種工具,以幫助節省毛伊數據輸入表所需的時間寫作的時間。我發現這是一個非常有用的工具,因此我決定將其放在那裡供其他工具。
它不是漂亮或精美的,而是更多的概念證明。如果有興趣,那麼將考慮投資時間。
您可以將更改直接應用於.NET MAUI項目,但是在這一點上,我強烈建議僅在新創建的項目上執行此操作,以免它破壞您的艱苦工作或確保您的項目備份,因此可以恢復它。
在現有項目中使用自己的風險。
一個更安全的選項是將代碼生成新文件夾,然後將文件複製。
您需要安裝1.20 https://go.dev/doc/install
以下是您需要創建和構建.NET MAUI應用程序的工具。 MAUI應用程序加速器將安裝所需的組件,例如Maui-Gen所需的毛伊島社區工具套件。
以下是準備好使用毛伊島的步驟。
go install github.com/Mrpye/maui-gen maui-gen init all 以下將帶您認為執行所需的步驟,以便將毛伊島基金的代碼運行。
首先,您需要使用MAUI應用程序加速器在Visual Studio中創建一個新項目,這將安裝所需的組件並為MAUI-GEN設置項目。









//<%REGISTER_ROUTE%>
public partial class AppShell : Shell
{
public AppShell ( )
{
InitializeComponent ( ) ;
//<%REGISTER_ROUTE%>
}
} //<%REGISTER_SINGLETON%
public static class MauiProgram {
public static MauiApp CreateMauiApp ( ) {
var builder = MauiApp . CreateBuilder ( ) ;
builder
. UseMauiApp < App ( )
. UseMauiCommunityToolkit ( )
. ConfigureFonts ( fonts = {
fonts . AddFont ( "OpenSans-Regular.ttf" , "OpenSansRegular" ) ;
fonts . AddFont ( "OpenSans-Semibold.ttf" , "OpenSansSemibold" ) ;
} ) ;
builder . Services . AddSingleton < MainViewModel ( ) ;
//<%REGISTER_SINGLETON%
builder . Services . AddSingleton < MainPage ( ) ;
return builder . Build ( ) ;
}
}筆記!確保它是所有代碼所在的目錄,請參見下文。

運行以下命令設置輸出目錄。這是毛伊島將要輸出代碼到達的地方。
調整指向您項目的路徑。
maui-gen set output " C:projectsNetDemoMauiAppDemoMauiApp "maui-gen set schema " C:Users[user].maui-genexamplesperson_and_pet.yaml "maui-gen set editmaui-gen nuget install --output [project_path]maui-gen nuget installSQLitePCLRaw.core
SQLitePCLRaw.bundle_green
SQLitePCLRaw.provider.sqlite3
SQLitePCLRaw.provider.dynamic_cdecl
SQLiteNetExtensions
SQLiteNetExtensions.Async
cd C: p rojects N et M auiGenDemoApp M auiGenDemoApp
dotnet add C: p rojects N et M auiGenDemoApp M auiGenDemoApp package SQLitePCLRaw.core
dotnet add package SQLitePCLRaw.bundle_green
dotnet add package SQLitePCLRaw.provider.sqlite3
dotnet add package SQLitePCLRaw.provider.dynamic_cdecl
dotnet add package SQLiteNetExtensions
dotnet add package SQLiteNetExtensions.Async您還可以更改數據模式文件中的名稱空間
name_space : " DemoMauiApp "
resources :
- App
- Enums
- AppShell
- MauiProgram maui-gen build --namespace " [solution name] "
現在,您可以簡單地運行該項目,應該看到。



Maui-Gen CLI文件
# Run maui-get to build template documents
maui-gen gen_docs您可以在此處找到生成的文檔。
# Run maui-get to build template documents
maui-gen gen_template_docs您可以在此處找到生成的模板文檔。



這只是概念的證明,看看是否會引起任何關注,如果這樣做,我會花一些時間。
如果您確實使用它,我將有興趣聽到您對此的看法。
Maui-Gen是Apache 2.0許可。