我最近升级到 ReSharper 10.0.1 for Visual Studio 2013。我的单元测试项目包含一个 app.config 文件,其中包含以下内容:
<appSettings file="AppSettings.local.config">
<add key="otherSetting" value="foo" />
</appSettings>
<connectionStrings configSource="ConnectionStrings.local.config" />
引用的配置文件设置为“始终复制”到输出目录。我验证了测试是从项目文件夹的\bin\debug 运行的,并且两个引用的配置文件都已正确复制到该文件夹。但是,在运行测试时,我观察到:
-
ConfigurationManager.AppSettings
不包含 AppSettings.local.config 中的任何键。 -
ConfigurationManager.AppSettings
包含otherSetting
. -
ConfigurationManager.ConnectionStrings
确实包含 ConnectionStrings.local.config 中的所有键。 - 使用
configSource
属性而不是file
在<appSettings>
也不起作用。
我管理配置文件的方式在很长一段时间内没有改变,而且一直运行良好。这个问题似乎与升级到 ReSharper 10 一致。在 ReSharper 的单元测试设置中,我禁用了“卷影复制程序集”和“使用单独的 AppDomain”,并且“运行测试自”设置为项目输出文件夹。更改这些设置后,我多次重新启动 VS。
这听起来像是 ReSharper 可能存在的错误,还是我遗漏了一些明显的东西?
更新:
我已经降级到 ReSharper 9.2,我的问题消失了。所以我只能断定这是 ReSharper 10 的问题。但我不确定这是否是一个真正的错误(看起来肯定是这样),或者我是否错过了某个地方的新设置,所以任何见解仍然会受到赞赏。
最佳答案
这是一个known issue适用于 R# 10.0.0 和 R# 10.0.1 版本。固定在 R# 10.0.2 EAP builds
关于c# - ReSharper 10 测试运行器无法找到从外部文件引用的 AppSettings,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34048507/