Often on a new project, I want to publish directly from Visual Studio into Azure using a web deploy. When I'm performing a web deployment from Visual Studio, I frequently bump into issues that are caused by missing release targets for the
web.config files within the project. Lets us say we are doing a deploy using
release as the release target. If a release version of a
web.config does not exist Visual Studio complains, e.g.
These issues are not a result of the websites main
web.config file, I'm talking about the other ones. The 'web.config' files that get installed by third-party Umbraco packages. Most packages are installed within of
App_Plugins and you will likely see these transform errors resulting from this folder. Packages, where I have experienced this issue, include, Articulate and LeBlender. I have even had this issue with some of the Umbraco install files. For example, after installing the plug-ins mentioned above, these additional
web.config files will be added to your project:
Having to create a release version for each of these is a chore. The build will break each time you add a new package. The good news is that preventing these issues from happening is really simple. In this tutorial, I will show you exactly how to configure your Visual Studio to make these types of deployments easier 😊
When Visual Studio does a web deployment, by default it uses something called
auto-parameterization to perform transforms on all config files defined in your solution. The most common configuration everyone uses is the 'release'. transform When auto-parameterization occurs Visual Studio looks for all the
web.config files within your project, it will then will attempt to apply environment specific transformations onto them. If you do not have a specific release version of a config file, e.g.
web.release.config, Visual Studio will not know how to apply
auto-parameterization on it and will fail the deployment 😢
To fix this issue you can update your [projectname].wpp.targets file. Either add - or if it's already there, update - the following config:
After saving your change, it's best to close your solution down and re-open. Now when you try to publish it should go through without any complaints, enjoy!