對Xamarin.Forms的支持於2024年5月1日結束,根據Xamarin支持政策:
Xamarin支持於2024年5月1日結束,包括Xamarin.forms在內的所有Xamarin SDK。
Xamarin.Forms於2022年5月作為.NET 6的一部分由.NET MAUI繼承,目前如.NET MAUI支持政策所述支持。遵循官方升級指南,將您的Xamarin應用程序帶入最新版本的.NET。
對於我們所有的開發人員和貢獻者,非常感謝您成為我們Xamarin社區的一部分。我們將在.net Maui中見到您!
Xamarin.Forms提供了一種在C#中快速構建iOS,Android,Windows和MacOS的本機應用程序的方法。
在https://www.xamarin.com/forms上閱讀有關該平台的更多信息。
| 平台/功能 | 軟件包名稱 | 穩定的 | 預發行 | 夜間飼料azure(主分支) |
|---|---|---|---|---|
| 核 | Xamarin.Forms | |||
| 應用 | Xamarin.Forms.AppLinks | |||
| 地圖 | Xamarin.Forms.Maps | |||
| 地圖 | Xamarin.Forms.Maps.GTK | |||
| 地圖。 wpf | Xamarin.Forms.Maps.WPF | |||
| 頁面 | Xamarin.Forms.Pages | |||
| 頁面 | Xamarin.Forms.Pages.Azure | |||
| platform.gtk | Xamarin.Forms.Platform.GTK | |||
| platform.wpf | Xamarin.Forms.Platform.WPF | |||
| visual.material | Xamarin.Forms.Visual.Material |
如果您想使用最新的開發式構建,則應閱讀此博客文章:
將夜間饋送添加到nuget源或將nuget.config添加到您的應用程序(將其放置在解決方案文件所在的同一目錄中),並帶有以下內容:
<? xml version = " 1.0 " encoding = " utf-8 " ?>
< configuration >
< packageSources >
< clear />
< add key = " xamarin-ci " value = " https://aka.ms/xf-nightly/index.json " />
< add key = " NuGet.org " value = " https://api.nuget.org/v3/index.json " />
</ packageSources >
</ configuration >注意:除非您希望每晚的軟件包可能開始為機器上的其他應用程序恢復,否則該nuget.config應該與您的應用程序有關。
更改您的應用程序的依賴項以獲得*以獲取最新版本。
對於下面的兩種方法,您都必須添加此Nuget Feed,以使其成功。請參閱此文檔頁面以了解如何。
開發Xamarin.forms需要VS 2019+。如果您尚未安裝它,則可以在此處下載。 VS 2019+社區是完全免費的。如果您是首次安裝VS 2019+,請選擇“自定義”安裝類型,然後從功能列表中選擇以下內容以安裝:
Individual Components > .NET > .NET Framework 4.6.1 SDK, .NET Framework 4.6.1 targeting pack, .NET Framework 4.7.2 SDK, .NET Framework 4.7.2 targeting pack 。Individual Components > SDKs, libraries, and frameworks > Windows 10 SDK (10.0.19041.0), Windows 10 SDK (10.0.18362.0), Windows 10 SDK (10.0.16299.0) 。Individual Components > Development Activities > Xamarin Remoted SimulatorIndividual Components > Emulators > Hyper-V Intel Hardware Accelerated Execution Manager (HAXM)開發Xamarin.Forms需要Android 10.0 API 29 SDK和Android 9.0 API 28 SDK。可以使用Xamarin Android SDK Manager安裝它們。
我們還建議安裝Xamarin Android設備管理器。這將使用上面安裝的HAXM工具,並允許您配置模仿Android設備的Android虛擬設備(AVD)。如果您已經安裝了VS 2019+,則可以通過通過Visual Studio Installer修改VS 2019+安裝來驗證這些功能是否已安裝。
如果您遇到缺少SDK的錯誤,則可以運行我們的配置腳本。請注意,運行整個腳本可能需要一些時間。為了更好地了解腳本的工作原理,請隨時查看我們的build.cake文件。
在CMD上
build.cmd -Target provision
在Powershell上
./build.ps1 -Target provision
注意:如果您遇到錯誤,請說build.ps1不是數字簽名,請以管理員的身份打開PowerShell,並通過運行Set-ExecutionPolicy RemoteSigned首先解決。
在CMD/PowerShell/SH上(新的!更多信息此處)
dotnet tool install Cake.Tool -g
dotnet cake --target=provision
如果尚未安裝它,可以在此處找到要下載和設置的說明。
由於當前使用Mac Visual Studio的多目標限制,您需要在能夠處理Xamarin Forms解決方案之前手動構建/還原一些項目。
以下是我們提供的一些不同的選擇,以幫助使這個過程更輕鬆
分支3.5+帶有一個蛋糕腳本目標,您可以用來構建和打開VSMAC
./build.sh --target vsmac或如上所述,在Windows部分有關供應,您也可以使用新的蛋糕。
dotnet tool install Cake.Tool -g
dotnet cake --target=provision
在沒有蛋糕腳本的較早分支時,您可以使用以下build.sh腳本
如果您不想運行任何腳本:
msbuild Xamarin.Forms.Build.Tasks/Xamarin.Forms.Build.Tasks.csprojXamarin.Forms.Build.Tasks.csproj的bin/obj文件夾打開Xamarin.Forms解決方案後,您會發現錯誤列表窗格下有許多錯誤和警告;您可以通過更改Build Only Build + IntelliSense的過濾器來解決此問題。在這一點上,您應該能夠成功構建解決方案。
默認情況下, Xamarin.Forms.Controls項目沒有針對各種API鍵的配置來訪問每個平台上的某些功能(例如地圖)。第一次構建解決方案時,將在該項目中生成controlgallery.config文件,看起來像這樣:
UWPMapsAuthKey:
如果您不使用地圖,則可以忽略這一點。如果您想使用地圖工作,則必須在標識符(例如UWPMapsAuthKey:abcdefghijklmnopqrstuvwxyz )下直接插入自己的每種服務中的API鍵。您可以找出如何獲取這些方法如下:
UWPMapsAuthKey ,請訪問https://microsoft.com/maps/create-a-bing-maps-key.aspx由於Android的工作方式,因此無法在運行時注入地圖API鍵。結果,您必須將此鍵添加到Xamarin.Forms.ControlGallery.Android/Properties下的MapsKey.cs文件中:
[assembly: Android.App.MetaData("com.google.android.maps.v2.API_KEY", Value = "INSERT_KEY_HERE")]
您可以在此處找到如何獲取Google Maps API密鑰。
確保您有Nuget.exe 4.0或更高版本和最新的.NET Core SDK。在MacOS上,您應該在MSBUILD命令中指定平台( /p:Platform=iPhoneSimulator )
msbuild /restore Xamarin.Forms.sln
根據您的環境設置,您可能需要在能夠調試 /運行UI測試(尤其是在Windows上)之前配置一些內容。
Xamarin.Forms.ControlGallery.Android生成一個APK文件。最簡單的方法是右鍵單擊項目並選擇“部署”。請注意,如果您重建解決方案,則可能會丟失APK,並且需要再次生成它。完成這些步驟後,您應該很好。您可以在測試資源管理器中查看所有UI測試,搜索它們以尋求自己的便利性,并快速運行單個測試。
運行UWP UI測試:
Xamarin.Forms.ControlGallery.WindowsUniversal項目,以將ControlGallery應用程序安裝到系統上。現在,您應該能夠運行任何UWP UI測試。
我們遵循.NET基金會使用的樣式,但有一些例外:
private關鍵字,因為它是C#中的默認可訪問性級別。Tools > Options在Visual Studio中更改此設置,並導航到Text Editor > C# ,然後選擇“ Keep Tabs”無線電選項。在Mac的Visual Studio中,它通過Source Code > Code Formatting > C# source code中的偏好設置,並禁用Convert tabs to spaces複選框。Source Code > Code Formatting > C# source code中的偏好為Mac的Visual Studio設置,並將Desired file width更改為120 。 我們使用GitHub問題來跟踪問題。如果可能的話,請與錯誤報告一起提交錯誤的複製品。