У меня есть проект, который имеет зависимость от DLL.
У меня есть пример проекта в консоли, который компилируется и работает нормально.
Когда я добавляю тот же код и такую же зависимость от другого проекта (winform, если это имеет значение), он выдает ошибку:
Не удалось загрузить файл или сборку 'xxxx' или одну из ее зависимостей.
указанный модуль не найден.
Я проверил все возможные параметры VS, все зависимости есть, они обе одинаковые:
- То же VS 2017 IDE
- оба 64 бита
- те же свойства проекта.
- те же свойства решения.
- те же файлы присутствуют в пути к корзине (VS копирует dll в путь)
Я не могу найти никакой разницы между этими двумя проектами, однако один работает нормально, а другой нет.
Какие еще настройки я должен проверить?
Я могу найти, открываю ли csproj блокнотом, что у работающего проекта есть строка: <Platform Condition=" '$(Platform)' == '' ">x86</Platform>
и другие <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
Однако я не вижу эту настройку на VS; я должен вручную изменить csproj?
EDIT:
Изменение .csproj, как указано выше, решило проблему, я полагаю, что она вынудит компилятор компилироваться в 32-битной системе, что объяснит отсутствующие зависимости. Однако в настройках проекта я попробовал использовать «Prefer 32bits».
Интересно, правильно ли это изменить файл проекта вручную и не следует ли это делать из среды IDE?