В основном я создал плагин Xamarin, используя мульти-таргетинг , как объяснено url . В конфигурации проекта я определил как показано ниже:
<TargetFrameworks>netstandard2.0;Xamarin.iOS10;Xamarin.TVOS10;MonoAndroid90;MonoAndroid10.0;tizen40;</TargetFrameworks>
<TargetFrameworks Condition=" '$(OS)' == 'Windows_NT' ">$(TargetFrameworks);uap10.0.16299;</TargetFrameworks>
Так что я нацеливаюсь на несколько структур.
<ItemGroup Condition=" $(TargetFramework.StartsWith('MonoAndroid')) ">
<Compile Include="**\*.android.cs" />
<PackageReference Include="Newtonsoft.Json" Version="12.0.2" />
<PackageReference Include="Plugin.CurrentActivity" Version="2.1.0.4" />
<PackageReference Include="Xamarin.Android.Support.Annotations" Version="28.0.0.3" />
<PackageReference Include="Xamarin.Android.Google.BillingClient" Version="2.0.3" />
</ItemGroup>
и определяя это условие, устанавливаются файлы с именем android .cs и эти пакеты nuget. только на TargetFramework начинается с Mono Android. Здесь все отлично.
Теперь мои вопросы: я хочу, чтобы такой же плагин работал и для приложения Amazon. Это также android целей Mono Android. У него есть собственный пакет и собственный код. В моем решении я разделил как myApp.Droid и myApp.Amazon.Droid. Так что в основном в том же решении у меня есть 2 android проектов. 1 для Google 1 для Amazon. у меня вопрос, как я могу заставить это условие работать так:
, если имя целевого проекта включает «amazon», установить определенные файлы только для этого проекта.
если не существует / еще, установить по умолчанию Mono Android проект.