1
2
我已经解决了我的问题。事实证明,这个问题与IIS及其配置或其他类似的事情无关,而是VS2010发布Web应用程序的方式的产物。 因此,正如我们大多数人所做的那样,我们并不真正调试Cassini下的应用程序——而是使用IIS指向我们不断变化的源代码。好吧,使用发布功能的默认设置,vs2010将编译应用程序(和依赖项),并将适当的文件复制到项目根位置内名为“obj”的特殊子目录下的文件夹中。它将要尝试部署的Web应用程序的“副本”中包含将要部署的web.config文件。此配置文件包含应用程序根目录下web.config文件中的内容。但请记住,我们的源代码在一个IIS应用程序中。因此,一旦生成了这个文件(在我们编译/构建了版本之后),我们现在就违反了开发/构建机器上的IIS要求。
所以只要VS成功地发布了应用程序并删除了那个临时副本,这一切都会很好。唯一的问题是,vs不会删除该临时副本(在
所以我的工作就是在发布之后删除obj文件夹。其他功能解决方案包括将其设置为调试IIS应用程序目录路径之外的文件夹(对源代码管理系统有好处),或为obj文件夹下的调试/发布副本添加一个IIS应用程序(有其他潜在好处)。总之,这是一个非常令人困惑的问题,有一些非常简单的解决方法。 |