AI OnAI Off
I think this is because your virtual directory has dots(.). I've raised a support case with EPiServer to investigate this.
Hi,
This has been registered as bug now.
Bug #105762: ArgumentOutOfRangeException when application path has dot (.)
Dear EPIServer Team,
I have a trouble with using IIS web server, if I use project url http://localhost/Company.Site.WebUI, I have troubles, described bellow in the steps:
1) Create empty EPIServer MVC site Company.Site.WebUI;
get via Nuget
<packages>
<package id="Castle.Core" version="3.2.0" targetFramework="net40" />
<package id="Castle.Windsor" version="3.2.0" targetFramework="net40" />
<package id="EPiServer.CMS.Core" version="7.0.586.16" targetFramework="net40" />
<package id="EPiServer.Framework" version="7.0.859.16" targetFramework="net40" />
<package id="Microsoft.AspNet.Web.Optimization" version="1.1.0" targetFramework="net40" />
<package id="Microsoft.Web.Infrastructure" version="1.0.0.0" targetFramework="net40" />
<package id="Newtonsoft.Json" version="5.0.6" targetFramework="net40" />
<package id="structuremap" version="2.6.4.1" targetFramework="net40" />
<package id="WebGrease" version="1.3.0" targetFramework="net40" />
</packages>
2) Go to Project Properties, Web tab, Section "Servers", set "Use Local IIS Web server", project url http://localhost/Company.Site.WebUI
Create Virtual Directory.
Set siteUrl="http://localhost/Company.Site.WebUI/" in siteSettings.
3) Start the site
4) Login to admin
5) See the error page:
-----------------------------------------------------------------------------------
Server Error in '/Company.Site.WebUI' Application.
startIndex cannot be larger than length of string.
Parameter name: startIndex
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.ArgumentOutOfRangeException: startIndex cannot be larger than length of string.
Parameter name: startIndex
Source Error:
The source code that generated this unhandled exception can only be shown when compiled in debug mode. To enable this, please follow one of the below steps, then request the URL:
1. Add a "Debug=true" directive at the top of the file that generated the error. Example:
<%@ Page Language="C#" Debug="true" %>
or:
2) Add the following section to the configuration file of your application:
<configuration>
<system.web>
<compilation debug="true"/>
</system.web>
</configuration>
Note that this second technique will cause all files within a given application to be compiled in debug mode. The first technique will cause only that particular file to be compiled in debug mode.
Important: Running applications in debug mode does incur a memory/performance overhead. You should make sure that an application has debugging disabled before deploying into production scenario.
Stack Trace:
[ArgumentOutOfRangeException: startIndex cannot be larger than length of string.
Parameter name: startIndex]
System.String.InternalSubStringWithChecks(Int32 startIndex, Int32 length, Boolean fAlwaysCopy) +14178915
System.String.Substring(Int32 startIndex) +19
EPiServer.Framework.Localization.ResourceKeyHandler.ResolveContextBasedKey(String resourceKey) +261
EPiServer.Framework.Localization.ResourceKeyHandler.NormalizeKey(String resourceKey) +102
EPiServer.Framework.Localization.LocalizationService.NormalizeKey(String resourceKey) +53
EPiServer.Framework.Localization.LocalizationService.GetStringByCulture(String resourceKey, String fallback, CultureInfo culture) +101
EPiServer.UI.WebControls.SystemPrefix.Render(HtmlTextWriter output) +550
System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter) +150
System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) +249
System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter) +150
System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) +249
System.Web.UI.HtmlControls.HtmlForm.RenderChildren(HtmlTextWriter writer) +395
System.Web.UI.HtmlControls.HtmlContainerControl.Render(HtmlTextWriter writer) +49
System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter) +111
System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) +249
System.Web.UI.HtmlControls.HtmlContainerControl.Render(HtmlTextWriter writer) +49
System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter) +150
ASP.episerver_cms_masterpages_episerverui_master.__Render__control1(HtmlTextWriter __w, Control parameterContainer) in D:\VSProjects\EpiServer\Development\Sources\Company.Site.WebUI\EPiServer\cms\MasterPages\EPiServerUI.Master:10
System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) +131
System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter) +150
System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) +249
System.Web.UI.Page.Render(HtmlTextWriter writer) +40
System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter) +150
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +5363
Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.0.30319.18045
--------------------------------------------------------------------------------------------------------
Then
1) Check up all the debugger's settings under [Main Menu] -> Debug -> Exceptions.
2) Start the project via debug
3) Browse and find EPiServerUI.Master
4) Get the error "startIndex cannot be larger than length of string"
5) The toruble is