2017-09-26 1 views
0

제목에 명시된 바와 같이 IOS 용 Xamarin.Forms 응용 프로그램을 컴파일 할 때 다음 링크 오류가 발생합니다. Visual Studio for Windows에서 개발 중이며 MacBook을 사용하여 컴파일하고 있습니다.네이티브 링크 오류 : 프레임 워크를 찾을 수 없음 Windows에서 IOS Xamarin.Forms를 컴파일 할 때 ArcGIS-sim64

1>C:\Program Files (x86)\Microsoft Visual 
Studio\2017\Enterprise\MSBuild\Xamarin\iOS\Xamarin.iOS.Common.targets(747,3): error : Native linking error: warning: directory not found for option '-F/Users/vvp/Library/Caches/Xamarin/mtbs/builds/RT.iOS/9bd34334c2bb0c14c8bdf794f67e9fc/framework'1> 

C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\Xamarin\iOS\Xamarin.iOS.Common.targets(747,3): error: Native linking error: warning: directory not found for option '-F/Users/vvp/Library/Caches/Xamarin/mtbs/builds/RT.iOS/9bd34334c2bb0c14c8bdf794fb67e9fc/framework' 

1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\Xamarin\iOS\Xamarin.iOS.Common.targets(747,3): error : Native linking error: framework not found ArcGIS-sim64 

VS 2017을 사용하여 Mac에서 직접 컴파일합니다. 응용 프로그램은 IPhone 시뮬레이터에 배포되어 실행됩니다. 나는 똑같은 구성을 사용하고 있습니다. 그러나 위의 오류 메시지와 일치하는 것으로 보이는 다음과 같은 경고가 표시됩니다.

 /Users/vvv/Desktop/Selectron.Field.RouteTracker/RT/RT.iOS/warning MT5203: Warning: warning: ignoring file 

    /Users/vvv/Desktop/Selectron.Field.RouteTracker/packages/Esri.ArcGISRuntime.Xamarin.iOS.100.1.0/framework/ArcGIS-sim.framework/ArcGIS-sim, file was built for i386 which is not the architecture being linked (x86_64): 

    /Users/vvv/Desktop/Selectron.Field.RouteTracker/packages/Esri.ArcGISRuntime.Xamarin.iOS.100.1.0/framework/ArcGIS-sim.framework/ArcGIS-sim (RT.iOS) Native linking 

    /Users/vvv/Desktop/Selectron.Field.RouteTracker/packages/Esri.ArcGISRuntime.Xamarin.iOS.100.1.0/framework/ArcGIS-sim.framework/ArcGIS-sim, file was built for i386 which is not the architecture being linked (x86_64): 

/Users/vvv/Desktop/Selectron.Field.RouteTracker/packages/Esri.ArcGISRuntime.Xamarin.iOS.100.1.0/framework/ArcGIS-sim.framework/ArcGIS-sim (RT.iOS) Native linking 


/Library/Frameworks/Mono.framework/External/xbuild/Xamarin/iOS/Xamarin.iOS.Common.targets(3,3): Warning MSB6002: The command-line for the "MTouch" task is too long. Command-lines longer than 32000 characters are likely to fail. Try reducing the length of the command-line by breaking down the call to "MTouch" into multiple calls with fewer parameters per call. (MSB6002) (RT.iOS) 

지원되는 아키텍처를 비주얼 스튜디오에서 변경해 보았습니다.

나는 MAC에서 컴파일 프로세스가 관계없이 발생할 수 있도록 특정 인수를 제공한다고 추측하고 있습니다. 주제에 관한 문서 또는 아이디어에 대한 제안이 있으면 감사하겠습니다.

아직 실제 장치에서 테스트되지 않았습니다. 사용자에 해당

파일/VVP/도서관/캐시/자 마린/mtbs/빌드 존재 수행 MAC에/RT.iOS/9bd34334c2bb0c14c8bdf794fb67e9fc/프레임 워크 '는 다음과 같습니다 는 ArcGIS-SIM : 동적으로 링크 공유 라이브러리 i386 ArcGIS-sim64 : 동적으로 링크 된 64 비트 공유 라이브러리 x86-64

ArcGIS-arm은 나타나지 않지만 (ArcGIS-arm은 Mac이 아닌 내 Windows 컴퓨터에서 사용할 수 있음) 나타납니다.

또한 문제의 파일을 확인했지만 IOS 프로젝트 파일에 다음 오류가 표시됩니다.

<Error Condition="!Exists('..\..\packages\Esri.ArcGISRuntime.Xamarin.iOS.100.1.0\build\Xamarin.iOS10\Esri.ArcGISRuntime.Xamarin.iOS.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\Esri.ArcGISRuntime.Xamarin.iOS.100.1.0\build\Xamarin.iOS10\Esri.ArcGISRuntime.Xamarin.iOS.targets'))" /> 

답변

0

비주얼 스튜디오 16에는 최신 업데이트가 없습니다.

이 사실을 깨달았어야하지만 파일 위치가 다릅니다.

Visual Studio 및 xamarin을 업데이트하면 문제가 해결되었습니다.