Daniel Cazzulino

Latest articles

Developer PowerShell Core Prompt in Visual Studio Code Integrated Terminal

Visual Studio recently got a new Developer PowerShell command prompt, which is super useful since it has all the environment variables properly set up to do things like msbuild from command line and have it pick the “right” MSBuild. As a follow up to my post on Developer Command Prompt in Visual Studio Code Integrated Terminal, this is how...

Serverless redirection to save us from ugly URLs

I’m a fan of CI-independent serverless nuget feeds: you can push packages from arbitrary systems to a single feed that is highly available and requires no maintenance. It can also be made public access (which Azure Artifacts/VSTS still doesn’t allow). There is one minor issue, though: the URL isn’t all that memorable or particularly short. Its...

How To Install and Cleanup Visual Studio 2017 Instances

Visual Studio 2017 allows multiple side by side installations, which makes experimenting with various versions and extensions a breeze: To install those multiple IDEs, you simply head over to http://visualstudio.com, grab each of the editions you want to test and just run the installers. NOTE: you can install one of each VS editions...

How To Migrate PCL and Xamarin.Forms Apps to NETStandard Today

One of the reasons devs don’t update their (Xamarin.Forms) PCL library projects to .NETStandard 2.0 is that there are a bunch of NuGet packages that still haven’t migrated to it. It turns out, that that’s not a problem at all! Basically, the steps are: Open your .csproj and delete everything Replace its contents with: <Project Sdk="Microsoft.NET.Sdk">...

Test and Switch: testable yet high performance cross-platform libraries

If you are writing Xamarin apps, there’s a high chance you are also leveraging the MVVM pattern: And if you like your separation of concerns, you may also be using constructor dependency injection (whether for a Xamarin.Forms app or Xamarin Native): (where your “assembler” may be a proper DI framework, or maybe just our humble DependencyService)...

Why do project dependencies become project references?

Sometimes you want certain projects to be built before others in a solution, even if there shouldn’t be a project reference between them. An example might be a test project that uses artifacts produced by the build of another project, yet it does not contain a direct project reference to it. If you right-click on the test project (say) to tweak...

How to get Visual Studio 2017 installation path

From MSBuild it’s easy, just use $(VsInstallRoot), but what about your VS extension? It’s also quite easy, although far less discoverable. Steps are easy enough: Install the Microsoft.VisualStudio.Setup.Configuration.Interop nuget package. From the relevant code, use the following code: var config = (Microsoft.VisualStudio.Setup.Configuration.ISetupConfiguration2)...

How to include PackageReference DLLs in your VSIX extension

In the packages.config days, references were added directly to the project and everything would get copied to the output and the VSIX by default. PackageReference is a vastly superior approach, but as soon as you switch over, you’ll notice that all those referenced assemblies from packages are gone from the output VSIX. Not to worry though,...

How to include PDBs in your VSIX extension

In order to get better stack traces and logs from your Visual Studio extensions, it may be a good idea to include the PDBs inside the VSIX. The VSSDK doesn’t do this by default, but it’s trivial to do it in a generic fashion for all your extensions. There are two simple MSBuild properties you can set in your VSIX project to include the symbols...

Serverless custom NuGet feeds

Some time ago I posted the following question on twitter: has anyone done a serverless @nuget gallery using azure functions and blob storage? I totally need one ;) I was basically looking for a serverless solution that would be independent of our CI so that multiple builds from various sources we have around could push nuget packages...

Discover, share and read the best on the web

Subscribe to RSS Feeds, Blogs, Podcasts, Twitter searches, Facebook pages, even Email Newsletters! Get unfiltered news feeds or filter them to your liking.

Get Inoreader
Inoreader - Subscribe to RSS Feeds, Blogs, Podcasts, Twitter searches, Facebook pages, even Email Newsletters!