0

我正在尝试打开我的项目 Settings XMl

为了向它添加一些可配置的对

但我收到此错误:

Unable to load settings file.  It might be corrupted or contain invalid XML or contain duplicate identifiers.

但是,我的 XML 很薄:

<?xml version='1.0' encoding='utf-8'?>
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)" GeneratedClassNamespace="Conduit.Mam.MaMDBEntityFramework.Properties" GeneratedClassAppName="Settings">
  <Profiles />
  <Settings>
    <Setting AppName="SavedSuccessfullyInDB" Type="System.String" Scope="Application">
      <Value Profile="(Default)">The Test saved in DB successfully</Value>
    </Setting>
  </Settings>
</SettingsFile>
4

4 回答 4

3

我也有这个错误(“无法加载设置文件。它可能已损坏或包含无效的 XML 或包含重复的标识符。”)这也是 resharper 重构的结果。经过一番研究,这是我的解决方案:

  1. 关闭 Visual Studio
  2. 导航到项目Properties目录
  3. 删除Settings.settingsSettings.Designer.cs
  4. 启动 Visual Studio 并打开您的项目
  5. 添加新设置(属性 -> 设置)

这种方法的美妙之处在于,Visual Studio 将读取您的 app/web.config 并注意到您已经有条目并会自动为您添加这些键/值。

于 2013-11-25T14:12:01.837 回答
0

Your XML declaration is using single quotes. I thought it needed to be double quotes. Might be worth a try.

于 2013-04-17T12:42:36.683 回答
0

“SettingsFile”节点的属性应该是“GeneratedClassName”而不是“GeneratedClassAppName”。同样,“Setting”节点上的“AppName”属性应该是“Name”。

就我而言,我认为原因是 Resharper 过于激进的重构。

于 2013-05-04T22:43:56.230 回答
0

我的 app.config 中的这个简单的区分大小写问题导致了我的问题

  <setting Name="BlankPrescriberNoWhenWelshFormInGroup" serializeAs="String">
    <value>2</value>
  </setting>

这需要是“名称”而不是“名称”

  <setting name="BlankPrescriberNoWhenWelshFormInGroup" serializeAs="String">
    <value>2</value>
  </setting>

但是请注意,我之前在输入大写字母“S”时也遇到过这个

<Setting name="value" serializeAs="String">

在我的 app.config 中,而不是小写的 's'

<setting name="value" serializeAs="String"> 

所以区分大小写可以让你在这里小心!还有一个要注意的和大写的“V”

<Value>2</Value> 

当它真的只喜欢'v'时

<value>2</value>
于 2017-04-05T15:48:42.437 回答