未声明配置元素

时间:2012-09-21 03:50:57

标签: c# xml app-config

我正在Visual Studio 2012 Express Edition中做一些工作。我添加了一个App.config XML文件,如下所示:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
</configuration>

首先发生的事情是出现警告“未声明''配置'元素”。有谁知道为什么会这样?在解决之前,看起来元素无法在其中声明。

谢谢!

这是整个XML:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
<appSettings>
<add key="Version" value="779" />
<add key="TimeOut" value="60000" />
<add key="LogFileName" value="Log.txt" />
<!-- your Developer Id with eBay -->
<add key="Environment.DevId" value="" />
<!-- your Application Id with eBay -->
<add key="Environment.AppId" value="" />
<!-- your Application Certificate with eBay -->
<add key="Environment.CertId" value="" />
<!-- API Server URL -->
<!-- For production site use: https://api.ebay.com/wsapi -->
<!-- For Sandbox use: https://api.sandbox.ebay.com/wsapi -->
<add key="Environment.ApiServerUrl" value="https://api.sandbox.ebay.com/wsapi" />
<!-- EPS Server URL -->
<!-- For production site use: https://api.ebay.com/ws/api.dll"/-->
<add key="Environment.EpsServerUrl" value="https://api.sandbox.ebay.com/ws/api.dll" />
<!-- eBay Signin URL -->
<!-- For production site use: https://signin.ebay.com/ws/eBayISAPI.dll?SignIn -->
<!-- https://signin.sandbox.ebay.com/ws/eBayISAPI.dll?SignIn -->
<add key="Environment.SignInUrl" value="https://signin.sandbox.ebay.com/ws/eBayISAPI.dll?SignIn" />
<!-- ViewItem URL -->
<!-- For production site use: http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&amp;item={0} -->
<add key="Environment.ViewItemUrl" value="http://cgi.sandbox.ebay.com/ws/eBayISAPI.dll?ViewItem&amp;item={0}" />
<!-- token is for both API server and EPS server -->
<add key="UserAccount.ApiToken" value="" />
<!-- eBay site ID -->
<add key="UserAccount.eBayUserSiteId" value="0" />
<add key="logexception" value="true"/>
<add key="logmessages" value="true"/>
<add key="logsdkmessages" value="true"/>
<add key="logsdk" value="true"/>
<add key="logfile" value="Log.txt"/>
<!-- Rule Name-->
<add key="RuName" value=""/>
<!-- Set this if you access eBay API server behind a proxy server-->
<add key="Proxy.Host" value =""/>
<add key="Proxy.Port" value =""/>
<!-- set proxy server username/password if necessary-->
<add key="Proxy.Username" value=""/>
<add key="Proxy.Password" value=""/>

9 个答案:

答案 0 :(得分:258)

转到XML菜单(visual studio顶部菜单项)选择模式并找到 DotNetConfig.xsd 并选择使用此模式

XML - Schemas

Edit XML Schema

您的问题肯定会解决

答案 1 :(得分:29)

<configuration xmlns="schema URL">
   <!-- configuration settings -->
</configuration>

进行更改,例如上面的&amp;尝试

答案 2 :(得分:20)

我有同样的问题。这不是一个错误,它只是一个警告;所以你的应用程序仍应编译。我使用了以下简单的配置文件,但仍然会生成警告。

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <startup> 
        <supportedRuntime 
             version="v4.0"sku=".NETFramework,
             Version=v4.5"/>
    </startup>
</configuration>

这是一个在MSDN网站上提出的问题,但它似乎没有得到令人满意的解决。请参阅以下链接:

http://social.msdn.microsoft.com/Forums/en-US/Vsexpressvcs/thread/18a1074f-668f-4fe3-a8d9-4440db797439

答案 3 :(得分:6)

我必须这样做 - &GT;转到XML菜单(visual studio顶部菜单项)选择模式并选择DotNetConfig.xsd AND RazorCustomSchema.xsd AND EntityFrameworkConfig_6_1_0.xsd

答案 4 :(得分:1)

我在处理xaml项目时,只是在自动生成的xml文件中弹出了此警告弹出窗口。

使用Debug-&gt; Clean Solution和Debug-&gt; Rebuild Solution修复它。可能想在尝试使用模式之前尝试一下。

答案 5 :(得分:0)

Visual Studio 2013 Express Edition缺少DotNetConfig.xsd(https://connect.microsoft.com/VisualStudio/feedback/details/817322/dotnetconfig-xsd-files-not-present-in-vs-2013-express-for-desktop)。

所以要摆脱VS 2013 Express中的警告:

警告应该消失。

答案 6 :(得分:0)

选择使用此架构。 DotNetConfig.xsd

XLM菜单..... Visual Studio

完美无缺。

答案 7 :(得分:0)

我的驱动器上的空间较少,这可能导致应用程序解决方案的加载不完整。我在驱动器上创建了一些空间后,这个“未声明配置元素”的问题得到解决。

答案 8 :(得分:0)

我也收到了同样的警告。考虑了一段时间后,我意识到使用SQL(MS SQL)时出错。

Warning: the 'configuration' element is not declared

使用C#

App.Config代码:

<connectionStrings>
    <add name="dbx" connectionString="Data Source=ServerNameHere;Initial Catalog=DatabaseNameHere;Integrated Security=True" providerName="System.Data.SqlClient"/>
</connectionStrings>

*这会在connectionStrings中调出数据库名称,作为练习,当我插入SQL代码时,我总是使用数据库名称,架构和表。因为我是初学者,所以这种做法在Visual Studio中效果不佳。我从SQL语法中删除了数据库名称,仅从架构,数据表中调用了该数据库。这为我解决了这个问题。

Form.CS:

 using (SqlCommand cmd = new SqlCommand("SELECT * FROM [DatabaseName].[Schema].[TableName] WHERE [MEPeriod] = '2020-06-01'", con))

更新为:

using (SqlCommand cmd = new SqlCommand("SELECT * FROM [Schema].[TableName] WHERE [MEPeriod] = '2020-06-01'", con))

这对我有用,我希望这对您有用。