Automapper https://github.com/AutoMapper/AutoMapper/issues/2455 ์ ๊ต์ฐจ ๊ฒ์๋ฌผ
AutoMapper >= 6.2.0์ ์ถ๊ฐํ๋ฉด iOS ํ๋ก์ ํธ๊ฐ ๋น๋์ ์คํจํ๊ณ CS1703 ์ค๋ฅ๊ฐ ์ถ๋ ฅ๋ฉ๋๋ค.
์ ํํ ์ค๋ฅ๋
Error CS1703
Multiple assemblies with equivalent identity have been imported:
'C:\Users\plebm\.nuget\packages\system.reflection.emit\4.3.0\ref\netstandard1.1\System.Reflection.Emit.dll'
and
'C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\ReferenceAssemblies\Microsoft\Framework\Xamarin.iOS\v1.0\Facades\System.Reflection.Emit.dll'.
Remove one of the duplicate references.
AutoMapper๊ฐ 6.2.0์์ System.Runtime.Serialization.Primitives.4.3.0
์ ์ถ๊ฐ ์ข
์์ฑ์ ์ถ๊ฐํ์ฌ ๋ฐ์ํ ๊ฒ์ผ๋ก ๋ณด์
๋๋ค.
VS 15.5.1 ์ฌ์ฉ
๋น๋ ์ฑ๊ณต
๋น๋ ์คํจ
์๋ ๋งคํผ๊ฐ Reflection.Emit์ด ํ์ํ ๊ฒ์ ์ฌ์ฉํ๋ ๊ฒ ๊ฐ์ต๋๋ค. iOS์์๋ ์๋ํ์ง ์์ต๋๋ค.
@jassmith ๋๊ธ ๊ฐ์ฌํฉ๋๋ค. ํ์ง๋ง ํ ๊ฐ์ง ์ง๋ฌธ์ Reflection.Emit์ด ๋ฐํ์ ์ค๋ฅ๋ ๋น๋ ์ค๋ฅ๋ฅผ ์ผ์ผํค๋์?
AutoMapper๋ ํํ์ ํธ๋ฆฌ ์ปดํ์ผ์ ์ฌ์ฉํ๋ฏ๋ก ๊ฒฐ๊ตญ Expression.Lambda(...).Compile(). ์ฐ๋ฆฌ๋ ๋งค์ฐ ํ์ ํ๋ ๋ช ๊ฐ์ง ์๋๋ฆฌ์ค์ Reflection.Emit์ ์ฌ์ฉํฉ๋๋ค.
๊ธฐ๋ณธ์ ์ผ๋ก iOS๋ฅผ ๋์์ผ๋ก ํ๋ ค๋ฉด Reflection.Emit์ ์ ํ ์ฌ์ฉ/์ฐธ์กฐํ์ง ์๋ ๋์์ด ์๋์ง ํ์ธํด์ผ ํฉ๋๋ค.
์ปดํ์ผ ์ค๋ฅ๋ 15.5 ๋ฐ ๋ฐ์ธ๋ฉ ๋ฆฌ๋๋ ์ ์ ์ต๊ทผ ๋ฌธ์ ์ฒ๋ผ ๋ค๋ฆฝ๋๋ค.
๋๋ ๊ฐ์ ๋ฌธ์ ๊ฐ ์์๋ค. ๋ด ์๋ฃจ์ ์ ๋ค์๊ณผ ๊ฐ์ด ๋ด ios ํ๋ก์ ํธ์์ project.json์ ์ฌ์ฉํ๋ ๊ฒ์ด ์์ต๋๋ค.
{
"dependencies": {
"System.Reflection.Emit": {
"version": "4.3.0",
"exclude": "all"
}
},
"frameworks": {
"Xamarin.iOS,Version=v1.0": {}
},
"runtimes": {
"win": {}
}
}
@gmwilhelm project.json์ด ์ฌ์ ํ ๋ฌธ์ ์ธ์ง ๋ชฐ๋์ต๋๋ค. ์ค๋ ๋๋ ๋ฐฐ์ด๋ค
@jassmith ์ด ํฐ์ผ์ ๋ค์ ๊ฒํ ํ์๊ฒ ์ต๋๊น? ์ ํจํ์ง ์์ ๊ฒ์ผ๋ก ํ์ํ๋ค๋ ๊ฒ์ ์๊ณ ์์ง๋ง ์ด๊ฒ์ด ์ค์ ๋ก Xam.Forms๊ฐ ํด๊ฒฐํด์ผ ํ ๋ฌธ์ ๋ผ๊ณ ์๊ฐํฉ๋๋ค.
๋น NuGet ํจํค์ง๋ฅผ ์ฌ์ฉํ์ฌ ๋ก์ปฌ์์ ์ด๋ฅผ ์ฌํํ๋ ค๊ณ ํฉ๋๋ค.
Reflection.Emit์ ์ฐธ์กฐํ์ง๋ง ์ฌ์ฉํ์ง ์์ต๋๋ค. ์ปดํ์ผ ์ค๋ฅ๊ฐ ๋ฐ์ํ์ต๋๋ค
ํ ๋ฒ ๊ทธ๋ฌ๋ ์ ๋น๋กญ๊ฒ ์ฌ๋ผ์ก์ต๋๋ค.
2018๋ 1์ 2์ผ ํ์์ผ ์คํ 5์ 54๋ถ์ Wade Baglin [email protected] ์ด ๋ค์๊ณผ ๊ฐ์ด ์ผ์ต๋๋ค.
@jassmith https://github.com/jassmith ๋น์ ์ด ์ด๊ฒ์ ๊ฒํ ํ ๊ธฐํ
๋ ํฐ์ผ? ๋๋ ๋น์ ์ด ๊ทธ๊ฒ์ ๋ฌดํจ๋ก ํ์ํ๋ค๋ ๊ฒ์ ์๊ณ ์์ง๋ง ์ด๊ฒ์ด ์ค์ ๋ก
Xam.Forms๊ฐ ํด๊ฒฐํด์ผ ํ ์ฌํญโ
๋น์ ์ด ๋๊ธ์ ๋ฌ์๊ธฐ ๋๋ฌธ์ ์ด๊ฒ์ ๋ฐ๋ ๊ฒ์ ๋๋ค.
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ณ GitHub์์ ํ์ธํ์ธ์.
https://github.com/xamarin/Xamarin.Forms/issues/1380#issuecomment-354906852 ,
๋๋ ์ค๋ ๋ ์์๊ฑฐ
https://github.com/notifications/unsubscribe-auth/AAGYMoqgqceTH4BPe4vqZwLkAoYb1YO0ks5tGsGxgaJpZM4Q-gOM
.
@pleb @jbogard
Visual Studio 15.5.5์์๋ ๋ค์ค ์ด์ ๋ธ๋ฆฌ ์ค๋ฅ๋ฅผ ์ฌํํ ์ ์์ง๋ง VSMac์์๋ ์ฌํํ ์ ์์ต๋๋ค. ์ด๊ฒ์ ์ถ์ ํ๊ธฐ ์ํด DevCom ํญ๋ชฉ์ ๋ง๋ค์์ต๋๋ค.
์ฐธ๊ณ : ์์ ํด๊ฒฐ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ๋ ค๋ฉด VS๋ฅผ ๋ค์ ์์ํด์ผ ํ ์ ์์ต๋๋ค. ๊ทธ๊ฒ์ Mac ์ฉ VS์์ ์ ์๊ฒ ์ผ์ด๋ฌ์ต๋๋ค.
@SvenEV ๋ ์ปค๋ฐ์ ์๋ฃจ์
์ ๊ฐ์ง๊ณ ์์์ต๋๋ค.
์ด๊ฒ์ csproj ํ์ผ์ ์ถ๊ฐํ์ญ์์ค. PackageReferences๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ
<PackageReference Include="System.Reflection.Emit" Version="4.3.0">
<ExcludeAssets>all</ExcludeAssets>
</PackageReference>
๋๋ ๊ทธ๊ฒ์ ๋ ์ ๋ณด์ด๋๋ก ์ฌ๊ธฐ์ ์ฐ๊ณ ์์ต๋๋ค. ๋ด๊ฐ ๋ณธ ํ Emmit Interface๋ ์๋ฅผ ๋ค์ด ์ธํฐํ์ด์ค์ ๋งคํํ๊ธฐ ์ํด Automapper์์ ์ฌ์ฉ๋ฉ๋๋ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
@SvenEV ๋ ์ปค๋ฐ์ ์๋ฃจ์ ์ ๊ฐ์ง๊ณ ์์์ต๋๋ค.
์ด๊ฒ์ csproj ํ์ผ์ ์ถ๊ฐํ์ญ์์ค. PackageReferences๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ
๋๋ ๊ทธ๊ฒ์ ๋ ์ ๋ณด์ด๋๋ก ์ฌ๊ธฐ์ ์ฐ๊ณ ์์ต๋๋ค. ๋ด๊ฐ ๋ณธ ํ Emmit Interface๋ ์๋ฅผ ๋ค์ด ์ธํฐํ์ด์ค์ ๋งคํํ๊ธฐ ์ํด Automapper์์ ์ฌ์ฉ๋ฉ๋๋ค.