我有几个 MVC4 应用程序,当通过 Web 部署发布时,它们并不总是写入两个文件 bin\App_global.asax.compiled
和 bin\App_global.asax。 dll
。如果我多次发布,它最终会发布这个文件。
如果没有这些文件,路由表就无法构建,并且在尝试访问任何 Controller 功能时出现 403.14
错误。
我在 VS2012 Ultimate Update 4 和 VS2013 Ultimate Update 1 中都有这个问题。
如果我运行发布预览,它通常会告诉我它将删除这两个文件,如果我刷新预览,它将从删除这两个文件更改为更新。
最佳答案
我在预编译 MVC 项目时遇到了缺少 App_global.asax.compiled 和 App_global.asax.dll 的问题。
首先我认为它与 TeamCity 有关,因为它只会在 TeamCity 下构建时失败,而不是本地(从 Visual Studio)或使用 msbuild.exe 从构建服务器上的命令提示符。
原来是为 TeamCity 正在写入的磁盘打开了磁盘压缩。在 Erik Ropez 的评论中找到指向解决方案的指针 http://ydie22.blogspot.ch/2008/11/aspnetcompiler-and-missing-compiled.html .在此处发布作为引用...因此,如果勾选了“压缩此驱动器以节省磁盘空间”,请在硬盘驱动器/目录的属性下尝试将其关闭。
关于c# - 在目标机器上缺少 App_global.asax.compiled,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22540665/