How to resolve "Server Error in '/' Application" error? - asp.net

I am trying to deploy an asp.net application in our server while I am receiving the following error.
Server Error in '/' Application.
________________________________________
Configuration Error
Description: An error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately.
Parser Error Message: It is an error to use a section registered as allowDefinition='MachineToApplication' beyond application level. This error can be caused by a virtual directory not being configured as an application in IIS.
Source Error:
Line 63: ASP.NET to identify an incoming user.
Line 64: -->
Line 65: <authentication mode="Windows"/>
Line 66: <!--<forms loginUrl="~/SCR.UI/Login1.aspx"/>
Line 67: </authentication>-->
Source File: D:\BarclaysPayamentManagementSystem\scr.ui\web.config Line: 65
What is the reason and how to resolve it?
Please help

You may get this error when trying to browse an ASP.NET application.
The debug information shows that "This error can be caused by a virtual directory not being configured as an application in IIS."
However, this error occurs primarily out of two scenarios.
When you create an new web application using Visual Studio .NET, it automatically creates the virtual directory and configures it as an application. However, if you manually create the virtual directory and it is not configured as an application, then you will not be able to browse the application and may get the above error. The debug information you get as mentioned above, is applicable to this scenario.
To resolve it, right click on the virtual directory - select properties and then click on
"Create" next to the "Application" Label and the text box. It will automatically create the "application" using the virtual directory's name. Now the application can be accessed.
When you have sub-directories in your application, you can have web.config file for the sub-directory. However, there are certain properties which cannot be set in the web.config of the sub-directory such as authentication, session state (you may see that the error message shows the line number where the authentication or session state is declared in the web.config of the sub-directory). The reason is, these settings cannot be overridden at the sub-directory level unless the sub-directory is also configured as an application (as mentioned in the above point).
Mostly, we have the practice of adding web.config in the sub-directory if we want to protect access to the sub-directory files (say, the directory is admin and we wish to protect the admin pages from unauthorized users).

I had this error when the .NET version was wrong - make sure the site is configured to the one you need.
See aspnet_regiis.exe for details.

I had this error with VS 2015, in my case going to the project properties page, Web tab, and clicking on Create Virtual Directory button in Servers section solved it

It sounds like the admin has locked the "authentication" node of the web.config, which one can do in the global web.config pretty easily. Or, in a nutshell, this is working as designed.

I just had the same issue on visual studio 2012. For a internet application project.
How to resolve “Server Error in '/' Application” error?
Searching for answer I came across this post, but none of these answer help me.
Than I found another post here on stackoverflow that has the answer for resolving this issue.
Specified argument was out of the range of valid values. Parameter name: site

When you create an new web application using visual studio.net, it automatically creates the virtual directory and configures it as an application. However, if you manually create the virtual directory and it is not configured as an application, then you will not be able to browse the application and may get the above error.

I also got this error when I moved an entity framework edmx file into a "Models" sub-folder. This automatically changed the metadata in my connection string setting in my app.config.
So before the connection string changed... it looked something like this:
<connectionStrings>
<add name="MyDbEntities" connectionString="metadata=res://*/MyDb.csdl|res://*/MyDb.ssdl|res://*/MyDb.msl; ...
</connectionStrings>
And after... it added the "Models" subfolder name (btw... it also added "Models" to the namespace for the EF classes generated) and the connection string now looks something like this:
<connectionStrings>
<add name="MyDbEntities" connectionString="metadata=res://*/Models.MyDb.csdl|res://*/Models.MyDb.ssdl|res://*/Models.MyDb.msl; ...
</connectionStrings>
I have a website project that references this Entity Framework DB project. But its web.config did not have the updates to the connection string... and that's when I started getting the compilation error being discussed here.
To fix this error, I updated the connection string in the web.config in the website project to match the app.config in my EntityFramework project.

vs2017 just added in these lines to csproj.user file
<IISExpressAnonymousAuthentication>enabled</IISExpressAnonymousAuthentication>
<IISExpressWindowsAuthentication>enabled</IISExpressWindowsAuthentication>
<IISExpressUseClassicPipelineMode>false</IISExpressUseClassicPipelineMode>
with these lines in Web.config
<compilation debug="true" targetFramework="4.5" />
<httpRuntime targetFramework="4.5" maxRequestLength="1048576" />
<identity impersonate="false" />
<authentication mode="Windows" />
<authorization>
<allow users="yourNTusername" />
<deny users="?" />
</authorization>
And it worked

I opened the Properties window for the website project in question and changed Windows Authentication to "Enabled" and that resolved my issue in VS 2019.

The error message is quite clear: you have a configuration element in a web.config file in a subfolder of your web app that is not allowed at that level - OR you forgot to configure your web application as IIS application.
Example: you try to override application level settings like forms authentication parameters in a web.config in a subfolder of your application

Related

Server Error in '/admin' Application....An application error occurred on the server

I have 2 projects in my solution (ASP.NET MVC 5), one for the client and one for the admin. Both projects are running fine locally. But when I publish the admin project (which is located in the path: root/admin in my hosting) I'm getting the next error:
An application error occurred on the server. The current custom error
settings for this application prevent the details of the application
error from being viewed remotely (for security reasons). It could,
however, be viewed by browsers running on the local server machine.
Something to know, I have added:
<system.web>
<customErrors mode="Off"/>
</system.web>
But i don't see any specific error and also I have configured the virtual directory root/admin as an application in IIS.
I know this is a common error but I don't see any solution like this one: Server Error in '/' Application. ASP.NET
The entry "Data.Models.ApplicationDbContext" has already been added.
That along with the Source File being the web.config, I'd look to see if that ApplicationDbContext is in the web.config twice and causing an issue in loading the application.
In the error message above is this reference:
e:\Web\deliver4\admin\web.config line: 18
So, what are around line 18 in that web.config file?
I solved the problem with this https://stackoverflow.com/a/6679286/2958543
<remove name="Data.Models.ApplicationDbContext" />
after my connectionString.

ASP.NET Publish FTP Issues

I am going round and round with my ASP.NET hosting company. I have created a simple web app using Visual Studio 2012 .NET Framework 4.5
At first I tried to use web deploy to publish my website, not even with their documentation could I get this accomplished. Then they had me use the FTP option to publish. That worked good, I could publish to the root of my domain. But when I tried to publish to a different folder domain.com/apps/root/thisapp, Visual Studio would publish without error, but when I navigated to the URL, I recived an 500 server error.
Now I was asked to just use an FTP program and copy all my files to the directory that I want the site in, so I did and now I get an "Configuration Error" on my web.config file:
Configuration Error
Description: An error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately.
Parser Error Message: It is an error to use a section registered as allowDefinition='MachineToApplication' beyond application level. This error can be caused by a virtual directory not being configured as an application in IIS.
Source Error:
Line 21: </namespaces>
Line 22: <controls><add assembly="Microsoft.AspNet.Web.Optimization.WebForms" namespace="Microsoft.AspNet.Web.Optimization.WebForms" tagPrefix="webopt" /></controls></pages>
Line 23: <authentication mode="Forms">
Line 24: <forms loginUrl="~/Account/Login" timeout="2880" defaultUrl="~/" />
Line 25: </authentication>
I don't get this error locally, nor when the site was published at the root of my domain. I am running out of ideas, and seems my host is too. Does anyone know how you publish your site to any directory you want on an ASP.NET server?
Also could someone help me with narrowing down what is causing this error? The hosting support, says it is the code or my project. However I don't think this is so, since it works fine locally and at the root of domain. I think there is an issue with IIS or permissions on my folder(s).
Web.config has certain sections that are only allowable at specific levels in the IIS hierarchy. The basic levels are Machine, Application, and Everywhere (for specific definitions, see here).
The issue is that your web.config contains some sections that are only allowed in the Machine or Application levels. Machine is pretty much off limits (unless you own the machine, but you have a hosting provider). Application requires that your folder be either the root of your IIS site, or a subdirectory marked as an Application in IIS (possibly relevant link).
Try asking your provider how you can specify a directory to be marked as an Application. If they don't allow this, you'll have to dig around the web.config and find which settings have this level of security set.
Not sure if by "web deploy" you mean Web Matrix 3 or not. If not, it should solve your problem. I was having that problem by hosting company and I was using an ASP.NET MVC 4 internet App. http://www.microsoft.com/web/webmatrix/
Hope this helps,
Rock
You should disable web.config inheritance:
You could read more at http://msdn.microsoft.com/en-us/library/system.configuration.sectioninformation.inheritinchildapplications(v=vs.110).aspx

Server Error in '/' Application. ASP.NET

Greeting,
I developed a website using ASP.Net 3.5 and C#. It is working good with Visual Stdio 2010.
I uploaded my website to my domain under the public folder.
First time I lunched my website for testing (http://wecoders.com/Habib_cuizine/Gallery.aspx)
I would revive (Server Error in '/' Application.)
Runtime Error Description: An
application error occurred on the
server. The current custom error
settings for this application prevent
the details of the application error
from being viewed remotely (for
security reasons). It could, however,
be viewed by browsers running on the
local server machine.
Details: To enable the details of this
specific error message to be viewable
on remote machines, please create a
tag within a
"web.config" configuration file
located in the root directory of the
current web application. This
tag should then have
its "mode" attribute set to "Off".
<!-- Web.Config Configuration File -->
>
> <configuration>
> <system.web>
> <customErrors mode="Off"/>
> </system.web> </configuration>
Notes: The current error page you are
seeing can be replaced by a custom
error page by modifying the
"defaultRedirect" attribute of the
application's
configuration tag to point to a custom
error page URL.
> <!-- Web.Config Configuration File -->
>
> <configuration>
> <system.web>
> <customErrors mode="RemoteOnly"
> defaultRedirect="mycustompage.htm"/>
> </system.web> </configuration>
To fix this error I added to the webConfig file inside tag:
> <customErrors mode="Off"/>
After that when I lunch the website I would receive a new error as listed bellow:
Configuration Error
Description: An error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately.
Parser Error Message: It is an error to use a section registered as allowDefinition='MachineToApplication' beyond application level. This error can be caused by a virtual directory not being configured as an application in IIS.
Source Error:
Line 35: ASP.NET to identify an incoming user.
Line 36: -->
Line 37: <authentication mode="Windows" />
Line 38: <!--
Line 39: The section enables configuration
Source File: \10.0.40.35\wecoders.com\public\habib_cuizine\web.config Line: 37
Please advice how to fix this error and how configure my website which developed using Visual Stdio 2010 to be published in the internet.
Regards,
The key information in this error is this line:
This error can be caused by a virtual
directory not being configured as an
application in IIS.
In IIS, you can have several applications, but they must be configured as an application. Generally, when you create a web project it maps directly to an IIS application.
Check with your hosting service on how to create an IIS application for your web app.
Edit - added
If this is on your server, you can set this up yourself following the instructions in #Frazell Thomas's answer. He beat me to finding that link. To save yourself some reading, you should be able to focus in on the Creating Virtual Directories and Local Web Sites section.
right-click virtual directory (e.g. MyVirtualDirectory)
click convert to application.
Have you configured the virtual directory as an ASP.NET application for the right framework version?
See IIS Setup
Look at these two excerpts:
I uploaded my website to my domain under the public folder.
and
This error can be caused by a virtual directory not being configured as an application in IIS.
It's pretty clear to me that you did exactly what you said you did, and no more, i.e. you transfered the files to the web server, but nothing else. You need to configure that public folder as a virtual directory in IIS as the error is telling you, or it's just not going to work.
Looks like you have <authentication mode="Windows" /> in your web.config file but your hosting provider won't let you use that. Just remove that line.
I got the same problem and my solution was to remove webconfig file from the directory.. then it works..
http://www.velocityreviews.com/forums/t123353-configuration-error.html
If you want to use inetpub/wwwroot/aspnet as your application, remove this
line :
Line 26:
and any other lines which define MachineToApplication beyond application
level
If you want to use d:\inetpub\wwwroot\aspnet\begin\chapter02\ as your
application,
create an IIS Application which points to
d:\inetpub\wwwroot\aspnet\begin\chapter02\
maybe you can refer link above.
For my application, my web.config store in d:\inetpub\wwwroot\aspnet\begin\chapter02\
and when i move the web.config to d:\inetpub\wwwroot\aspnet and the problem is solve.
Please check also does your application have two web.config file.
Looks like this is a very generic message from iis.
in my case we enabled integrated security on web config but forgot to change IIS app pool identity.
Things to check -
go to event viewer on your server and check exact message.
-make sure your app pool and web config using same security(E.g Windows,integrated)
Note: this may not help every time but this might be one of the reason for above error message.
I have the same issue, my application was running on amazon vps, lately i found that bin folder had multiple copies of dll's ...
After removing those copies of dlls like entityframework(copy1).dll, errors were gone....
May be some one will get help...cheers
Removing the web.config-file from the IIS Directory Folder solves the problem.
Try removing the contents of the <compilers> tag in the web.config file. Depending on who you're hosting with, some don't allow the compiler in production.
Your application is trying to compile when it is called and their servers won't allow it.
This wont necessarily fix the problem...but it will tell you what the real problem is. Its currently trying to use a custom error page that doesn't exist.
If you add this line to Web.config (under system.web tag) it should give you the real error.
<system.web>
<!-- added line -->
<customErrors mode="Off"/>
<!-- added line -->
</system.web>
If your project is linq with Sql Database.
Then Simply Check your System Services and Start sql Server Agent Service.
Now your problem is solved.
Just check connectivity between SQL And your App (if you used SQL)

Full Trust doesn't seem to work with WebMatrix Web.config file

Well, I've been told by my host that I need to enable FullTrust in my webmatrix website because I keep getting an error. (BUT, I have used a different host, and everything on my site works perfectly with them without modification). Anyway, I used the code my host suppllies in their KB, but that just generates a different error. So I looked up full trust on google and used about 5 different code samples to enable full trust but they all generate errors! even the ones on MSDN. And googling "Full Trust WebMatrix" doesn't really bring anything helpful either.
How can I successfully add full trust to a web.config file that is made using WebMatrix?
Any help is greatly appreciated!
Thank you
One of about 20 different errors:
HTTP Error 500.19 - Internal Server
Error
The requested page cannot be accessed
because the related configuration data
for the page is invalid.
Detailed Error Information:
Module
IIS Web Core
Notification
Unknown
Handler
Not yet determined
Error Code
0x8007000d
Config Error
Config File
\?\C:\Users\Jason\Documents\My Web
Sites\OSF\web.config
Requested URL
http://localhost:40625/Default.cshtml
Physical Path
Logon Method
Not yet determined
Logon User
Not yet determined
Request Tracing Directory
C:\Users\Jason\Documents\IISExpress\TraceLogFiles\
Config Source: -1:
0:
More Information: This error occurs
when there is a problem reading the
configuration file for the Web server
or Web application. In some cases, the
event logs may contain more
information about what caused this
error.
If you see the text "There is a
duplicate
'system.web.extensions/scripting/scriptResourceHandler'
section defined", this error is
because you are running a .NET
Framework 3.5-based application in
.NET Framework 4. If you are running
WebMatrix, to resolve this problem, go
to the Settings node to set the .NET
Framework version to ".NET 2". You can
also remove the extra sections from
the web.config file. View more
information »
The web.config file:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<securityPolicy>
<trust level="Full" />
</securityPolicy>
<defaultDocument>
<files>
<add value="Default.cshtml" />
</files>
</defaultDocument>
</system.webServer>
</configuration>
securityPolicy or trust element in system.web element.
securityPolicy Element (ASP.NET Settings Schema)
trust Element (ASP.NET Settings Schema)

ASP.NET Error when trying to access page

Im getting this odd error:
Any help would be great?
This is the error:
Server Error in '/Rugby' Application.
Configuration Error
Description: An error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately.
Parser Error Message: It is an error to use a section registered as allowDefinition='MachineToApplication' beyond application level. This error can be caused by a virtual directory not being configured as an application in IIS.
Source Error:
Line 33:
Line 34:
Line 35: <roleManager enabled="true">
Line 36:
Line 37: <providers>
Source File: C:\Websites\ADHS\andyhollis.co.uk\rugby\admin\web.config
Line: 35
Show Additional Configuration Errors:
It is an error to use a section registered as allowDefinition='MachineToApplication' beyond application level. This error can be caused by a virtual directory not being configured as an application in IIS.
(C:\Websites\ADHS\andyhollis.co.uk\rugby\admin\web.config
line 43)
It is an error to use a section registered as allowDefinition='MachineToApplication' beyond application level. This error can be caused by a virtual directory not being configured as an application in IIS.
(C:\Websites\ADHS\andyhollis.co.uk\rugby\admin\web.config
line 67)
Version Information: Microsoft .NET
Framework Version:2.0.50727.3053;
ASP.NET Version:2.0.50727.3053
This sometimes happens when you have a Web.config in a subdirectory of the application's root.
Alternatively, you may need to go into the virtual directory and configure it correctly as an application (as noted by the error message).
It could be because you've accidentally uploaded a web.config to a non-root directory, or because the directory containing the web.config isn't configured as an application root.
As it says in the error message:
"This error can be caused by a virtual directory not being configured as an application in IIS."
Configure it as an application, and it will be fine.
IIS 5/6:
http://msdn.microsoft.com/en-us/library/zwk103ab.aspx
IIS 7:
http://mvolo.com/blogs/serverside/archive/2007/07/12/Creating-IIS7-sites_2C00_-applications_2C00_-and-virtual-directories.aspx
Basically, ASP.NET allows for hierarchical configuration files, starting from machine.config and numerous security based web.config files tucked away in the framework's config folder, and then going from the root of your web application down the subfolders.
However, some elements can only be overriden in the root web.config for each application. These include (but aren't limited to):
Authentication
Profile
RoleManagement
SecurityPolicy
SiteMap
The full list of web.configuration elements can be found under here, and each one has a section Element Information, with a subsection "Configurable locations". If it says "Virtual or physical directory–level Web.config" then you can have the element anywhere.
As this is presumably the admin screens of your application, you probably don't want to make the directory an application in it's own right - if you do you'd lose access to the main application below it, which isn't what you'd want, and you'll possibly also have to have a seperate /bin folder under there with the admin .dll in.
You would be better off configuring the RoleManagement in the root web.config of your site, (either at / or if Rugby is an application, then at /Rugby) and only having the elements you need to be different (e.g. the autherization element to lock out users) in the web.config in /Rugby/Admin.
For example, on one of my sites, the web config in the admin folder is just:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.web>
<authorization>
<!-- Allow users in role "Editor" -->
<allow roles="Editor" />
<!-- Block everyone else -->
<deny users="*" />
</authorization>
</system.web>
</configuration>
It looks like the error you didn't post has changed. Now it's "500 Internal Server Error". That usually means an unhandled exception. Look in the Windows Event Log to see what happened.

Resources