Visual Studio 2013 and ASP.NET Web Configuration Tool
Visual StudioVisual Studio-2013Visual Studio Problem Overview
I'm using Visual Studio 2013 and as you probably know there is no ASP.NET Web Configuration Tool. I wanted as always make fast roles etc. I tried enable it using this article: http://blogs.msdn.com/b/webdev/archive/2013/08/19/asp-net-web-configuration-tool-missing-in-visual-studio-2013.aspx?PageIndex=2#comments . But I'm getting "Invalid application path" error. Any solutions to this error or workarounds?
Visual Studio Solutions
Solution 1 - Visual Studio
On the console, copy and paste exactly what is written here:
"C:\Program Files\IIS Express\iisexpress.exe" /path:c:\windows\Microsoft.NET\Framework\v4.0.30319\ASP.NETWebAdminFiles /vpath:"/asp.netwebadminfiles" /port:8089 /clr:4.0 /ntlm
It doesn't matter if you open cmd.exe with administrator privileges or not, just copy paste the above code on the console and don't exit with "q" until you're done!
Then open a browser window and write this on the address bar:
http://localhost:8089/asp.netwebadminfiles/default.aspx?applicationPhysicalPath=[Exact_Project_Path]\&applicationUrl=/
Be sure to copy & paste your project path from windows explorer as it is, it will work ;)
I hope Microsoft adds this back to the next update of VS2013! It's not convenient for anybody to copy & paste codes around just to handle membership like we did in the past...
Hope that helps!
IMPORTANT EDIT: I am sorry, I just realized that it matters if you start the console with administrator privileges. Don't do that. If console has administrator rights, the Web Configuration Tool shows this error on the Security page:
> There is a problem with your selected data store. This can be caused by an invalid server name or credentials, or by insufficient > permission. It can also be caused by the role manager feature not > being enabled. Click the button below to be redirected to a page where > you can choose a new data store. The following message may help in > diagnosing the problem: Access to the path > 'C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET > Files\root\1c3fef5c\2180c7f9\hash' is denied.
Solution 2 - Visual Studio
If you're being asked for username and password, do this:
- Open up Firefox and type in about:config as the url
- In the Filter Type in "ntlm"
- Double click "network.automatic-ntlm-auth.trusted-uris" and type in "localhost" and hit enter
source: http://forums.codecharge.com/posts.php?post_id=81959
Solution 3 - Visual Studio
This did work for me till creating a security role and then a user but then when I try to run my website get the following message HTTP Error 403.14 - Forbidden
The Web server is configured to not list the contents of this directory. Most likely causes: •A default document is not configured for the requested URL, and directory browsing is not enabled on the server.
Things you can try: •If you do not want to enable directory browsing, ensure that a default document is configured and that the file exists. • Enable directory browsing. 1.Go to the IIS Express install directory. 2.Run appcmd set config /section:system.webServer/directoryBrowse /enabled:true to enable directory browsing at the server level. 3.Run appcmd set config ["SITE_NAME"] /section:system.webServer/directoryBrowse /enabled:true to enable directory browsing at the site level.
•Verify that the configuration/system.webServer/directoryBrowse@enabled attribute is set to true in the site or application configuration file.
Solution 4 - Visual Studio
There is a open source utility named "Credentials Manager for WCF" which I downloaded from here. It needs below configurations to work.
For configurations, you should edit configuration file of project "CredentialServiceHost" as follows:
*<?xml version="1.0"?>
<configuration>
<connectionStrings>
<clear />
<add name="AspNetDbConnectionString" connectionString="[Your data base connection string]" providerName="System.Data.SqlClient"/>
<add name="LocalSqlServer" connectionString="[Your data base connection string]" providerName="System.Data.SqlClient"/>
</connectionStrings>
<system.web>
<authentication mode="None"/>
<roleManager enabled="true"/>
</system.web>
<system.serviceModel>
<services>
<service name="AspNetSqlProviderService" behaviorConfiguration="MEX Enabled">
<endpoint address="" binding="wsHttpBinding" bindingConfiguration="TransactionalWS" contract="IApplicationManager"/>
<endpoint address="" binding="wsHttpBinding" bindingConfiguration="TransactionalWS" contract="IMembershipManager"/>
<endpoint address="" binding="wsHttpBinding" bindingConfiguration="TransactionalWS" contract="IPasswordManager"/>
<endpoint address="" binding="wsHttpBinding" bindingConfiguration="TransactionalWS" contract="IRoleManager"/>
<endpoint address="" binding="wsHttpBinding" bindingConfiguration="TransactionalWS" contract="IUserManager"/>
</service>
</services>
<bindings>
<wsHttpBinding>
<binding name="TransactionalWS" transactionFlow="true">
<reliableSession enabled="True"/>
</binding>
</wsHttpBinding>
</bindings>
<behaviors>
<serviceBehaviors>
<behavior name="MEX Enabled">
<serviceMetadata httpGetEnabled="true"/>
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup></configuration>
and for project "CredentialsManager" you should use following configuration:
<?xml version="1.0"?>
<configuration>
<configSections>
<sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<section name="CredentialsManagerClient.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false"/>
</sectionGroup>
</configSections>
<applicationSettings>
<CredentialsManagerClient.Properties.Settings>
<setting name="AspNetSqlProviderService" serializeAs="String">
<value>http://localhost:8000</value>
</setting>
</CredentialsManagerClient.Properties.Settings>
</applicationSettings>
<system.serviceModel>
<client>
<endpoint address="http://localhost:8000/" binding="wsHttpBinding" bindingConfiguration="TransactionalWS" contract="IApplicationManager"/>
<endpoint address="http://localhost:8000/" binding="wsHttpBinding" bindingConfiguration="TransactionalWS" contract="IMembershipManager"/>
<endpoint address="http://localhost:8000/" binding="wsHttpBinding" bindingConfiguration="TransactionalWS" contract="IPasswordManager"/>
<endpoint address="http://localhost:8000/" binding="wsHttpBinding" bindingConfiguration="TransactionalWS" contract="IRoleManager"/>
<endpoint address="http://localhost:8000/" binding="wsHttpBinding" bindingConfiguration="TransactionalWS" contract="IUserManager"/>
</client>
<bindings>
<wsHttpBinding>
<binding name="TransactionalWS" transactionFlow="true">
<reliableSession enabled="True"/>
</binding>
</wsHttpBinding>
</bindings>
</system.serviceModel>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup></configuration>
Run the "CredentialsServiceHost.exe" file as an administrator then run the "CredentialsManager.exe" file.