Xamarin.forms: [UWP] ํ…œํ”Œ๋ฆฟ ์•ฑ์šฉ ์Šคํ† ์–ด ๋นŒ๋“œ๊ฐ€ ๋กœ์ปฌ์— ์„ค์น˜๋˜๋ฉด ์ถฉ๋Œ ํ•จ

์— ๋งŒ๋“  2018๋…„ 07์›” 20์ผ  ยท  3์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: xamarin/Xamarin.Forms

๊ธฐ์ˆ 

์ €์žฅ ์†Œ์šฉ์œผ๋กœ ๋นŒ๋“œ ๋œ Visual Studio Xamarin Forms UWP ํ…œํ”Œ๋ฆฟ ํ”„๋กœ์ ํŠธ๋Š” .appxupload ํŒจํ‚ค์ง€์—์„œ ์„ค์น˜ํ•  ๋•Œ ์‹œ์ž‘์‹œ ์ถฉ๋Œํ•ฉ๋‹ˆ๋‹ค.

์žฌํ˜„ ๋‹จ๊ณ„

  1. Visual Studio 15.7.1์—์„œ ์ƒˆ Xamarin-Froms ํ”„๋กœ์ ํŠธ ๋งŒ๋“ค๊ธฐ
  2. UWP ํ”„๋กœ์ ํŠธ (Store-> Package for store)์— ๋Œ€ํ•œ ์ €์žฅ์†Œ ๋นŒ๋“œ (๋„ค์ดํ‹ฐ๋ธŒ ์ปดํŒŒ์ผ ์‚ฌ์šฉ) ํŠธ๋ฆฌ๊ฑฐ
  3. .appxupload ํŒจํ‚ค์ง€๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์•ฑ์„ ๋กœ์ปฌ๋กœ ์„ค์น˜
  4. ์‹œ์ž‘์‹œ ์•ฑ ์ถฉ๋Œ

์˜ˆ์ƒ๋˜๋Š” ๋™์ž‘

Xamarin Forms .appxupload ํŒŒ์ผ์€ ์‹œ์ž‘์‹œ ์ถฉ๋Œํ•˜์ง€ ์•Š์•„์•ผํ•˜๋ฉฐ ํ…Œ์ŠคํŠธ ๊ฐ€๋Šฅํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ๊ฒŒ์‹œ๋˜๊ธฐ ์ „์— Microsoft Store ์–‘์‹ ํ…Œ์ŠคํŠธ ์•ฑ์„ ์ฐจ๋‹จํ•˜๊ณ  (ํ•„์š”ํ•œ ๊ฒฝ์šฐ) ๊ฐœ๋ฐœ์ž๊ฐ€ ํ…Œ์ŠคํŠธ๊ฐ€ ํ•„์š”ํ•œ ์•ฑ์„ ๊ฒŒ์‹œํ•˜์ง€ ๋ชปํ•˜๋„๋ก ์ฐจ๋‹จํ•ฉ๋‹ˆ๋‹ค.

์‹ค์ œ ํ–‰๋™

Xamarin.Forms.Init ()๊ฐ€ UWP ํ”„๋กœ์ ํŠธ์—์„œ ์ œ๊ฑฐ ๋˜ ์ž๋งˆ์ž (ํšจ๊ณผ์ ์œผ๋กœ xf ์ œ๊ฑฐ) ์ €์žฅ ์†Œ์šฉ์œผ๋กœ ๋นŒ๋“œ ๋  ๋•Œ UWP๊ฐ€ ๋” ์ด์ƒ ์ถฉ๋Œํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. x86 ๋˜๋Š” x64 ๋นŒ๋“œ ๋ชจ๋‘์—์„œ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. x86 ๋งŒ ๋นŒ๋“œํ•ด๋„ ์•„๋ฌด๊ฒƒ๋„ ๋ณ€๊ฒฝ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

_Test appxbundle ์ด ์™„๋ฒฝํ•˜๊ฒŒ ์ž‘๋™ํ•œ๋‹ค๋Š” ์ ์€ ์–ธ๊ธ‰ ํ•  ๊ฐ€์น˜๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฌธ์ œ๊ฐ€์žˆ๋Š” ์ƒ์  appxupload๋ฟ์ž…๋‹ˆ๋‹ค .

๊ธฐ๋ณธ ์ •๋ณด

  • ๋ฌธ์ œ๊ฐ€์žˆ๋Š” ๋ฒ„์ „ : 2.5. , ์‚ผ.
  • ๋งˆ์ง€๋ง‰์œผ๋กœ ์•Œ๋ ค์ง„ ์–‘ํ˜ธํ•œ ๋ฒ„์ „ :-
  • IDE : VS 15.7.1
  • ํ”Œ๋žซํผ ๋Œ€์ƒ ํ”„๋ ˆ์ž„ ์›Œํฌ : UWP (14393, 15063 ...)
  • ์˜ํ–ฅ์„๋ฐ›๋Š” ์žฅ์น˜ : Windows 10 x86 / x64

๋ณต์ œ ๋งํฌ

Visual Studio์™€ ํ•จ๊ป˜ ๋ฒˆ๋“ค๋กœ ์ œ๊ณต๋˜๋Š” ํ…œํ”Œ๋ฆฟ ํ”„๋กœ์ ํŠธ์—์„œ ๋ฐœ์ƒํ•˜๋ฏ€๋กœ ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ถ”๊ฐ€ ์ •๋ณด

https://bugzilla.xamarin.com/show_bug.cgi?id=59538
https://developercommunity.visualstudio.com/content/problem/150965/xamarin-forms-project-uwp-app-dies-on-start-when-i.html

์œ„์˜ ๊ฒŒ์‹œ๋ฌผ ์ค‘ ์ผ๋ถ€๋Š” ๋กœ์ปฌ์— ์„ค์น˜ํ•  ๋•Œ .appxupload๊ฐ€ ์ถฉ๋Œํ•˜๋”๋ผ๋„ Microsoft ์Šคํ† ์–ด์—์„œ ๋‹ค์šด๋กœ๋“œํ•˜์—ฌ ์„ค์น˜ํ•  ๋•Œ ํŒจํ‚ค์ง€๊ฐ€ ๋ฌธ์ œ์—†์ด ์‹คํ–‰๋œ๋‹ค๋Š” ๊ฒƒ์„ ์„ค๋ช…ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ถ€๋ถ„์˜ ๋ฌธ์ œ๋Š” ๋ฐ์Šคํฌํ†ฑ ๋ธŒ๋ฆฌ์ง€ ๊ถŒํ•œ์œผ๋กœ ์ธํ•ด ์Šคํ† ์–ด ๊ฒŒ์‹œ ์ „์— Microsoft์—์„œ .appxupload ํŒจํ‚ค์ง€๋ฅผ ํ…Œ์ŠคํŠธํ•ด์•ผํ•œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋กœ์ปฌ์—์„œ ํ…Œ์ŠคํŠธ ํ•  ๋•Œ ์ถฉ๋Œํ•˜๋ฏ€๋กœ ๊ฒŒ์‹œ ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

5 high impact UWP bug

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

/ cc @krumelur

๋ชจ๋“  3 ๋Œ“๊ธ€

์ด๊ฒƒ์„ ๋กœ์ปฌ๋กœ ํ…Œ์ŠคํŠธํ–ˆ์„ ๋•Œ ๋””๋ฒ„๊ฑฐ์— ์—ฐ๊ฒฐํ•  ๋•Œ ๋ณธ ์˜ˆ์™ธ๋Š” ๋‹ค์Œ๊ณผ ์œ ์‚ฌํ–ˆ์Šต๋‹ˆ๋‹ค.

https://stackoverflow.com/questions/50010855/could-not-load-file-or-assembly-system-private-corelib

๋‚˜๋Š” ์šฐ๋ฆฌ๊ฐ€ ๋ฐ์Šคํฌํƒ‘ ํ™•์žฅ์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•˜์ง€ ์•Š์ง€๋งŒ ์šฐ๋ฆฌ๋Š” ๋ชจ๋ฐ”์ผ ํ™•์žฅ์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๊นŒ?

์—ฌ๊ธฐ์„œ ์ง€์‹œ๋ฅผ ๋”ฐ๋ž๋‹ค ๊ณ 
https://docs.microsoft.com/en-us/windows/uwp/porting/desktop-to-uwp-packaging-dot-net
ํŒจํ‚ค์ง€ ํ”„๋กœ์ ํŠธ๋ฅผ ํ†ตํ•ด ํ”„๋กœ์ ํŠธ๋ฅผ ๋งŒ๋“ค๊ณ  ํ•ด๋‹น ๋ฒˆ๋“ค์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฌธ์ œ์—†์ด ๋กœ์ปฌ๋กœ ์„ค์น˜ํ•˜๊ณ  ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค ( . \ Add-AppDevPackage.ps1 ์‚ฌ์šฉ ).

์ถ”๊ฐ€ ์ƒ๊ฐ
https://stackoverflow.com/questions/50216085/missing-system-assembly-in-appxupload-only

Microsoft๋Š” ๋ฐ์Šคํฌํ†ฑ ๋ธŒ๋ฆฌ์ง€ ๊ถŒํ•œ ๋•Œ๋ฌธ์— ์Šคํ† ์–ด ๊ฒŒ์‹œ ์ „์—

@xabre ๋ฐ์Šคํฌํ†ฑ ๋ธŒ๋ฆฌ์ง€ ๊ถŒํ•œ์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— UWP ํŒจํ‚ค์ง• ํ”„๋กœ์ ํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์Šคํ† ์–ด์— ์ œ์ถœํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?
https://docs.microsoft.com/en-us/windows/uwp/porting/desktop-to-uwp-packaging-dot-net
์ด์œ ์— ๋Œ€ํ•œ ์ถ”๊ฐ€ ์ฐธ๊ณ  ์‚ฌํ•ญ
https://stackoverflow.com/questions/50010855/could-not-load-file-or-assembly-system-private-corelib

์ด์— ๋Œ€ํ•œ ๋ช‡ ๊ฐ€์ง€ ํƒ์ƒ‰ ์ž‘์—…์—์„œ ๋ช‡ ๊ฐ€์ง€ ์ถ”๊ฐ€ ๋ฉ”๋ชจ

  • appxupload ์•ˆ์—์žˆ๋Š” appxbundle์€ ๋”๋ธ” ํด๋ฆญ ์„ค์น˜ ์ค€๋น„๊ฐ€๋˜์–ด ์žˆ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด ํŒŒ์ผ๊ณผ ํ•จ๊ป˜ ์„ค์น˜๋˜์ง€ ์•Š๋Š” ๋งŽ์€ ์ข…์†์„ฑ์ด ์žˆ์œผ๋ฏ€๋กœ ๋กœ์ปฌ์—์„œ ์‹คํ–‰ํ•  ๋•Œ ์ถฉ๋Œ์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. _test ํด๋”์—์„œ ps1 ํŒŒ์ผ์„ ์‹คํ–‰ํ•˜๋ฉด ๋จผ์ € appxbundle๊ณผ ํ•จ๊ป˜ ์ผ๋ถ€ ์ข…์†์„ฑ์„ ์„ค์น˜ํ•˜๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ๋‚ด๊ฐ€ ์ฐพ์€ ๊ฒƒ์—์„œ ์™„์ „ํžˆ ๋ฐ”๋‹๋ผ UWP ํ”„๋กœ์ ํŠธ (์–‘์‹ ์—†์Œ)๋ฅผ ๋งŒ๋“ค๊ณ  Min Target์„> = 16299๋กœ ์„ค์ •ํ•˜๋ฉด appxupload ๋‚ด๋ถ€์˜ appxbundle์€ ์ž์ฒด์ ์œผ๋กœ ์„ค์น˜ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. appxbundle์„ _test ํด๋”์— ๋ณต์‚ฌ ํ•œ ๋‹ค์Œ ps1 ํŒŒ์ผ์„ ์‹คํ–‰ํ•˜์—ฌ ์ข…์† ํ•ญ๋ชฉ์„ ํ•จ๊ป˜ ์„ค์น˜ํ•˜์ง€๋งŒ ํŒŒ์ผ ์ž์ฒด๋ฅผ ๋‘ ๋ฒˆ ํด๋ฆญํ•˜๋ฉด ๊ธฐ๋Šฅ์ ์œผ๋กœ ์„ค์น˜ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ํ•ด๋‹น ๋ฒˆ๋“ค์„ ์„ค์น˜ํ•  ์ˆ˜์—†๋Š” ๊ฒƒ์€ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•  ์ˆ˜์—†๋Š” ์ƒ์ ๊ณผ ๊ด€๋ จ์ด์—†๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

/ cc @krumelur

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰