代码Behing更新web.config映射问题

我从后面的代码我需要更新我的web.config。 这在以前从来就不是问题,但是我最近收到了一个错误。 错误说“无法映射路径’/’。” 注释掉的线条是我尝试的不同变化。

//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(); 

我弄清楚了错误的原因。 将网站从我当地的C:驱动器移动到西方数字护照并运行应用程序后,错误开始。 下面的代码行很好:

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

乍一看,尝试制作WebConfigurationManager.OpenWebConfiguration(“。”); 指向实际的配置文件,例如web.config

WebConfigurationManager.OpenWebConfiguration(的 “web.config”);

如果需要,请确保还包括路径。

文件路径“〜/”表示Web应用程序的根文件夹。 “〜”和null对方法没有任何意义; “” 表示当前(即bin )文件夹。

当我从Windows Vista切换到Windows 7时,它发生在我身上.Windows 7的默认安全性导致了这种情况,因为VS没有打开文件的权限。 我刚刚以管理员身份重新启动了Visual Studio,它很简单。 我希望它可以帮助其他人。