November Happy Hour will be moved to Thursday December 5th.

Jeff Wallace
Dec 11, 2012
  5636
(1 votes)

Visual Studio Extension – Error When Creating a New Site

Based on EPiServer 7, Windows Server 2008 SP2 Web Edition, and IIS Express 7.5

EPiServer provided the Visual Studio Extension along with the EPiServer 7 release. Using this extension in its entirety requires installation of IIS Express. A couple of us in the US office, all using Window Server 2008, have seen an error when attempting to create a new project. The error seems to be more of a Microsoft issue than an EPiServer one, and related to various versions of operating systems or software, as most people will never see the problem at all. While I have my own theories, rather than troubleshooting every detail I’ve decided to provide the background and workaround. I welcome comments from others who wish to share their expertise.

The error:

image


If you open up the applicationhost.config file mentioned in the error you will find an applicationPools section that looks something like what follows, with a few lines referencing the CLRConfigFile attribute.

   1: <system.applicationHost>
   2:     <applicationPools>
   3:         <add name="Clr4IntegratedAppPool" managedRuntimeVersion="v4.0" managedPipelineMode="Integrated" CLRConfigFile="%IIS_USER_HOME%\config\aspnet.config" autoStart="true" />
   4:         <add name="Clr4ClassicAppPool" managedRuntimeVersion="v4.0" managedPipelineMode="Classic" CLRConfigFile="%IIS_USER_HOME%\config\aspnet.config" autoStart="true" />
   5:         <add name="Clr2IntegratedAppPool" managedRuntimeVersion="v2.0" managedPipelineMode="Integrated" CLRConfigFile="%IIS_USER_HOME%\config\aspnet.config" autoStart="true" />
   6:         <add name="Clr2ClassicAppPool" managedRuntimeVersion="v2.0" managedPipelineMode="Classic" CLRConfigFile="%IIS_USER_HOME%\config\aspnet.config" autoStart="true" />
   7:         <add name="UnmanagedClassicAppPool" managedRuntimeVersion="" managedPipelineMode="Classic" autoStart="true" />
   8:         <applicationPoolDefaults managedRuntimeLoader="v4.0" >
   9:             <processModel/>
  10:         </applicationPoolDefaults>
  11:     </applicationPools>
  12:  
  13: ...
  14:  
  15: </system.applicationHost>

You can find more information on the CLRConfigFile attribute in various MSDN doc. I also found a blog from Scott Forsyth which has a pretty good summary:

“In Windows Server 2008 R2 (IIS 7.5) support was added to allow different settings per application pool. Where previously the settings had to be applied to the whole framework version, now they can be specific to each app pool. It does this by allowing you to create a custom aspnet.config file per app pool. You can save them wherever you want on disk and IIS will pick them up when the app pool starts.

This is supported by a new attribute for the IIS app pool called CLRConfigFile mentioned in this MSDN article.  There is no default value which means that if you don’t set it, it will read the framework’s aspnet.config file and not look for additional files.”

What does this mean for you and I? Well, personally I don’t need different settings per application pool so to fix the error mentioned I simply removed the references to it in my applicationHost.config. For example, for each line that referenced CLRConfigFile I deleted the parts that looked like the following yellow highlighted area.

<add name="Clr4IntegratedAppPool" managedRuntimeVersion="v4.0" managedPipelineMode="Integrated" CLRConfigFile="%IIS_USER_HOME%\config\aspnet.config" autoStart="true" />

That’s it! Error fixed. The VS Integration will now rely on default application pool settings. Should you need to use custom ones, please review the MSDN documentation on getting this set up properly.

Special thanks to Eddy Dugan for doing some investigation as well and being the first to hit delete on that yellow blob. Smile

Dec 11, 2012

Comments

Magnus Rahl
Magnus Rahl Dec 12, 2012 02:02 PM

You can also fix this problem by applying the hotfix for this Microsoft KB article:

http://support.microsoft.com/kb/2290617

The hotfix adds support for the IIS 7.5 interfaces so you can use IIS Express 7.5 on Windows versions that only have IIS 7.

Dec 12, 2012 04:40 PM

Thanks for sharing Magnus! I knew some additional feedback would come quickly for the benefit of the community. :) I'll test this out when I restore my VM.

Please login to comment.
Latest blogs
Force Login to Optimizely DXP Environments using an Authorization Filter

When working with sites deployed to the Optimizely DXP, you may want to restrict access to the site in a particular environment to only authenticat...

Chris Sharp | Dec 2, 2024 | Syndicated blog

Video Guides: Image Generation Features in Optimizely

The AI Assistant for Optimizely now integrates seamlessly with Recraft AI, providing advanced image generation capabilities directly within your...

Luc Gosso (MVP) | Dec 1, 2024 | Syndicated blog

DAM integration new major version, performance improvements and Library Picker folder selection

As you might already have seen we have decided to delist the EPiServer.CMS.WelcomeIntegration version 1.4.0 where we introduced Graph support....

Robert Svallin | Nov 29, 2024

Adding Geolocation Personalisation to Optimizely CMS with Cloudflare

Enhance your Optimizely CMS personalisation by integrating Cloudflare's geolocation headers. Learn how my Cloudflare Geo-location Criteria package...

Andy Blyth | Nov 26, 2024 | Syndicated blog