티스토리 뷰
반응형
Xamarin.Forms 2.4부터 .NET Standard 2.0을 정식으로 지원하기 시작했습니다. 그리고 대부분의 Library들도 .NET Stnadard 기반으로 바뀌고 있기 때문에 기존의 PCL Profile 기반 Xamarin.Forms 프로젝트를 .NET Standard 기반으로 변경이 필요하게 되었습니다. 이 과정은 아래와 같이 진행할 수 있습니다.
진행하기 전에 모든 솔루션을 백업해두세요. .NET Standard로 변경 후 문제가 발생할 수 있기 때문입니다.
- Xamarin.Android, Xamarin.iOS 프로젝트를 Unload 해주세요.
- Xamarin.Android와 Xamarin.iOS를 각각 마우스 우클릭 한 후 Edit ** (.csproj)을 선택해주세요.
- 그러면 아래와 같이 Project 파일이 열리는데, Xamarin.Forms 프로젝트를 가리키는 ItemsGroup을 찾습니다.
Xamarin.Android
Xamarin.iOS - 위에서 찾은 ItemsGroup XML을 따로 메모장에 복사해둡니다.
- 이제 Xamarin.Forms 프로젝트를 마우스 우클릭 후 Remove 해주세요.
- 솔루션을 마우스 우클릭 한 후 Open Folder in File Explorer를 선택해주세요.
- 기존의 Xamarin.Forms 프로젝트가 그대로 있을 텐데, 폴더이름을 다른 이름으로 변경하여 백업해둡시다.
- 이제 다시 Visual Studio에서 솔루션을 마우스 우클릭 한 후 Add-New Project...를 선택합니다.
- .NET Standard의 Class Library 프로젝트로 선택한 후 Project이름은 동일하게 지정합니다.
반드시 프로젝트 경로도 기존 Xamarin.Forms 프로젝트의 위치로 변경해줍니다. - 추가된 Xamarin.Forms 프로젝트에 Nuget을 통해 Xamarin.Forms를 추가해줍시다.
(반드시 Xamarin.Forms 2.4 이상이어야 합니다. 이전버전에서는 .NET Standard를 지원하지 않습니다.) - 위에서 백업해 두었던 과거 Xamarin.Forms 프로젝트에서 새로 추가한 Xamarin.Forms 프로젝트로 파일들을 모두 복구해주세요.
- 이제 Xamarin.Android와 Xamarin.iOS 프로젝트를 복구할 차례입니다. 위에서 하셨던 것 처럼 동일하게 Xamarin.Android, Xamarin.iOS 프로젝트 파일을 Edit해주세요.
- 위에서 백업해두었던 Xamarin.Android, Xamarin.iOS 프로젝트의 ItemsGroup을 복구해주세요. 만약 동일한 ItemGroup 항목이 이미 추가되어 있으면 추가하지 않아도 됩니다.
- Xamarin.Android, Xamarin.iOS 프로젝트를 Reload 하여 프로젝트를 활성화 해주세요.
- Xamarin.Android, Xamarin.iOS 프로젝트도 동일한 Xamarin.Forms 패키지 버전으로 설치해주세요. (반드시 2.4이상 설치)
- 마지막으로 빌드와 의존성 설정을 복구해야 합니다. 솔루션을 마우스 우클릭 한 후 Properties를 선택해주세요
- Configuration Properties에서 아래와 같이 모두 Build와 Deploy가 설정되어있는지 봐주세요.
- Project Dependencies에서 의존성이 제대로 되어있는지 봐주세요.
- Xamarin.Android 프로젝트를 선택했을 때 Xamarin.Forms 프로젝트가 체크되어 있어야 합니다.
- Xamarin.iOS 프로젝트를 선택했을 때 Xamarin.Forms 프로젝트가 체크되어 있어야 합니다.
- 모든 프로젝트를 Rebuild 해보시고, 앱이 정상적으로 실행되는지 봐주세요.
문제해결 방법
- 프로젝트를 실행하자 마자 종료되는 경우: 새롭게 생성한 Xamarin.Forms 프로젝트의 이름은 반드시 이전의 Xamarin.Forms 프로젝트 이름과 동일해야 합니다. (대소문자 마저 동일해야함) Xamarin.Android, Xamarin.iOS에서 프로젝트 명으로 참조하기 때문입니다. 따라서 프로젝트의 이름은 프로젝트를 생성한 후 함부로 변경하지 않는 것이 좋습니다.
'Mobile > Xamarin.Forms' 카테고리의 다른 글
[Xamarin.Forms] 4.0 정식 출시 (0) | 2019.05.27 |
---|---|
[Xamarin.iOS] DeepLink 처리 (Universal Links) (1) | 2018.08.24 |
[Xamarin.Fomrs] NavigationBar 그림자 주기 (0) | 2017.11.15 |
Xamarin.Forms 2.4.0 Stable 출시 (0) | 2017.11.14 |
[Xamarin.Forms] 글로벌 스타일 선언 (0) | 2017.11.14 |
[Xamarin.Forms] 차트 표현하기 (Syncfusion) (0) | 2017.11.14 |
댓글
최근에 올라온 글
최근에 달린 댓글
TAG
- Xamarin.Forms
- .NET Standard
- Xamarin
- TypeScript
- c#
- Vue
- Xamarin.iOS
- Xamarin.Forms 요약
- React
- npm
- ASP.NET Core
- flutter
- WPF
- StringComparison
- ios
- VisualStudio
- MS SQL
- Xamarin.Forms eBook
- Android
- material-ui
- Total
- Today
- Yesterday