Recently I updated all packages in my Xamarin project. And suddenly the project stopped building. So I read a bunch of docs on internet. And see that Xamarin has switched to the new *.csproj format. This upgrade has been done with Visual Studio 2017 but Xamarin was late to switch it.

I searched for switching to the new format and found a couple of ways for achieving this problem. I saw a StackOverflow post to do this manually. Here’s the accepted answer.

img

I was looking something an automatic way of this. So I have not tried the above solution. Then I came across to this tool which looks a promising solution.

hvanbakel/CsprojToVs2017CsprojToVs2017 - Tooling for converting pre 2017 project to the new Visual Studio 2017 format.github.com

I have not tried that solution as well because I found another amazing tool that automatically converts projects that are using packages.config or project.json to PackageReference. It’s made by a Microsoft employee. Click the below link to install the Visual Studio Extension.

https://marketplace.visualstudio.com/items?itemName=TaylorSouthwickMSFT.NuGetPackagetoProjectjsonConverter

After you install the extension, open your solution and right click the solution in Solution Explorer and click Upgrade to Package References

After selecting that, the project will be transformed as shown below. It is highly recommended that you perform this on a source-control enabled directory so you can easily undo if something goes wrong.

before.png

Progress window while upgrading
Conversation complete window

Thanks to Taylor Southwick for this neat and straight forward tool!