【问题标题】:Undefined Web.config error in VS 2008VS 2008 中未定义的 Web.config 错误
【发布时间】:2011-11-25 17:47:22
【问题描述】:

我正在使用 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,希望能得到进一步的帮助。

【问题讨论】:

  • 我在 VS2013 中遇到了一个非常相似的问题......它工作正常,所以我不确定发生了什么变化。如果我在编辑器中打开 web.config,它将运行,但是......非常奇怪。

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


【解决方案1】:

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

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

之后,它再次运行良好......

【讨论】:

  • 这里的行为完全相同。离奇。
  • 使用 VS2015 时同样的问题。如果我打开文件,则没有错误。如果我在点击运行/调试时在编辑器窗口中打开文件,它可以工作。关闭VS,删除所有\bin\obj,重新打开解决方案,重新构建似乎已经修复了。
【解决方案2】:

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

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

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

【讨论】:

  • 该项目前段时间转换为 3.5,并在 XP 下运行 VS 2008。唯一的变化是迁移到 Win 7 机器。我正在尝试使用 VS Dev Server 进行调试,而不是直接使用 IIS 7.x。由于它的复杂性,我将尝试创建一个新的 web.config 作为最后的手段(这意味着有很多应用程序设置和其他可能或可能不重要的东西。IOW,一袋蠕虫......)
【解决方案3】:

iis 7.5(在 windows 7 上)与 iis 6(在 windows xp 上)完全不同。有一些配置不兼容。想到的一件事是http处理程序和模块的元素属性的模式略有不同。还有其他不同的事情。通常在错误页面上,它会告诉你它不喜欢什么。我想它在那里,也许你没有注意到它。或者,也许您正在远程访问该页面,但它没有所有详细信息。我建议在本地计算机上使用浏览器并仔细查看 - 很确定它会告诉您是什么导致呕吐。

【讨论】:

  • 我正在使用 VS Web 服务器,所以它永远不会加载页面。我收到的错误消息是 VS 中的弹出窗口。
  • 我会尝试在 iis 中运行它,看看你会得到什么。
【解决方案4】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-02-18
    • 1970-01-01
    • 2019-12-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多