2017-11-25 21 views
1

Mac 프로젝트 용 Visual Studio를 올바르게 설정하려면 도움이 필요합니다. 저는 Visual Studio Mac을 처음 사용하고 있으며 올바른 길을 따라 가도록 고맙게 생각합니다..NET 어셈블리를 참조 할 수있는 프로젝트 유형은 iOS Xamarin 응용 프로그램에서 참조 할 수 있습니다.

원래 Windows 용 Visual Studio 2017에서 개발 된 대형 클래스 라이브러리가 있습니다. iOS 응용 프로그램을 개발할 때이 코드를 많이 사용하고 싶습니다.

  • 시스템
  • 들은 System.Runtime.Serialization
  • 는 system.serviceModel
  • System.ServiceModel.Web
  • System.Web :이 클래스 라이브러리에 대한 참조가 필요합니다.

Mac 용 Visual Studio에서이 코드를 휴대용 클래스 라이브러리로 이식하려고했습니다. 그러나 PCL은 위의 어셈블리를 참조하는 것을 허용하지 않습니다 (뭔가를 놓치지 않는 한).

그래서 .NET 라이브러리 프로젝트 (기타 -> .NET -> 라이브러리) 프로젝트로 이식했습니다. 그러나 Mac 용 VS에 "호환되지 않는 대상 프레임 워크 : .NETFramework, 버전 -v4.6.1"이 있으므로 Mac 용 VS에서이 프로젝트 유형에 대한 참조를 허용하지 않습니다.

어떤 프로젝트 유형을 사용해야합니까? 클래스 라이브러리가 필요한 .NET 어셈블리를 참조 할 수 있도록하고 내 아이폰 OS 응용 프로그램에서 참조 할 수

답변

1

가능한 옵션 :?.

  1. 다른 휴대용 클래스 라이브러리 (PCL) 프로파일을 사용
  2. 사용 .NET 표준 프로젝트
  3. 공유 프로젝트를 사용하십시오.

System.Web을 제외한 모든 항목에는 찾고있는 어셈블리가있는 PCL 프로필이 있습니다.

/Library/Frameworks/Mono.framework/Versions/Current/lib/mono/xbuild-frameworks/.NETPortable

당신 경우 : 당신은 PCL 디렉토리에 보면 Mac에서 사용할 수있는 어셈블리를 볼 수 있습니다 거기에서 터미널 창을 열면 검색, find . -name "System.ServiceModel.Web.dll"을 실행하거나 Finder를 사용하여 폴더를 탐색하여 필요한 어셈블리가있는 PCL 프로파일을 찾을 수 있습니다.

또 다른 가능성은 Xamarin.iOS 프로젝트에서 참조 할 수있는 많은 어셈블리가있는 .NET Standard 2.0 프로젝트를 사용하는 것입니다. 필요한 어셈블리를 제공하기 위해 다른 System. * NuGet 패키지를 설치해야 할 수 있습니다. .NET 표준 2.0에서 사용할 수

네임 스페이스가 설명되어 있습니다 :

https://docs.microsoft.com/en-us/dotnet/api/?view=netstandard-2.0

또 다른 옵션은 공유 프로젝트를 사용하고 있습니다. 어셈블리 자체는 없지만 참조하는 모든 프로젝트에 컴파일 된 공유 코드입니다. 여기에서 iOS 또는 Android 특정 코드에 대해 #ifdefs를 사용할 수 있습니다.