我从后面的代码我需要更新我的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();
答案 0 :(得分:3)
我找出了错误的原因。将网站从我的本地C:驱动器移动到西部数字护照并运行应用程序后,错误开始。下面的代码行很好:
Configuration myWebConfig = WebConfigurationManager.OpenWebConfiguration("~/");
答案 1 :(得分:1)
乍一看,尝试制作WebConfigurationManager.OpenWebConfiguration(“。”);指向实际配置文件,例如web.config
WebConfigurationManager.OpenWebConfiguration(的 “web.config”);
确保在需要时也包含路径。
答案 2 :(得分:1)
文件路径“〜/”表示Web应用程序的根文件夹。 “〜”和null
对方法没有任何意义; “”表示当前(即bin
)文件夹。
答案 3 :(得分:0)
当我从Windows Vista切换到Windows 7时,发生了这种情况.Windows 7的默认安全性导致了这种情况,因为VS没有打开文件的权限。我刚刚以管理员身份重新启动了Visual Studio,它很简单。 我希望它可以帮助其他人。