我正在尝试更改Windows应用程序设置中的某些应用程序设置,这些设置将在安装过程中进行设置。我要为单元测试设置的设置。
现在,assemblyinfo文件具有单元测试项目的InternalsVisibleTo。
在“测试方法”中,我可以向下钻取到“ Settings.Default”(要设置的默认项目),然后查看所有设置。但是,例如,当我去:
dummy.PropertyValues["MySetting"].PropertyValue = "SomeValue";
我得到一个空引用异常。
虚拟设置为:
var dummy = MyProject.Properties.Settings.Default;
是否可以设置单元测试所需的应用程序设置?
答案 0 :(得分:1)
这会使任何人感到困惑。 Visual Studio项目中有两个可用设置:一个是ProjectSettings
,另一个是Application configuration settings
。
MyProject.Properties.Settings.Default
是您的项目设置。应用程序设置位于System.Configuration.ConfigurationManager.Appsettings
下。因此,您可能想将虚拟对象用于“应用程序”设置:
var dummy = System.Configuration.ConfigurationManager.Appsettings;
现在,如果您更新值,它将在当前会话中更新Appsettings集合:
dummy.PropertyValues["MySetting"].PropertyValue = "SomeValue";
答案 1 :(得分:0)
问题似乎出在Visual Studio 2010上。
重新启动它之后,并且由于单元测试已经可以通过assembleyInfo.cs进行访问,因此我能够按照问题中的说明设置属性设置。