2015-06-25 4 views
4

Я использую Visual Studio 2013, и я получаю сообщение об ошибке в моем коде на C#, который я не могу понять. Я работаю с Microsoft Kinect SDK, но я буду держать его в общем.Я * не * отсутствует сборка или ссылка

Я загрузил SDK, и я могу получить прилагаемые примеры программ для создания и запуска. Но когда я пытаюсь использовать код в моем проекте, я получаю ошибку

Type or namespace name 'Kinect' does not exist in the namespace 'Microsoft' (Are you missing an assembly reference)

.

Дело в том, что я не пропускаю сборку или ссылку. Я добавил его в ссылки на проект, и путь действителен. Кроме того, операторы using в верхней части файла будут автозаполнены для «Kinect» для меня. Если я начну печатать using Microsoft., Kinect появится как опция автозаполнения.

Каковы шаги для отладки такой ошибки? Это может быть проблема с 32/64 бит? Я попытался использовать Dependency Walker, чтобы посмотреть на Kinect DLL, и хотя он вызывает некоторые ошибки (Error: Modules with different CPU types were found.), он не показывает никаких проблем, которые я не вижу с другими DLL, которые я успешно использую.

Каковы некоторые другие потенциальные проблемы, которые могут вызвать проблемы с DLL, которые не распознаются?

+0

Посмотрите ваши ссылки - нажмите ссылку и перейдите к свойствам. Проверьте путь, на который он указывает. Возможно, вы ошибаетесь –

+0

Вы компилируете для .NET-версии, которая включает в себя «Профиль клиента» в ее имени? – cubrr

+0

У меня была аналогичная проблема на следующий день после установки пакета NuGet и того, как я «решил», он закрыл VS и снова открыл его. Больше не хватает сборок. – jsanalytics

ответ

4

1 - Попытайтесь перейти к настройкам вашего проекта и проверить версию используемой рамки .NET.

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

2 - Проверьте, есть ли восклицательный знак в любой из ваших ссылок.

+0

Ссылки не получают восклицательный знак для совместимости форматов. Вы узнаете об этом во время работы. Подумайте о том, что вы можете соединить проект с рекомендациями. Он заботится только о версии, открытом ключе, подписях и т. Д. Во время разработки. –

+0

Прошло некоторое время с тех пор, как я не играю с этим .... так что я просто удалю бит-комментарий, спасибо .... –

+1

Это была версия .NET, спасибо. Kinect DLL была построена на 4.5, а остальная часть моей программы была 4.0. Когда я сменил свою программу на 4.5, она сработала. Спасибо за вашу помощь – stranger