The only difference between MicrosoftSdk
and Standard
projects is csproj
file. Standard
project is generated mostly automatically (except wildcards in ItemGroup
nodes), while MicrosoftSdk
csproj
was created manually, inspired by Baseflow implementation of ExoPlayer Xamarin port. I think this approach is much better, since it makes csproj
files much more readable and can support multiple target frameworks if needed. I guess there're also some other advantages as well.
So, main problems in Rider:
MicrosoftSdkBindingsLibrary\Additions\StateProvider.cs
- everyting is red, Intellisense doesn't see files fromobj\$(Configuration)\$(TargetFramework)\generated\src
andobj\$(Configuration)\$(TargetFramework)\generated\enums
.StandardBindingsLibrary\Additions\StateProvider.cs
- everyting is red, Intellisense doesn't see files fromobj\$(Configuration)\generated\src
andobj\$(Configuration)\generated\enums
.SampleApp\MainActivity.cs
- same problem, Itellisense doesn't see generated files from the referenced project.- Other issue: Rider doesn't care what
TargetFrameworkVersion
is written incsproj
file, it always picks 11.0 (R - API 30) as target API. Problem relates only toStandardBindingsLibrary
project.
Compilation is successful for all projects.
Android Studio project is also included. You can compile it and change there something, csproj
will pick a compiled aar automatically (there're conditions in csproj
files which give such ability).