James Montemagno
James Montemagno

Live, Love, Bike, and Code.

Tags


James Montemagno

Xamarin

PSA: Android Pie Reports "9" for Release Version instead of "9.0"

Let's break down a version number together, or as standard documentation [https://docs.microsoft.com/en-us/dotnet/api/system.version?view=netframework-4.7.2] says, it "represents the version number of an assembly, operating system, or the common language runtime" and that "the format of the version number is as follows (optional components are shown in square brackets ([ and ]): major.minor[.build[.revision]] In the world of .NET this has always been a staple of how we ve…

James Montemagno James Montemagno

Multi-Targeting: Where Did My Files Go? Fixing .NET Core 2.1 SDK Issues

I love multi-targeting for creating libraries, and it is at the core of all of my plugins and Xamarin.Essentials. If you don't know what multi-targeting is don't worry as it is pretty rare that you would need to use it if you are creating apps. Most likely you will want to use multi-targeting in creating cross-platform libraries. In the past you would have to create multiple libraries for each target framework (such as iOS or Android) that you wanted to support if there was platform spec…

James Montemagno James Montemagno

Optimizing C# Struct Equality with IEquatable and ValueTuples

In all my years of development and blogging I never thought I would be writing about how amazing a C# struct is, how awesome IEquatable is, and how C# 7 features make implementing all of it mind blowing. In Xamarin.Essentials we use the C# struct [https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/struct] all over the place to encapsulate "small groups of related variables" for our event handlers. They are groups of data that don't need to be created by t…

James Montemagno James Montemagno

Xamarin.Forms: Filtering a ListView with a Bindable Picker

In this edition of "Ask Motz", I will solve a very common problem when working with lists of data and how to filter them. I was recently asked how to do this completely with MVVM and data bindings without having any code behind in the page. > @JamesMontemagno [https://twitter.com/JamesMontemagno?ref_src=twsrc%5Etfw] hi I had a bindable pucker with All,Open and Close as a items which is binding using MVVM pattern with Itemsource property.But I want to filter the list view based on t…

James Montemagno James Montemagno

Resolving Android Support Library NuGet Installation Issues

Xamarin.Essentials [https://docs.microsoft.com/xamarin/essentials/] has to be my favorite project that I have worked on at Xamarin so far. Bringing together over 30 native platform specific APIs into a single API that creates a linker safe and optimized library that so far has really delighted developers. I did some surveys last week and everyone could not stop saying positive things about the library, which is awesome! One thing stood out though that seems to be causing issues, which is how NuG…

James Montemagno James Montemagno

Welcome to Montemagno.com Version 2.0 & Newsletter!

Nearly a year ago I re-launched montemagno.com [https://montemagno.com/welcome/] with the goal of creating a website rich of developer content, powered by Ghost [http://ghost.org] a great CMS system, and with beautiful branding [http://cinderdesign.co/] and theming that was mobile responsive. Monthly Newsletter Something I have always wanted to have was a newsletter that would allow me to have a closer relationship with my readers than just back and forth on Twitter [http://twitter.com/jamesmon…

James Montemagno James Montemagno

Celebrating 100 Episodes of Merge Conflict

It was August 20th, 2013 when I broke out of my comfort zone of sitting behind my desk crushing mobile app code and decided to attend my very first official Xamarin meetup [https://blog.xamarin.com/xamarin-is-coming-to-puget-sound/]. I rode my bike over to Bellevue, a place that I rarely explored, and pulled up to Pearl. It took me a few minutes to find parking for my bike because Bellevue isn't the most bike friendly city that we have here in the Pacific Northwest, but I walked around until…

James Montemagno James Montemagno

Continuous Integration & Delivery for Xamarin & .NET Libraries with Azure DevOps (VSTS)

I build a lot of .NET libraries that include simple .NET Standard libraries to fully cross-platform plugins for Xamarin and Windows that target up to 10 different platforms. When I got started building libraries and shipping them to NuGet I went down a simple path of just building everything locally on my machine and manually uploading them to NuGet. This worked great for a single library, but as soon as I took on a second... third... forth... and so on, things got out of hand and I knew I had t…

James Montemagno James Montemagno