2009-09-18 7 views
3

Je du code derrière j'ai besoin de mettre à jour mon web.config. Cela n'a jamais été un problème avant, mais je reçois une erreur récemment. Les erreurs indiquent "Impossible de mapper le chemin"/"." Les lignes commentées étaient différentes variations de ce que j'ai essayé.Code Behing mise à jour web.config mappe problème

//Configuration myWebConfig = WebConfigurationManager.OpenWebConfiguration(Server.MapPath("~")); 
     //Configuration myWebConfig = WebConfigurationManager.OpenWebConfiguration("~"); 
     //Configuration myWebConfig = WebConfigurationManager.OpenWebConfiguration(null); 
     Configuration myWebConfig = WebConfigurationManager.OpenWebConfiguration("."); 
     // update pages theme 
     RoleManagerSection section = (RoleManagerSection)myWebConfig.GetSection("system.web/roleManager"); 
     section.DefaultProvider = "SqlRoleManager"; 
     section.Providers.Clear(); 
     ProviderSettings providerSettings = new ProviderSettings(); 
     providerSettings.Name = "SqlRoleManager"; 
     providerSettings.Type = "System.Web.Security.SqlRoleProvider"; 
     providerSettings.Parameters.Clear(); 
     providerSettings.Parameters.Add("connectionStringName", "SimpleTickConnection"); 
     providerSettings.Parameters.Add("applicationName", "TheaterSales"); 
     section.Providers.Add(providerSettings); 
     myWebConfig.Save(); 
+0

J'ai trouvé la raison de l'erreur. Après avoir déplacé le site de mon lecteur C: local vers un passeport numérique occidental et exécuté l'application, l'erreur a commencé. La ligne de code ci-dessous est correcte: Configuration myWebConfig = WebConfigurationManager.OpenWebConfiguration ("~ /"); – aron

Répondre

3

J'ai trouvé la raison de l'erreur. Après avoir déplacé le site de mon lecteur C: local vers un passeport numérique occidental et exécuté l'application, l'erreur a commencé. La ligne de code ci-dessous est correcte:

Configuration myWebConfig = WebConfigurationManager.OpenWebConfiguration("~/"); 
1

À première vue, essayez de créer WebConfigurationManager.OpenWebConfiguration ("."); pointez vers un fichier de configuration réel tel que web.config

WebConfigurationManager.OpenWebConfiguration ("web.config");

Assurez-vous d'inclure également le chemin si nécessaire.

1

Le chemin de fichier "~ /" désigne le dossier racine de l'application Web. "~" et null n'ont aucune signification pour la méthode; "." désigne le dossier actuel (c'est-à-dire, bin).

0

Il m'est arrivé quand je suis passé de Windows Vista à Windows 7. La sécurité par défaut de Windows 7 a provoqué cela parce que VS n'avait pas les permissions pour ouvrir le fichier. Juste j'ai redémarré Visual Studio en tant qu'administrateur et cela a fonctionné, aussi simple que cela. J'espère que cela aide d'autres personnes.

Questions connexes