Roa*_*oar 48 resharper nunit unit-testing .net-assembly visual-studio-2012
当我使用Visual Studio运行单元测试时,它工作正常,因为它从所有程序集所在的项目目录运行.但是当我用resharper运行它时会出错
var services = Assembly.Load("SomeAssembly");
Run Code Online (Sandbox Code Playgroud)
有错误
无法加载文件或程序集"SomeAssembly"或其依赖项之一.该系统找不到指定的文件..
所以我试过了
var path = Assembly.GetExecutingAssembly().Location;
Run Code Online (Sandbox Code Playgroud)
而且它不是第一个项目.它的
C:\用户\*用户名*\应用程序数据\本地的\ Temp\TestResults\... \输出\
而且没有'SomeAssembly'.如何正确配置resharper或收集Visual Studio所有的程序集?
它发生在单元测试中但不适用于NUnit,任何想法?
mcd*_*don 26
在NUnit的Gui Test Runner设置的文档中,有关于卷影复制的以下注释
注意:如果您想要禁用卷影副本以访问与程序集相同的目录中的文件,您应该知道有其他选择.请考虑使用Assembly.Codebase属性而不是Assembly.Location.
以下是使用Assembly.Codebase属性的示例
private string AssemblyLocation()
{
var assembly = Assembly.GetExecutingAssembly();
var codebase = new Uri(assembly.CodeBase);
var path = codebase.LocalPath;
return path;
}
Run Code Online (Sandbox Code Playgroud)
小智 12
我有同样的问题,resharper测试运行器在C:\而实际构建的dll和解决方案在另一个驱动器上.解决方案是在resharper选项的MSTest设置页面中取消选中"Use Legacy Runner".
| 归档时间: |
|
| 查看次数: |
20366 次 |
| 最近记录: |