转换为 Visual Studio 2010 / .Net 4.0 后 app.config “找不到架构信息”
Posted
技术标签:
【中文标题】转换为 Visual Studio 2010 / .Net 4.0 后 app.config “找不到架构信息”【英文标题】:app.config "Could not find schema information" after converting to Visual Studio 2010 / .Net 4.0 【发布时间】:2011-03-11 13:34:06 【问题描述】:将我的项目升级到 Visual Studio 2010 和 .Net 4.0 后,我的 app.config 文件会在构建项目时生成以下消息:
找不到元素“supportedRuntime”的架构信息。 找不到属性“版本”的架构信息。 找不到属性“sku”的架构信息。这是我的整个 app.config 文件:
<?xml version="1.0"?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0,Profile=Client"/>
</startup>
</configuration>
如果我创建一个新的 VS2010 项目并从字面上复制/粘贴相同的 app.config 文件,我不会收到此类消息。
显然这些消息不会导致任何运行时问题,但它们仍然令人讨厌和不安。
如何解决导致这些消息出现的问题?
我在app.config configSections custom settings can not find schema information 看到了答案,但我在属性列表中看不到任何地方可以输入架构的路径。
谢谢。
【问题讨论】:
【参考方案1】:我将架构从 DotNetConfig 更改为 DotNetConfig35,它解决了这个问题。这在 app.config 文件的属性中可用。
在解决方案资源管理器中右键单击 app.config 文件会给出文件的属性,在 app.config 文件本身的编辑窗口中右键单击会给出 XML 文档的属性。
【讨论】:
注意到因为这让我一开始感到困惑。至少在 VS2k10 中,您需要查看文件在编辑窗口中显示时显示的属性,而不是在解决方案资源管理器中选择文件时显示的属性。 如果我尝试这样做,那么如果我选择“DotNetConfig35.xsd”,VS2k10 将始终保留“DotNetConfig.xsd”,然后我有两个架构,我会收到很多额外的警告。 @lanoxx:您的问题的解决方案是here。 我正在使用 VS2012 并从 .NET 4.5 切换到 .NET 3.5 项目,但我仍然收到消息。第一个架构被列为C:\Program Files (x86)\Microsoft Visual Studio 11.0\xml\Schemas\DotNetConfig35.xsd
。【参考方案2】:
您确定转换成功吗?可能没有配置正确的目标框架。打开您的项目属性并检查目标框架实际上是.NET Framework 4
还是.NET Framework 4 Client Profile
。
【讨论】:
它确实是 .NET Framework 4 客户端配置文件,正如预期的那样。升级过程中没有错误。【参考方案3】:删除 app.config 中的以下部分:
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0,Profile=Client"/>
</startup>
【讨论】:
欢迎来到 ***。您可以通过缩进 4 个空格或使用答案提交表单上的
按钮来格式化您的“代码”部分。我已经为你做了改变。此外,不需要 html 标记(br 等)。
不是解决这个问题的好方法。如here 所述,如果它已经在运行,下次尝试在任务管理器中终止该进程。
P.S:它可能在远程机器上运行。
更新:由于没有解决方案,我重复我的建议...停止投票。也许这是一个错误,但它可能与未终止的调试过程有关。只需检查任务管理器并杀死 fx2.0 的 xyz.vhost.exe,如果有的话。
【讨论】:
没有。 .NET 2.0 版本将在内存中运行,如果最近升级到 FX4...我的经验表明。以上是关于转换为 Visual Studio 2010 / .Net 4.0 后 app.config “找不到架构信息”的主要内容,如果未能解决你的问题,请参考以下文章
C#“向后”将 Visual Studio 2010 .csproj 项目转换为 2008? [复制]
转换为 Visual Studio 2010 / .Net 4.0 后 app.config “找不到架构信息”
Visual Studio 2010 解决方案查看器或转换器?
无法在 Visual Studio 2015 中将 typedef 转换为 std::pair
是否需要将 Visual Studio Express 解决方案转换为 Visual Studio Professional 解决方案?