我在运行时使用以下代码更改web.config
Configuration conf = WebConfigurationManager.OpenWebConfiguration("~/");
conf.ConnectionStrings.ConnectionStrings["ApplicationServices"].ConnectionString = "Test";
conf.Save();
但我收到错误 - “无法映射路径'/'。”我在互联网上搜索并研究了所有的解决方案 1.将路径更改为“/” 2.将路径更改为“〜/”
但发生了同样的问题。有一点我想说的是我的应用程序不是在IIS上托管,而是使用asp.net开发服务器运行visuals studio
答案 0 :(得分:1)
将~
替换为HttpContext.Current.Request.ApplicationPath
即
Configuration conf = WebConfigurationManager.OpenWebConfiguration(HttpContext.Current.Request.ApplicationPath)
~
应该有效,我建议ApplicationPath
确保在IIS上托管虚拟目录时的差异,而不是VS DevServer。
实际上,如果您要在root中定位web.config
,那么您只需要传递null
作为参数。无需传递~
。
编辑:
您是否正在使用管理权限?为了在VS Development Server上工作,您必须以管理员权限启动Visual Studio。右键单击Visual Studio和Run As Administrator
。