【发布时间】:2011-09-16 23:55:19
【问题描述】:
当 FTP 在 Visual Studio 中发布我的 ASP.NET MVC 应用程序时,我注意到一个奇怪的问题:
发布后无法编译。我收到此错误:
在应用程序级别之外使用注册为 allowDefinition='MachineToApplication' 的部分是错误的。此错误可能是由于虚拟目录未在 IIS 中配置为应用程序所致。
根据我目前的研究,当包含某些部分的 Web.config 文件比项目文件夹层次结构中的根目录更深时,通常会发生此错误。
好吧,事实证明我在层次结构中确实有一些 Web.config 文件,我在这些文件夹中找到了这些文件:
- [项目文件夹]\obj\Release\Package\PackageTmp
- [项目文件夹]\obj\Release\TransformWebConfig\original
- [项目文件夹]\obj\Release\TransformWebConfig\transformed
问题是,我没有将这些文件放在这些位置。它们在发布过程中被复制到那里(特别是 FTP 发布)。如果我手动删除 Web.configs(或重建我的解决方案),我可以再次编译。 (嗯,重建通常可以工作——如果我在发布后从 Debug 切换到 Release,它会失败,反之亦然。)
现在,我的问题:
我是否搞砸了设置或做错了什么,或者这基本上只是我必须处理的麻烦事?我应该担心吗?这个问题可以解决吗?
【问题讨论】:
-
每次部署后都会发生同样的情况,我只是删除了 obj 文件夹,它又可以工作了
标签: asp.net asp.net-mvc visual-studio web-config publish