未声明配置元素


84

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

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
</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=""/>


4
您可能需要看一下DotNetConfig.xsd文件的外观。可以在C:\ Program Files(x86)\ Microsoft Visual Studio 10.0 \ Xml \ Schemas
Adriaan Stander 2012年

确切的错误是什么,什么发出此警告?全栈框架好吗?
西蒙·穆里尔

它适用于我的VS2012 Express版本。
Martin Mulder

1
这是一个智能问题。使用全新的控制台应用程序,打开App.config,并且<configuration>元素以蓝色下划线显示,并带有错误“未声明'configuration'元素”,但是,您仍然可以在其中添加<appsettings>部分设置并使用ConfigurationManager类引用它们,但是在添加appsettings和<add key ...项时,不会显示intellisense。纯粹是一个智能问题,我想了解更多信息,因此很赏金。
seekerOfKnowledge

1
选择了错误的答案。
JJS

Answers:


21

我遇到过同样的问题。这不是错误,只是警告。因此您的应用程序仍应编译。我使用了以下简单的配置文件,但仍会产生警告。

<?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/zh-CN/Vsexpressvcs/thread/18a1074f-668f-4fe3-a8d9-4440db797439



340

转到XML菜单(Visual Studio顶部菜单项),选择架构并找到DotNetConfig.xsd,然后选择使用此架构

XML-模式

编辑XML模式

您的问题肯定会解决


6
这应该是答案。看看这个答案的发布日期(15年8月),我不太确定在问题出现时(9月12日)是否存在这个答案。(是吗?)
Ian

1
仅此一点对我不起作用。考虑一下:stackoverflow.com/questions/4355278/…–
马特

2
此答案解决了Visual Studio 2017上的问题。无论如何,我不明白为什么在创建.config文件时默认情况下不使用DotNetConfig.xsd。
盖尔

罗摩克里希纳,你这家伙!工作完美。该应用程序仍然可以编译,但是烦人的警告消息现在消失了。
puffgroovy

这有效,我在解决方案中注意到的更多信息是对于.net 4.5版,默认情况下选择的是DotNetConfig.xsd模式,但对于.net版本4.6,则需要选择此DotNetConfig.xsd,因为此答案中建议使用@Ramakrishna。谢谢!
ZeeProgrammer

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

像上面一样进行更改并尝试


1
警告已经消失。非常感谢你。我必须将其标记为答案。
Eae 2012年

看起来现在环境中(Visual Studio 2012 Express Edition)无法读取配置中的元素。
Eae 2012年

@sepoto:如果您删除了xmlns命名空间,则会再次发出警告
Ravindra Bagale 2012年

1
我在帖子中完整地包含了App.config。由于某些原因,我无法使其在Visual Studio 2012 Express C#环境中正常工作。我在上面尝试了您的解决方案,但是随后我得到了配置内部元素的警告,因此事情变得毫无意义。非常感谢您的帮助,但我不相信有任何答案。
Eae 2012年

1
这个答案是部分正确:指定了xmlns(值可以是任何东西),该警告configuration消失,而是一个信息消息被发出configuration,并为每一个子元素。如果xmlns指向定义所有元素的实际DTD,则这些消息也应消失。
Mike C

6

我必须->转到XML菜单(Visual Studio顶部菜单项),选择架构,然后选择DotNetConfig.xsd和RazorCustomSchema.xsd和EntityFrameworkConfig_6_1_0_0.xsd


1

在xaml项目上工作时,我只是在自动生成的xml文件中看到此警告弹出窗口。

使用Debug-> Clean Solution和Debug-> Rebuild Solution对其进行了修复。可能想在了解这些模式之前尝试一下。


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-桌面)。

因此,要摆脱VS 2013 Express中的警告:

警告应该消失了。



0

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


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))

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.