我正在尝试打开我的项目设置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>
答案 0 :(得分:3)
我也遇到了这个错误(“无法加载设置文件。它可能已损坏或包含无效的XML或包含重复的标识符。”)这也是resharper重构的结果。经过一番研究,这是我的解决方案:
Properties
目录Settings.settings
和Settings.Designer.cs
这种方法的美妙之处在于,Visual Studio将读取您的app / web.config,并注意到您已经有条目,并会自动为您添加这些键/值。
答案 1 :(得分:0)
您的XML声明使用单引号。我认为它需要双引号。可能值得一试。
答案 2 :(得分:0)
“SettingsFile”节点的属性应为“GeneratedClassName”而不是“GeneratedClassAppName”。同样,“设置”节点上的属性“AppName”应为“名称”。
就我而言,我认为原因是Resharper过于激进的重构。
答案 3 :(得分:0)
我的app.config中的这个简单区分大小写问题导致了我的问题
<setting Name="BlankPrescriberNoWhenWelshFormInGroup" serializeAs="String">
<value>2</value>
</setting>
这需要是'name'而不是'Name'
<setting name="BlankPrescriberNoWhenWelshFormInGroup" serializeAs="String">
<value>2</value>
</setting>
但是请注意,在我为
输入大写字母'S'之前,我也曾经这样做过<Setting name="value" serializeAs="String">
在我的app.config中,而不是像
中的小写''<setting name="value" serializeAs="String">
所以区分大小写可以让你在这里注意!另一个需要注意和大写'V'为
<Value>2</Value>
当它真的只喜欢'v'时
<value>2</value>