I was getting the error while trying to run my custom aspx deployed within microsoft crm using sitemap !
If I was giving the absolute path within the site map
<SubArea Id=“nav_home“ ResourceId=“Homepage_Home“
The page was working fine!
But on giving the relative path
Url =“/ISV/BHC/ActivitiesOverview.aspx” i was getting the error.
One thing that changes is the url, when we give relative path it appends the organization name in the url. Url becomes something like this
But then there were few other pages that were working fine, and i was getting this error on only one page.
After spending some time on that, i realized that this particular line of code within the page was the reason for the error
i.e. reading from the config file.
Now this information was within the web.config of the custom application deployed within CRM’s isv folder, but now with orgname appended it was trying to look for the same information in the web.config of the CRM itself ( crmweb/web.config )
It shows that “any custom pages added to the navigation using site map has to go through the virtual path provider” because of that it was not able to get the web.config of the custom application.
In case of custom pages used within isv.config and iframe, this doesn’t happen (i.e. it doesn’t pass throught virtual path provider so no orgname is appended to them )
Virtual path provider is the concept introduced in asp.net 2.0 and it is implemented in SharePoint as well, where we have certain pages called application pages within layouts folder of the 12 hive, they remain same for all the web application created in sharepoint i.e. same copy of the page is used for serving n number of web application created in SharePoint.