我有几个MVC4应用程序,当它们通过Web Deploy发布时,它们并不总是写两个文件bin\App_global.asax.compiledbin\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要写入的磁盘打开了磁盘压缩功能。在http://ydie22.blogspot.ch/2008/11/aspnetcompiler-and-missing-compiled.html的Erik Ropez的评论中找到了指向解决方案的指针。在此处发布作为引用...因此,如果在“硬盘驱动器/目录的属性”下选中了“压缩此驱动器以节省磁盘空间”,请尝试将其关闭。

关于c# - 在目标计算机上缺少App_global.asax.compiled,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22540665/

10-13 06:27