Microsoft MVP성태의 닷넷 이야기
개발 환경 구성: 252. Xamarin 라이선스 관리 [링크 복사], [링크+제목 복사],
조회: 26211
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 

Xamarin 라이선스 관리

아시는 것처럼, Xamarin은 연 단위로 라이선스가 관리됩니다. 즉, 구독 후 1년이 지나면 라이선스가 만료(expiration)되는 것입니다. 이 때문에 최신 버전의 Xamarin.iOS, Xamarin.Android를 다운로드 받아 설치하면 기존 라이선스 적용이 안되어 "Starter Edition" 라이선스로 동작하게 됩니다.

천천히 현상을 한번 볼까요? ^^

우선, Xamarin 홈페이지에서 자신의 구독 관리 페이지에 가면 다음과 같이 "Download Xamarin" 링크가 제공됩니다.

xamarin_expire_1.png

위의 링크를 누르면 "XamarinInstaller.exe" 설치 파일을 내려 받을 수 있는데, 이렇게 되면 가장 최신의 Xamarin.iOS, Xamarin.Android, Xamarin Studio, Xamarin [iOS/Android] for Visual Studio를 설치하게 됩니다. 그리고, 만약 자신의 1년 구독이 끝난 후라면 이런 경우 "Starter Edition" 라이선스로 자동 강등됩니다. 가령, "Xamarin for Visual Studio" 기능은 "Business Edition"부터 사용할 수 있는데 최신 버전의 적용으로 인해 "Starter Edition" 취급을 받기 때문에 Visual Studio에서 Android 프로젝트를 컴파일하려고 시도하면 다음과 같이 라이선스 취득 창이 뜹니다.

xamarin_expire_2.png

Using Xamarin.Android with Visual Studio requires Business edition or higher.

-> Purchase a Xamarin.Android subscription
	Open the Xamarin Store in a web browser to purchase a subscription.

-> Begin a Trial
	Get a free trial with access to all paid features.

-> Continue using Starter Edition in Xamarin Studio
	You will not have access to this feature.

실제로 Visual Studio의 "Tools" / "Xamarin Account" 메뉴를 실행해 보면 다음과 같이 "STARTER" 라이선스로 나옵니다.

xamarin_expire_3.png




그럼, 구독 후 1년이 지나면 더 이상 Xamarin을 사용할 수 없는 것이냐? 라고 물으실 텐데요. 그렇지 않습니다. 여기서 문제는 최신 버전을 적용했기 때문입니다. 따라서, 자신의 구독 기간 내에 릴리스된 Xamarin 제품을 설치하면 기존의 라이선스를 적용받게 됩니다.

이를 위해 우선 컴퓨터에 설치된 최신 버전의 Xamarin 제품을 제거하고 난 후, 자신의 Xamarin 제품 구독 페이지에 가서 만료 기간을 확인해야 합니다. 제 경우에는 아래에서 보는 것처럼 2014년 9월 26일에 만료되었습니다.

xamarin_expire_4.png

그다음 자신의 구독 만료 내에 해당하는 설치 파일을 받으면 되는데요. 이렇게 하려면 "XamarinInstaller.exe" 통합 설치 파일을 다운로드 받으면 안되고 "View all version"를 눌러서 2014년 9월 26일 이전에 릴리스된 개별 제품을 다운로드 받아야 합니다.

xamarin_expire_5.png

문제는 여기서 시작됩니다. ^^; Xamarin 측은 애석하게도 old version에 대한 링크를 겨우 6개 정도만 제공하기 때문에 날짜가 자신의 구독 기간을 지나 있을 수 있습니다. 위의 화면에서 보면 가장 마지막 항목이 "2014년 9월 30일"인데, 제 구독 만료는 9월 26일이므로 저걸 다운로드 받으면 마찬가지로 "Starter Edition" 라이선스로만 사용할 수 있습니다.

다행인 것은, 그렇다고 해서 Xamarin 측에서 이전 버전에 대한 다운로드 파일을 제거한 것은 아니라는 점입니다. 그래서 구글 검색을 통해 "Xamarin.VisualStudio_Setup-3.5"라고 검색해 다운로드 링크를 찾을 수 있었고,

Xamarin.VisualStudio_Setup-3.5.55.msi
; http://download.xamarin.com/XamarinforVisualStudio/Windows/Xamarin.VisualStudio_Setup-3.5.55.msi

이 파일을 설치할 수 있었습니다. (또는, Xamarin 측의 릴리스 노트를 통해 설치 파일의 버전 번호를 대략 유추해서 찍을 수 있습니다.)

이런 식으로 다운로드해야 할 것은 "Xamarin.iOS", "Xamarin.Android" 설치 파일만 해당합니다. "Xamarin Studio"의 경우에는 원래가 무료 버전이기 때문에 최신 버전의 항목을 선택해서 설치해도 라이선스 문제가 걸리지 않습니다.

따라서, 제 경우에는 Xamarin.Android 설치 파일로는 "Xamarin.VisualStudio_Setup-3.5.55.msi" 파일을 내려 받았고, Xamarin Studio로는 (오늘 날짜 기준의) 최신 버전인 5.5.4 설치 파일을 내려받아 설치했습니다. (물론, Xamarin Studio를 사용하지 않는다면 굳이 설치할 필요는 없습니다.)

그리하여, 다시 Visual Studio의 "Tools" / "Xamarin Account" 메뉴를 보면 비록 만료는 되었지만 아래와 같이 "BUSINESS" 라이선스가 적용된 것을 확인할 수 있습니다.

xamarin_expire_6.png

즉, 최신 버전으로의 업데이트만 받지 않는다면 영원히 이 버전의 Xamarin 제품을 사용할 수는 있습니다.

(결국! 자신의 구독 기간에 해당하는 가장 최신 버전의 설치 파일을 내려받아 두는 것이 권장됩니다.)




[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]







[최초 등록일: ]
[최종 수정일: 7/5/2021]

Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
by SeongTae Jeong, mailto:techsharer at outlook.com

비밀번호

댓글 작성자
 



2014-12-08 05시42분
[spowner] 하하 Xamarin.Android 라이센스가 만료된 일인으로.. 재밌는 포스팅입니다. Xamarin은 라이센스 가격을 좀 낮추면 좋을텐데요.. 넘 비싸요 T_T
[guest]
2014-12-09 02시10분
@spowner 그러게요. ^^ 마이크로소프트가 Xamarin 인수에 성공했어야 하는 건데.
정성태
2015-03-29 05시05분
[기정아빠] 자마린 사이트에 보면 1개월 단위로도 사용이 가능하던 것 같던데.
그럼 1개월짜리로 신청해서 하다가 위의 방법처럼 사용해도 된다는 말인가요?
신청했던 당시의 버전으로만 하면 코딩이 가능하다는 뜻인지요?
[guest]
2015-03-29 05시10분
[기정아빠] 제가 착각 했네요..ㅡㅡ
1개월짜리가 아니고 1년단위 라이센스 인데 월비용으로 따졌을때 얼마씩이라는 뜻이네요....ㅡㅡ
[guest]
2015-03-29 05시12분
[기정아빠] 한가지만 더 ..
제가 msdn pro 버젼을 구매해서 사용하고 있는데
혹시 자마린을 싸게 구매할 방법이 있을까요?
[guest]
2015-03-30 01시14분
@기정아빠 그러게요. ^^ 현재는 년단위 라이선스만 있는 것 같습니다. 또한 MSDN의 어떠한 구독 서비스도 연동되는 할인은 없습니다.
정성태
2016-03-02 12시04분
[spowner] Xamarin이 Microsoft에 합류한다고 합니다. 라이센스 가격 정책도 좀 더 합리적이고 공격적으로 정해졌으면 좋겠네요
[guest]
2016-03-02 12시17분
넵... 아마도 Visual Studio 라이선스에 통합되지 않을까 예상해봅니다. 사실, 별도로 가져갈 거면 인수할 의미도 없고 Xamarin 시장 상황이 극적으로 변하지는 않을 것이기 때문에. (협업은 그전부터 해왔다고 하니. ^^)

암튼, 좋은 소식인 것 같고 더 구체적인 일정은 BUILD 컨퍼런스에서 공개한다고 하니 조금만 기다리면 될 듯 합니다. ^^
정성태

1  2  3  4  5  6  7  8  9  10  11  12  [13]  14  15  ...
NoWriterDateCnt.TitleFile(s)
13652정성태6/21/202410403닷넷: 2267. C# - Linux 환경에서 (Reflection 없이) DLL AssemblyFileVersion 구하는 방법파일 다운로드2
13651정성태6/19/20249922닷넷: 2266. C# - (Reflection 없이) DLL AssemblyFileVersion 구하는 방법파일 다운로드1
13650정성태6/18/20249918개발 환경 구성: 713. "WSL --debug-shell"로 살펴보는 WSL 2 VM의 리눅스 환경
13649정성태6/18/20249006오류 유형: 910. windbg - !py 확장 명령어 실행 시 "failed to find python interpreter" (2)
13648정성태6/17/20249681오류 유형: 909. C# - DynamicMethod 사용 시 System.TypeAccessException
13647정성태6/16/202410893개발 환경 구성: 712. Windows - WSL 2의 네트워크 통신 방법 - 세 번째 이야기 (같은 IP를 공유하는 WSL 2 인스턴스) [1]
13646정성태6/14/20249059오류 유형: 908. Process Explorer - "Error configuring dump resources: The system cannot find the file specified."
13645정성태6/13/20249228개발 환경 구성: 711. Visual Studio로 개발 시 기본 등록하는 dev tag 이미지로 Docker Desktop k8s에서 실행하는 방법
13644정성태6/12/202410276닷넷: 2265. C# - System.Text.Json의 기본적인 (한글 등에서의) escape 처리 [1]
13643정성태6/12/20249348오류 유형: 907. MySqlConnector 사용 시 System.IO.FileLoadException 오류
13642정성태6/11/20249107스크립트: 65. 파이썬 - asgi 버전(2, 3)에 따라 달라지는 uvicorn 호스팅
13641정성태6/11/20249876Linux: 71. Ubuntu 20.04를 22.04로 업데이트
13640정성태6/10/202410331Phone: 21. C# MAUI - Android 환경에서의 파일 다운로드(DownloadManager)
13639정성태6/8/20249804오류 유형: 906. C# MAUI - Android Emulator에서 "Waiting For Debugger"로 무한 대기
13638정성태6/8/20249938오류 유형: 905. C# MAUI - 추가한 layout XML 파일이 Resource.Layout 멤버로 나오지 않는 문제
13637정성태6/6/20249265Phone: 20. C# MAUI - 유튜브 동영상을 MediaElement로 재생하는 방법
13636정성태5/30/20248840닷넷: 2264. C# - 형식 인자로 인터페이스를 갖는 제네릭 타입으로의 형변환파일 다운로드1
13635정성태5/29/202410444Phone: 19. C# MAUI - 안드로이드 "Share" 대상으로 등록하는 방법
13634정성태5/24/202411021Phone: 18. C# MAUI - 안드로이드 플랫폼에서의 Activity 제어 [1]
13633정성태5/22/202410345스크립트: 64. 파이썬 - ASGI를 만족하는 최소한의 구현 코드
13632정성태5/20/20249439Phone: 17. C# MAUI - Android 내에 Web 서비스 호스팅
13631정성태5/19/202410461Phone: 16. C# MAUI - /Download 등의 공용 디렉터리에 접근하는 방법 [1]
13630정성태5/19/20249576닷넷: 2263. C# - Thread가 Task보다 더 빠르다는 어떤 예제(?)
13629정성태5/18/202410018개발 환경 구성: 710. Android - adb.exe를 이용한 파일 전송
13628정성태5/17/20249293개발 환경 구성: 709. Windows - WHPX(Windows Hypervisor Platform)를 이용한 Android Emulator 가속
13627정성태5/17/20249436오류 유형: 904. 파이썬 - UnicodeEncodeError: 'ascii' codec can't encode character '...' in position ...: ordinal not in range(128)
1  2  3  4  5  6  7  8  9  10  11  12  [13]  14  15  ...