[MAUI] Android 버전에 따른 호환성 관리(?)

image

<TargetFrameworks>net6.0;net6.0-android;netstandard2.1;</TargetFrameworks>을 대상으로하는 Nugert package를 받았습니다. 받은 Nuget Package를 호출? 또는 인스턴스? 할 때 사진과 같은 오류가 나타납니다.

커버 가능한 android 버전이 21 ~ 31입니다, 이 코드는 31이상 버전에서만 사용이 가능 하기 때문에 오류가 나는 것 같습니다.

2개의 좋아요

해당 NuGet은 net6.0-android에서만 사용할 수 있습니다. 나머지 두 프레임워크는 지원하지 않아서 오류가 날 거에요.

4개의 좋아요

image
해당 문제는 (Nuget packag의) <TargetFramework : .netstandard>일 경우 없어집니다.

image
<TargetFramework net6.0-android>로만 해서 pack했을 경우
같은 오류가 납니다.

2개의 좋아요

.netstandard로 했을 때 오류가 없는 이유는 Bluetooth API 레벨이 필요한 코드가 #if 같은 걸로 컴파일이 되지 않아서 그럴거에요.
그러니 net6.0-android만 오류가 나는 것이 정상입니다.

2개의 좋아요

Nuget package를 만들때 지원가능한 최소 버전을 설정할 수 있더군요. 지원가능한 버전을 설정하여 해결했습니다.

1개의 좋아요