Xamarin 지원 정책에 따라 Xamarin.forms에 대한 지원 : 2024 년 5 월 1 일 에 종료되었습니다.
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는 iOS, Android, Windows 및 MacOS 용 기본 앱을 C#로 완전히 구축 할 수있는 방법을 제공합니다.
플랫폼에 대한 자세한 내용은 https://www.xamarin.com/forms를 참조하십시오.
| 플랫폼/기능 | 패키지 이름 | 안정적인 | 사전 | 야간 피드 azure (메인 지점) |
|---|---|---|---|---|
| 핵심 | Xamarin.Forms | |||
| Applinks | Xamarin.Forms.AppLinks | |||
| 지도 | Xamarin.Forms.Maps | |||
| maps.gtk | Xamarin.Forms.Maps.GTK | |||
| maps.wpf | Xamarin.Forms.Maps.WPF | |||
| 페이지 | Xamarin.Forms.Pages | |||
| pages.azure | Xamarin.Forms.Pages.Azure | |||
| 플랫폼 .gtk | Xamarin.Forms.Platform.GTK | |||
| 플랫폼 .wpf | Xamarin.Forms.Platform.WPF | |||
| 비주얼 | 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는 야간 패키지가 시스템의 다른 앱에 대해 잠재적으로 복원되기 시작하지 않는 한 응용 프로그램과 함께해야합니다.
최신 버전을 얻으려면 응용 프로그램의 * 을 변경하십시오.
아래의 두 가지 방법 모두 빌드가 성공하려면이 너겟 피드를 추가해야합니다. 방법을 알아 보려면이 문서 페이지를 참조하십시오.
Xamarin.forms 개발을 위해서는 2019+ vs가 필요합니다. 아직 설치되지 않은 경우 여기에서 다운로드 할 수 있습니다. 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 관리자를 사용하여 설치할 수 있습니다.
또한 Xamarin Android 장치 관리자 설치를 권장합니다. 위에 설치된 HAXM 도구를 사용하여 Android 장치를 모방하는 Android Virtual Devices (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 솔루션에서 작업하기 전에 일부 프로젝트를 수동으로 구축/복원해야합니다.
다음은이 프로세스를보다 쉽게 할 수 있도록 구성한 몇 가지 옵션이 있습니다.
Branch 3.5+는 VSMAC를 구축하고 개방하는 데 사용할 수있는 케이크 스크립트 대상과 함께 제공됩니다.
./build.sh --target vsmac또는 프로비저닝에 관한 Windows 섹션에서 위에서 언급했듯이 새 Cake.Tool도 사용할 수도 있습니다.
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 의 일부인 빈/OBJ 폴더를 삭제하는 경우입니다. Xamarin.forms 솔루션을 열면 오류 목록 창에 여러 오류와 경고가 있음을 알 수 있습니다. Build + IntelliSense 의 필터를 변경하여 Build Only 변경하여이를 해결할 수 있습니다. 이 시점에서 솔루션을 성공적으로 구축 할 수 있어야합니다.
기본적으로 Xamarin.Forms.Controls 프로젝트에는 각 플랫폼 (예 : 맵)의 특정 기능에 액세스 할 수있는 다양한 API 키에 대한 구성이 없습니다. 솔루션을 처음 구축 할 때는 controlgallery.config 파일이 해당 프로젝트 내에서 생성됩니다.
UWPMapsAuthKey:
지도로 작업하지 않으면 이것을 무시할 수 있습니다. 맵으로 작업하려면 식별자 (예 : UWPMapsAuthKey:abcdefghijklmnopqrstuvwxyz ) 바로 뒤에 삽입 된 각 서비스에 대해 자신의 API 키를 얻어야합니다. 다음과 같이 각각을 얻는 방법을 찾을 수 있습니다.
UWPMapsAuthKey Android가 작동하는 방식으로 인해 Maps 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
환경 설정에 따라 특히 Windows에서 UI 테스트를 디버그 / 실행하기 전에 몇 가지 사항을 구성해야 할 수도 있습니다.
Xamarin.Forms.ControlGallery.Android 용 APK 파일을 생성하십시오. 이 작업을 수행하는 가장 쉬운 방법은 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 "배포"를 선택하는 것입니다. 솔루션을 재건하면 솔루션을 잃어 버릴 수 있으며 다시 생성해야합니다.이 단계를 처리 한 후에는 가면 좋을 것입니다. 테스트 탐색기에서 모든 UI 테스트를보고 자신의 편의를 검색하며 개별 테스트를 신속하게 실행할 수 있습니다.
UWP UI 테스트를 실행하려면 :
Xamarin.Forms.ControlGallery.WindowsUniversal 프로젝트를 시작하여 ControlGallery 응용 프로그램을 시스템에 설치하십시오.이제 UWP UI 테스트를 실행할 수 있어야합니다.
우리는 .NET Foundation에서 사용한 스타일을 따릅니다. 몇 가지 예외가 있습니다.
private 키워드를 사용하지 않습니다.Tools > Options 통해 Windows 용 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 문제를 사용하여 문제를 추적합니다. 가능하면 버그 보고서와 함께 버그 재생산을 제출하십시오.