转换为Visual Studio 2010/.Net 4.0后,app.config"无法找到架构信息"

Wal*_*t D 27 .net xsd app-config visual-studio-2010

将项目升级到Visual Studio 2010和.Net 4.0后,我的app.config文件在构建项目时生成以下消息:

  • 找不到元素'supportedRuntime'的架构信息.
  • 找不到属性"version"的架构信息.
  • 找不到属性'sku'的架构信息.

这是我的整个app.config文件:

<?xml version="1.0"?>
<configuration>
  <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0,Profile=Client"/>
  </startup>
</configuration>
Run Code Online (Sandbox Code Playgroud)

如果我创建一个新的VS2010项目并逐字地复制/粘贴相同的app.config文件,我收不到这样的消息.

显然,这些消息不会导致任何运行时问题,但它们仍然令人讨厌和令人不安.

如何修复出现这些消息的问题?

我在app.config看到答案,configSections自定义设置无法找到架构信息,但我在属性列表中看不到输入架构的路径.

谢谢.

小智 18

我将模式从DotNetConfig更改为DotNetConfig35,并解决了这个问题.这在app.config文件的属性中可用.

右键单击解决方案资源管理器中的app.config文件可以提供文件的属性,右键单击app.config文件本身的编辑窗口可以获得XML文档的属性.

  • 注意到因为这一开始让我困惑.至少在VS2k10中,您需要查看在编辑窗口中显示文件时显示的属性,而不是在解决方案资源管理器中选择文件时显示的属性. (7认同)
  • 如果我试试,那么VS2k10总是保留"DotNetConfig.xsd",如果我选择"DotNetConfig35.xsd"然后我和我有两个模式,我会得到很多额外的警告. (7认同)
  • 我正在使用VS2012并从.NET 4.5切换到.NET 3.5项目,我仍然收到消息.第一个模式列为`C:\ Program Files(x86)\ Microsoft Visual Studio 11.0\xml\Schemas\DotNetConfig35.xsd`. (2认同)

Ron*_*erg 5

你确定转换成功吗?可能没有配置正确的目标框架.打开项目属性并检查目标框架是否实际.NET Framework 4.NET Framework 4 Client Profile.