Значение типа '<typename>' не может быть преобразовано в <typename> - PullRequest
3 голосов
/ 18 мая 2009

Я работаю над проектом, который использует инструмент тестирования, встроенный в VS 2008.

Периодически я вижу ошибку, сравнимую с: Значение типа «AcademyPro.Code.BLL.Appearance» нельзя преобразовать в «AcademyPro.Code.BLL.Appearance». Несоответствие типов может быть вызвано смешиванием ссылки на файл со ссылкой проекта на сборку «AcademyPro». Попробуйте заменить ссылку на файл «academypro.dll» в проекте «AcademyPro» ссылкой на проект «AcademyPro».

Теперь на одном уровне ошибка исправлена, есть ссылка на проект (требуется для компиляции кода) и ссылка на файл (в файле с именем AcademyPro.accessor)

Если я удалю одну из этих ссылок, тестовый проект не будет скомпилирован. Я попытался удалить обе ссылки, очистить сборку и добавить их обратно. Это, похоже, не помогает.

Кажется, я нахожусь в проигрышной ситуации, мне нужна ссылка на проект для компиляции, и мне нужна ссылка на аксессор, чтобы были созданы средства доступа к приватным объектам, которые я должен иметь возможность компилировать.

Что мне нужно сделать, чтобы эта компиляция снова?

Ответы [ 2 ]

1 голос
/ 03 апреля 2013

У меня тоже возникла такая же проблема, я исправил ее, удалив все ссылки проекта, снова открыл решение, а затем добавил ссылки, у меня это сработало. (Получил это решение от Google)

1 голос
/ 19 мая 2009

После долгих размышлений я обнаружил, что проект, который я пытался протестировать (а не проект модульного тестирования), имеет ссылку на проект. Я не знаю, почему или как он будет ссылаться на себя, но это так. Я удалил эту ссылку, и теперь все компилируется правильно.

...