序言
我知道,这个问题似乎在这里有一些问题:
我遇到了与ReSharper 10 test runner failing to find AppSettings referenced from external file几乎相同的问题。 但是这些答案表明,问题应该与ReSharper 10.0.2一起消失。
问题
我在自定义设置中添加了custom.xml
个文件,我需要从单元测试中读取它们。但是找不到我的档案。
我查看过程运行的位置,并包含此行
var curdir = Directory.GetCurrentDirectory();
所以我发现,curdir
是C:\\Users\\MYUSER\\AppData\\Local\\JetBrains\\Installations\\ReSharperPlatformVs11_000
现在显然无法找到我的文件。谷歌搜索后,它找到了上述问题。但这些解决方案都不适合我。
这些是我的设置:
Visual Studio配置
Microsoft Visual Studio Ultimate 2012
版本11.0.61219.00更新5
Microsoft .NET Framework
版本4.6.01038
Installierte版本:终极
答案 0 :(得分:49)
您没有列出任何已安装的NUnit版本,但您已将此标记为“nunit”标记。所以我要假设你正在使用它!此外,我假设NUnit> = 3.0 ...否则忽略此项。 : - )
NUnit 3.0停止更改当前目录。无论如何,这对我们来说是一个坏主意,而且当不同目录中的多个程序集可能同时运行时,它是3.0的真正坏主意。
因此,假设它仍然是NUnit问题,而不是使用相对路径,请使用TestContext.CurrentContext.TestDirectory作为文件的位置。
答案 1 :(得分:7)
试试这个:
Directory.SetCurrentDirectory(AppDomain.CurrentDomain.BaseDirectory);
答案 2 :(得分:1)
帮助我解决这个问题的事情 - 我刚刚在ReSharper设置中关闭了NUnit 2.x支持(ReSharper - >选项...... - >工具 - >单元测试 - > NUnit)。
答案 3 :(得分:1)
答案 4 :(得分:0)
我也关闭了NUnit 2.x支持,即使它显然与问题无关,它也解决了它(我有ReSharper 2017.3.20180201.111630)
答案 5 :(得分:0)