VS 2013 Isolated Shell generates an error when attempting to load a custom project type

After adding support for a custom project type to a VS 2013 Isolated Shell project, you may encounter the following error dialog.

 

BeginBuild

 

This error message is displayed when the the isolated shell instance loads the wrong version of msbuild assemblies. In particular, the isolated shell’s .exe.config file (in my specific case, my MyShellony.exe.config) was generated without some critical binding redirects for some msbuild components. Consequently, my isolated shell instance, would display the above message whenever I attempted to load an instance of my custom project type.

This is a known bug in the VS 2013 Isolated Shell project template.

To fix this issue, you will need to add the following binding redirects in the <assemblyBinding> section of your shell’s .exe.config (located in the Isolated Shell project’s “Source Files” folder)

 

   <dependentAssembly>
     <assemblyIdentity name="Microsoft.Build.Framework" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
     <bindingRedirect oldVersion="2.0.0.0-4.0.0.0" newVersion="12.0.0.0" />
   </dependentAssembly>

   <dependentAssembly>
     <assemblyIdentity name="Microsoft.Build" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
     <bindingRedirect oldVersion="2.0.0.0-4.0.0.0" newVersion="12.0.0.0" />
   </dependentAssembly>

   <dependentAssembly>
     <assemblyIdentity name="Microsoft.Build.Engine" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
     <bindingRedirect oldVersion="2.0.0.0-4.0.0.0" newVersion="12.0.0.0" />
   </dependentAssembly>