Yesterday’s release of Dotfuscator v4.37 marks the first big step toward a major goal: modernizing our Visual Studio integration. This release is numbered as a “minor” release because, as always, we work hard to avoid breaking changes, but its significance is actually very major.
Our current Visual Studio integration has always been one of the primary user interfaces for Dotfuscator; nearly half of our users use it or have used it, and most of those users are quite happy with it. (So we know that changing it is no small undertaking!)
However, there are some users who can’t use it or for whom it doesn’t work very well. Notably, users with especially large projects, complex build configurations, or more modern projects that have heavy packaging components (including Xamarin and UWP) have all only had the option of our “standalone GUI” and custom-made build integration.
We thought we could improve this, and we’ve been working on doing so for over a year. Today’s release is a great first step in that direction.
This new way of using Dotfuscator:
We start by integrating Dotfuscator directly into an existing Visual Studio project file (e.g., a .csproj file). This way, Dotfuscator runs right after compilation but before later steps like packaging and signing. This enormously reduces the configuration that must be done in Dotfuscator and makes builds run faster. It is also easier to understand and integrate than our current Visual Studio integration.
Once integrated, Dotfuscator will automatically generate a config file on the first build with basic protection defaults and use it to protect your app.
So, the process to get started is:
Release
configuration)From there, you can get straight to work adding more protection and “turning up the dials” for your app rather than fiddling with build scripts, packaging issues, signing keys, and so on.
As you continue, Dotfuscator will automatically stay up to date, even as you add and remove projects from your solution.
Our user guide has also been heavily updated to highlight this new Dotfuscator method and show how easy it is to get started. Take a look, and see for yourself.
This is a big change, and we’re eager to hear your feedback. If you try this, please let us know how it goes, especially if you’ve used one of our other integrations before.
And don’t worry! This is a semantically minor release—your existing builds (and existing build integrations) will work like they always have. You don’t have to change it to this new way if you don’t want to. (But if you do, we think you’ll be happy you did!)
So upgrade now and protect your app a new way, today!