Сценарий: как часть логики, система генерирует динамическую сборку следующим образом.
CompilerParameters cp = new CompilerParameters();
cp.GenerateExecutable = false;
cp.GenerateInMemory = true;
cp.TreatWarningsAsErrors = false;
cp.ReferencedAssemblies.Add("Employee.dll");
cp.ReferencedAssemblies.Add("Person.dll");
CompilerResults cr = provider.CompileAssemblyFromSource(cp, "someCode");
if (cr.Errors.Count > 0)
{..}
Я открываю сборку модульного тестирования в NUnit-Gui-0.6.0 и тестирую метод, который заканчиваетсявызов вышеупомянутого кода как части бизнес-логики.
Проблема: выше счетчика ошибок больше 0 и имеет следующие сообщения:
error CS0006: Metadata file 'Person.dll' could not be found
error CS0006: Metadata file 'Employee.dll' could not be found
Я проверил, что эти сборки присутствуют вкаталог bin вместе с модульным тестом DLL.Этот код работает в обычном рабочем процессе приложения, но не в NUnit 3. *.
Сведения о среде: VS 2017. Unit Test DLL and Application DLLs are full .NET Framework 4.7.1.
Не уверен, что это ошибка в NUnit 3. * или проблема приложения.
С уважением,
Ифтихар.