为什么我无法从与设置文件相同的项目/程序集中为设置选择自定义类型?
我试图将应用程序设置属性的类型设置为我在程序集中定义的自定义枚举类型(称为项目A)
在设置浏览器中,我单击浏览,然后显示“选择类型”对话框。
项目A中定义的类型似乎不适合我。 然而,类型可以从A引用的其他项目中获得。
我似乎无法理解一个人无法使用基础项目中定义的类型,所以我认为我做错了什么。 我试过没有任何运气的建筑,清洁,重建,重新启动,所以我到底错过了什么?
编辑:截图http://tinypic.com/r/2ls8myb/7
我试图在VS 2010(.net 3.5)中做同样的事情。 事实certificate,您可以使用“设置”设计器执行此操作。 如上所述,UI完全有缺陷,但如果您在“浏览”窗口中手动输入枚举的完全限定名称,它将起作用。 这样做的好处是不会修改生成的代码(* .Designer.cs),这总是很好避免,因为当你这样做时,不能保证你的更改不会被覆盖。
PS – 如果枚举是公开的,这似乎才有效。
设置GUI:
然后手动键入完全限定的类型名称:
有一次,我发誓我在Value列中看到了枚举值的下拉,但是我从未见过它,你只需输入一个合适的值。
我无法浏览到我的自定义类型。 我可以通过在文本编辑器中打开Settings.settings文件并将设置添加到“设置”部分来添加我的自定义类型,如下所示:
设置设计器在我打开它时会抱怨,但我只是对该对话框回复“否”,我可以在项目中使用自定义设置。
因为您自己的类型不可序列化。 使其可序列化,您可以在您的设置中定义它。
我正在尝试相同的解决方案非常简单:首先构建。
我添加了一个枚举类,定义了一些值,然后尝试用我的新枚举替换Settings.settings文件中的int值,所以我不必在以后匹配该值。 找不到类型。 因为我还没有建造。
构建一次后,新的枚举类型已知并可以使用:)