Closed MFinkBK closed 4 years ago
I'm not aware of anything that should have changed this in 16.4. Can you provide your api.xml
so I can try to reproduce?
When you say Starting with VS 2019 16.4.0
, what version were you on previously that works correctly? Are you jumping from VS2017 or were you on an earlier version of VS2019?
I think this is caused by this change: https://github.com/xamarin/java.interop/pull/450.
We are attempting to resolve the type
System.Collections.Generic.IList<Java.Util.Locale.LanguageRange>
but the key in the symbol table is
System.Collections.Generic.IList`1
We need to either strip more arity or less.
Is this just a warning in your project? Does it actually keep any bindings from being generated?
I was upgrading from VS 2019 16.3.10. It's just warning messages, but I try to be as warnings-free as possible. At the moment I have added a Jenkins console parse rule to not mark the messages as warnings.
I see the commits in the master and the d16-5 branches. Is the fix contained in VS 2019 version 16.5.x then?
Yes, it will be available beginning in 16.5 Preview 2.
What is the ETA of the 16.5 going stable?
For me this is critical as it broke my binding project due to chain of reactions that ending with whole types being removed from the generated binding.
BINDINGSGENERATOR : warning BG8800: Unknown parameter type System.Collections.Generic.ICollection<System.String> in method GetStringSet in managed type Android.Content.ISharedPreferences.
BINDINGSGENERATOR : warning BG8503: Invalidating Android.Content.ISharedPreferences and all nested types because some of its methods were invalid.
I don't believe an RTM date has been announced for 16.5, however this fix is included in the 16.5 Preview 2 that came out this week. The preview installs side-by-side with your existing VS so you can use it without messing up your current VS.
https://docs.microsoft.com/en-us/visualstudio/releases/2019/release-notes-preview#16.5.0-pre.2.0
Unfortunately, I'm working on Mac and side by side preview doesn't work from some time.
I have a bindings project where we bind a Brother Printer SDK library. Starting with VS 2019 16.4.0 we get warnings about missing managed types. This is the first line of about 30:
warning BG8800: Unknown parameter type System.Collections.Generic.IList<Java.Util.Locale.LanguageRange> in method Filter in managed type Java.Util.Locale.
Compiling and linking with the app project works fine, no further warnings. I can attach the whole log if needed.
I checked the msbuild output and saw the call to the generator.exe in the Xamarin Android folder (formatted for readability):
When I run this command line in the project folder, I get (as expected) the same errors as in Visual Studio 2019. Now when I'm changing the path to generator.exe to use the VS 2017 generator.exe (but not changing the references to MonoAndroid assemblies), I get no warnings.
How can I fix these warnings? Or is this a regression in the generator.exe tool? Thanks!