2017-09-18 10 views
2

상황NET 표준 프로젝트에서 nuget 패키지를 사용하는 방법은 portable-net45 + win8 + wp8 + wpa81에서만 호환됩니까? 난 그냥 Xamarin.Forms 솔루션의 표준 .NET 내 모든 PCL 프로젝트를 마이그레이션 한 지루한 작업을 몇 시간으로

. (왜? 당시로서는 좋은 생각 같았 기 때문에)

어쨌든 나는 성공했다.

Xamarin Insights를 추가하기로 결정한 후 https://mobile.azure.com/으로 이동하여 Microsoft.Azure.Mobile.Analytics와 Microsoft.Azure.Mobile.Crashes 패키지를 사용하도록 지시했습니다.

Package Microsoft.Azure.Mobile.Analytics 0.15.0 is not compatible with netstandard1.4 (.NETStandard,Version=v1.4). Package 
Microsoft.Azure.Mobile.Analytics 0.15.0 supports: 
- monoandroid403 (MonoAndroid,Version=v4.0.3) 
- portable-net45+win8+wp8+wpa81 (.NETPortable,Version=v0.0,Profile=Profile259) 
- uap10.0 (UAP,Version=v10.0) 
- xamarinios10 (Xamarin.iOS,Version=v1.0) 

질문

내가 오류를 이해 : 패키지 중 하나를 설치할 때

그러나 나는이 오류가 발생했습니다. 제 모든 프로젝트를 다시 PCL로 마이그레이션해야한다고 말하지 마십시오. (그리고 .NET 표준 포기).

어딘가에 내가 읽는 마법의 패키지가 있다는 것을 기억하고 있습니다. 그 마법은 내가 설치 한 트릭을 제공하고 모든 것이 다시 멋지게 될 것입니다. (아니면 내가 꿈을 꾸고?)

답변

6

당신은 PCL 프로젝트에서 .NET 표준 패키지를 소비하는 프로젝트 구성에 대체를 추가 할 수 있습니다

새로운 csproj 형식 :

<PropertyGroup> 
    <PackageTargetFallback>portable-net45+win8+wpa81</PackageTargetFallback> 
</PropertyGroup> 

오래된 프로젝트를. JSON 형식 :

당신이 있었다 "마법"패키지로
"frameworks": { 
    "netstandard1.4": { 
    "imports": "portable-net45+win8+wpa81" 
    } 
} 

아마에 대한 Microsoft.Bcl.Build 말했다하지만이 경우에는 내가 도움이된다면 없습니다 확신합니다.

+3

'PackageTargetFallback'은 .NET Standard 2.0과 .NET Core 2.0에서'PackageAssetFallback'을 위해 더 이상 사용되지 않습니다. 약간 다르게 동작합니다. –

+0

PackageAssertFallback에 성공하지 못했지만 PackageTargetFallback 만 작동합니다. 이것이 나쁜 징조로 간주되어야 하는가? –

+0

.net 표준 1.4 질문에 있지만 2.0 PackageAsetFallback 사용하고 있습니다. 그 동안 평균 2.0으로 업데이트 했습니까? –