4

我制作了一个带有 GUI 和一些用于用户设置的设置文件的 C# 应用程序。但是,当我要读取设置的当前值时,MySettings.Default.SettingsName;它对于第一组设置非常有效,比如MyFirstSettings. 然而,对于第二个,我们称之为MySecondSettings,我得到一个错误度量,它说Ambiguity between My first Settings.Default and MySecondSettings.Default。我无法找到任何其他方式来访问设置,但使用.Default它。

任何提示将不胜感激!

阿克塞尔

4

3 回答 3

5

如果您有两个设置文件,它通常可以正常工作:

以下对我来说非常有效(和编译):

Settings1.Default.Value1 = "11";
Settings1.Default.Save();

Settings2.Default.Value1 = "22";
Settings2.Default.Save();

因此,如果您在 VisualStudio 之外以某种自己而非真正“公平”的方式创建/复制 Settings2 文件(例如),则可能会出现问题。(在这种情况下,两个设置文件可能仍然引用相同的“Settings1”类)。


我创建 Settings2 文件的方式是在探索的解决方案中拖放(按住 Ctrl 键(复制))并将其从“Settings1 的副本”重命名为“Settings2”。

选择“添加/新项目...”并选择新的设置文件也很有效。

编辑:

正如问题的作者在下面评论的那样:

在 DAQSettings“文件夹”中,我找到了 Designer 的两个实例,一个名为 Day Settings1.Designer,一个名为 Settings.Designer。

...解释了那里出了什么问题,因为某些类/元素存在重复(重复命名),因此解决问题的方法是“手动参与”。

于 2013-11-10T19:13:49.653 回答
1

就我而言,我实际上在默认设置文件名中有一个设置Default。这导致了一个错误,说

 Ambiguity between Settings.Default and Settings.Default

改变这个解决了错误。

注意:是的,将设置命名为“默认”是一个坏主意,但这是一个非常小的程序,它只做一件事,所以如果有人站在我身后看这个,他们可能会知道它的用途。

于 2016-10-13T03:44:32.183 回答
0

我在 Settings.Designer.cs 中出现错误“Settings.Default 和 Settings.Default 之间的歧义”,然后删除了在底部创建的名为“Default”的内部类。

于 2021-11-02T11:36:50.610 回答