Я сталкиваюсь с некоторыми проблемами с зависимостями при обращении к проектам в Visual Studio. Вот как структурировано мое решение ReferenceTest:
- Обычный. Библиотека классов, содержащая статический метод CommonClass.HelloWorld(), возвращающий строку. Строка, возвращаемая этим методом, считывается из конфигурационного файла JSON с использованием Microsoft.Extensions.Configuration(и большого набора его зависимостей), установленного с помощью NuGet.
- ConsoleApplication1. Консольное приложение, записывающее строку CommonClass.HelloWorld() в консоль с использованием статического метода Worker.DoWork(). Это консольное приложение имеет ссылку на проект для общего проекта.
- ConsoleApplication1Test. Библиотека классов, использующая NUnit для тестирования того, что метод Worker.DoWork() из ConsoleApplication1 возвращает ожидаемую строку. Эта библиотека классов имеет ссылку на проект проекта ConsoleApplication1.
Консольное приложение ConsoleApplication1 работает так, как ожидалось, но при запуске unit test в ConsoleApplication1Test я получаю это исключение:
System.IO.FileNotFoundException: не удалось загрузить файл или сборку 'System.Runtime, Version = 4.1.1.0, Culture = neutral, PublicKeyToken = b03f5f7f11d50a3a 'или одна из его зависимостей. система не может найти указанный файл.
Файл System.Runtime.dll(и, возможно, другие) не копируется в папку bin при компиляции проекта ConsoleApplication1Test. Почему это происходит?
Zip файл с демо-решением можно найти здесь: http://www.filedropper.com/referencetest