移动Visual Studio 2013项目后,创建虚拟目录时更新applicationhost.config失败求助
解决VS2013项目迁移后IIS Express无法更新配置的问题
我明白你遇到的这个头疼问题——明明移了项目、改了设置,IIS Express还死咬着旧路径不放。试试下面这些针对性的方案,应该能解决:
1. 清理VS的隐藏配置缓存文件夹
VS2013会在解决方案目录下生成一个隐藏的.vs文件夹,里面存着本地化的IIS Express配置和缓存信息,这些缓存大概率残留着旧路径的记录。操作步骤:
- 先关闭Visual Studio
- 打开新项目所在的文件夹,开启「显示隐藏文件」(在文件夹选项里设置)
- 删除
.vs文件夹 - 重启VS并重新加载解决方案,此时VS会根据新项目路径重新生成所有配置文件
2. 手动指定IIS Express配置文件路径
如果清理缓存没用,你可以强制让VS使用新项目路径下的配置文件:
- 右键解决方案里的报错项目,选择属性
- 切换到Web标签页,找到「服务器」区域
- 选择IIS Express,点击「创建虚拟目录」按钮旁的小箭头,选择编辑配置
- 在弹出的对话框中,把「配置文件」的路径改成新项目目录下的
applicationhost.config(如果没有,VS会自动生成),保存后重启VS
3. 检查并修正解决方案级别的配置残留
有时候.sln文件或相关配置里还藏着旧路径的引用:
- 用记事本打开你的
.sln文件,搜索旧的用户文档文件夹路径,把所有匹配内容替换成新项目的路径,保存后重新打开解决方案 - 检查项目根目录下的发布配置文件(比如
.pubxml后缀的文件),如果里面有旧路径的IIS相关设置,一并修改
4. 彻底重置IIS Express的全局配置
如果上面的方法都无效,就直接重置IIS Express的全局配置:
- 关闭VS,在任务管理器里结束所有
iisexpress.exe进程 - 找到旧路径下的全局配置文件(一般在
C:\Users\<你的用户名>\Documents\IISExpress\config\applicationhost.config),把它重命名为applicationhost_old.config(相当于备份) - 重启VS并重新加载项目,VS会自动生成全新的全局配置文件,这时候会默认使用新项目的路径创建虚拟目录
最后再确认一次项目设置
确保你把项目属性里的IIS相关设置都调整到位:
- 右键项目→属性→Web→服务器,如果
Use IIS Express设为false,确认服务器类型选的是本地IIS或文件系统(毕竟报错是虚拟目录问题,你的项目应该是Web类型) - 如果选了本地IIS,确认虚拟目录的物理路径指向新项目的正确路径,并且你有该路径的读写权限
内容的提问来源于stack exchange,提问作者Neil Walker
相关产品推荐
相关产品推荐

