Zxing.net.mobile: Support Profile 111

Created on 15 Apr 2016  路  14Comments  路  Source: Redth/ZXing.Net.Mobile

Newer Xamarin Project Templates are now defaulting to Profile 111, and it would be extremely helpful to have support for both Profile 78 and 111.

Most helpful comment

@Redth Could you please update the nuget package with @anders9ustafsson suggestion?

All 14 comments

I have the same problem!

Pretty please.

Same problem here. Any plans to add support for Profile 111?

Same problem here...

Profile 111 is actually already supported, since Profile 111 targets a subset of Profile 259, which is the selected profile in the PCL ZXing.Net.Mobile.Portable project.

However, since _wpa81_ is not included in the directory name for the portable DLL:s in the .nuspec file, the attempt to reference the _ZXing.Net.Mobile_ NuGet package from a PCL Profile 111 project will fail. See e.g. this Stackoverflow question and associated answer.

I strongly recommend that the library specification in the .nuspec file for the PCL installation is changed to the standard Profile 259 name, i.e._lib/portable-net45+netcore45+wpa81+wp8/_.

This minimal change would automatically enable referencing _ZXing.Net.Mobile_ from a PCL Profile 111 project as well, and it will still be valid for the different Xamarin, UWP and WP8 Silverlight targets.

This is good information.

@anders9ustafsson my only concern is that implying wpa81 support is going to cause some complications / headaches for me. Do you have any suggestions for making it clear that wpa81 is not actually supported? Right now I'm thinking of just including the assembly that throws NotImplementedException in all the contract stubs....

@Redth Do you have contract subs in the PCL? Then you won't need an additional stub implementation for _wpa81_, NuGet will automatically assign the PCL assemblies to a Windows Phone 8.1 non-Silverlight application.

I guess the situation is already the same for Windows 8/8.1 projects since you are including _netcore45_ in the portable libraries path but there is no designated Windows 8/8.1 class library?

@Redth the easiest way would be a bait and switch. The PCL may be wpa81 friendly, however since you don't want to actually support wpa81, just include a framework reference lib\wpa81 with no dll's. This will allow someone to install the package to a solution containing an 8.1 project without providing references to ZXing.Net to the wpa81 project. I might also suggest updating the ReadMe to note that, so people don't report it as a bug.

@Redth Could you please update the nuget package with @anders9ustafsson suggestion?

@anders9ustafsson could you please review 93404e1 and verify this is what you were suggesting? I guess I don't need to include UAP10+Xamarin.iOS10+MonoAndroid403 in the PCL target since they already exist in other <file .. /> elements?

@Redth Sorry for the late response, but Yes, your change is exactly like I believe it should be. For maximum compatibility I think it is wise to leave out the UAP/Xamarin part; NuGet handles these associations automatically. Thanks for fixing this!

Thanks for following up :)

@Redth thank you for getting this support. It's great that this is an open source library so I can always clone it and make the tweaks needed, but it's a lot nicer to have my team pulling the official package!

:D

Was this page helpful?
0 / 5 - 0 ratings