C#-打开Settings.Settings会在app.config中获取关于无效xml的错误(添加configSource时)
在众多示例之后,我在app.config文件中添加了以下内容: 当我运行应用程序时,一切似乎都正常,但当我尝试打开Settings.Settings文件时,出现错误: “读取app.config文件时出错。该文件可能已损坏或包含无效的XML。” Settings.Settings文件将打开,但如果我尝试保存它,会收到类似的错误消息 App.config文件:C#-打开Settings.Settings会在app.config中获取关于无效xml的错误(添加configSource时),c#,connection-string,C#,Connection String,在众多示例之后,我在app.config文件中添加了以下内容: 当我运行应用程序时,一切似乎都正常,但当我尝试打开Settings.Settings文件时,出现错误: “读取app.config文件时出错。该文件可能已损坏或包含无效的XML。” Settings.Settings文件将打开,但如果我尝试保存它,会收到类似的错误消息 App.config文件: 恩美 0 听起来你的应用程序配置文件没有正确配置,你能发布你的应用程序配置吗?我刚收到一个项目,当你试图打开设置文件时,该项目产
恩美
0
听起来你的应用程序配置文件没有正确配置,你能发布你的应用程序配置吗?我刚收到一个项目,当你试图打开设置文件时,该项目产生了相同的错误。设置文件: “读取app.config文件时出错。该文件可能已损坏。” 可能已损坏或包含无效的XML。“ 在确保XML文档语法正确(使用)之后,我删除XML元素,直到错误消失 在我的例子中,app.config文件包含两个ConnectionString元素: 产生错误
- 配置
- 连接字符串
- 加
- 连接字符串
- 加
- 连接字符串
- 配置
- 连接字符串
- 加
- 加
- 连接字符串
因此,当app.Config文件包含语法正确但逻辑不正确的元素时,可能会生成此错误。我在手动重命名解决方案(项目和命名空间)时遇到了相同的错误。
该错误是由App.config文件的
节点中重复的
元素引起的。我不确定是什么操作导致创建了重复元素,但解决方案是删除重复元素。我也遇到了这个问题。这似乎是由app.config文件中的多个“奇怪”引起的
我解决问题的方法是:
如果仍然出现错误,请开始逐个删除部分,直到找到重复/有问题的部分。我也有同样的问题。与您一样,我在一个单独的文件中有连接字符串:
<connectionStrings configSource = "testConnect.config"/>
除了在使用设置时删除元素之外,我找不到其他解决方法。
<configuration>
<connectionStrings>
<add name=""
</connectionStrings>
</configuration>
我跨越这条路太晚了,但即使是我也有同样的问题,尽管app.config中的一切看起来都是正确的,但我还是遇到了这个错误。
在将一些属性设置添加到app.config文件后,我试图编辑/打开settings.settings文件,这时我出现了此错误。
我所做的是,我恢复了对app.config所做的所有更改,并将所有必需的值直接添加到设置文件中,从而解决了问题。
直接向app.config添加值是造成问题的原因
在另一个VS解决方案上,创建一个新项目,该项目的名称和命名空间与您正在处理的项目相同
在新项目的“属性>>设置”下,创建您正在处理的项目中的所有设置
进入新的项目文件夹,即C:\Users\YourUser\Documents\Visual Studio 2022\Projects\ReportsApplication1\ReportsApplication1并复制app.config文件
粘贴此文件并替换当前项目中的文件
(已完成)
我还在connectionString
元素中使用configSource
。我认为我遇到的问题是,我引用的是包含的配置文件,其路径与构建目标目录(例如bin\debug\ConnectionStrings.config)相对。我已将ConnectionString.config链接项设置为复制到生成时的输出目录。但是,VS IDE希望在从app.settings
而不是bin\debug\program.exe.settings
生成之前解决它,因此我要么在每个项目中都有一个额外配置文件的副本(这会消除好处),要么使用完全限定的路径。如果要使用后一种方法,我需要用某种环境变量来表示路径,以便配置文件可以在开发机器和部署机器上工作。可能是这样,但看起来是这样
如果有帮助,您可以尝试根据架构验证app.config,如中所述。在我的例子中,xml通过了验证,但仍然得到错误消息
此外,如果任何人在使用此设置添加代码优先迁移时遇到问题(出现错误,无法找到ConnectionString.config),这可能是相同的根本原因。我一直在处理我的Settings.Settings文件和app.config文件。我没有找到任何重复的节点,但是我已经在我的app.config中移动了一些表示设置的父节点的顺序。我只是不喜欢他们的订单,我想我可以在app.config中即时更改。我错了
直到我最终删除app.config,更改Settings.Settings中的设置并保存/清理解决方案/重建解决方案,我才发现问题出在哪里。然后,我可以将新生成的app.config与前一个出错的app.config进行比较。我注意到
<configuration>
<connectionStrings>
<add name=""
</connectionStrings>
</configuration>
<section name="oracle.manageddataaccess.client"
type="OracleInternal.Common.ODPMSectionHandler, Oracle.ManagedDataAccess, Version=4.122.19.1, Culture=neutral, PublicKeyToken=89b483f429c47342"/>
<sectionGroup name="oracleClient">
<section name="oracle.manageddataaccess.client"
type="OracleInternal.Common.ODPMSectionHandler, Oracle.ManagedDataAccess, Version=4.122.19.1, Culture=neutral, PublicKeyToken=89b483f429c47342"/>
</sectionGroup>