VS 2008中未定义的Web.config错误

时间:2011-11-25 17:47:23

标签: c# asp.net web-config visual-studio-2008-sp1 visual-studio-debugging

我正在使用VS 2008,.Net 3.5和C#开发Web应用程序。解决方案中的大多数项目都是经典的asp.net页面,其中包含一些MVC 1,其余的是共享库。解决方案是一个大约5年的解决方案,并经历了各种开发人员的工作,显然有一些性能和架构问题。

以前,我一直在Win XP机器上使用VS 2008进行该项目,但刚刚使用Win 7 Ultimate转换到新的盒子。为此,我安装了VS 2008,asp.net 3.5。为了支持解决方案的未来工作,我还安装了VS 2010和asp.net 4.0。

使用VS 2008在新盒子上打开解决方案工作正常,并且构建没有错误。但是,当我尝试使用调试器运行它时,我收到以下消息:

  

“web.config中有错误。请在继续之前纠正。(您可以重命名当前的web.config并添加一个新的。)”

我认为很明显新机器上的web.config存在某种环境问题,但错误信息并非“有用”。添加新的web.config不是一个选项,因为现有的web.config很长并且涉及(太多而无法在此处发布)。

我希望有人有一两个建议,我可能会在哪里查找丢失的元素或更改可能产生此类错误消息的配置。缺乏这一点,我将重新审视这篇文章并提供web.config,希望能够获得进一步的帮助。

4 个答案:

答案 0 :(得分:20)

所以我不知道你是否找到了答案,但我今天在VS2013遇到了它。奇怪的是,如果我在编辑器窗口中打开web.config,它就会起作用。

对于可能会看到此错误的其他人,我可以通过删除\bin\obj目录在VS2013中将其清除。

之后,它又恢复了正常......

答案 1 :(得分:0)

为了让您更好地了解web.config问题,我会遵循重命名当前问题并添加新问题的建议。您可以使用diff工具(例如WinMerge)来查找现有配置文件与“clean-slate”新配置文件之间的差异。

您可以将非发布部分从旧部分复制到新部分,例如连接字符串和应用程序设置,表单身份验证模式等。编译器部分可能有问题或者某些更具体的问题到.NET框架。

您是否完全将项目从.NET 2.0转换为.NET 3.5?有一个很大的web.config部分被添加到3.5项目中,这些项目与编译器有关的2.0项目不需要,因为它使用了.aspx内联代码的单独编译器,而不是用于2.0。

答案 2 :(得分:0)

iis 7.5(在Windows 7上)是一种与iis 6完全不同的动物(在Windows XP上)。有一些配置不兼容。我想到的一件事是http处理程序和模块的元素属性有点不同的架构。还有其他不同的东西。通常在错误页面上,它会告诉你它不喜欢什么。我想它就在那里,也许你没注意到它。或者你可能远程点击页面而且它没有全部细节。我建议在本地机器上使用浏览器并仔细看看 - 相当肯定它会告诉你是什么让它变得愚蠢。

答案 3 :(得分:0)

今天我在VS2019中第一次遇到这个模棱两可的错误。我添加了一个新的实体模型(.edmx),该模型需要将新的连接字符串添加到单独项目的web.config中。添加后,我立即开始在启动时收到错误消息。我注意到在各种环境下都有一些配置转换。将丢失的转换后的连接字符串添加到每个字符串后,错误消失了。

相关问题