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:BarclaysPayamentManagementSystemscr.uiweb.config Line: 65
What is the reason and how to resolve it?
Please help
Answers:
Thank you for visiting the Q&A section on Magenaut. Please note that all the answers may not help you solve the issue immediately. So please treat them as advisements. If you found the post helpful (or not), leave a comment & I’ll get back to you as soon as possible.
Method 1
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.configof 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).
Method 2
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.
Method 3
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
Method 4
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.
Method 5
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
Method 6
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.
Method 7
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.
Method 8
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
Method 9
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.
Method 10
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
All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0