C # Microsoft.Search.Interop не может быть найден - PullRequest
1 голос
/ 08 августа 2011

Я разработал программное обеспечение, которое использует microsoft.search.interop.dll в качестве ссылочных библиотек. Когда я компилирую в режиме отладки, мое приложение работает правильно, но когда я пытаюсь скомпилировать в режиме выпуска, я получаю эту ошибку:

Microsoft.Search.Interop не найден.

Я скачал пример кода с http://archive.msdn.microsoft.com/windowssearch (проект DSearch).

Как мне решить мою проблему?

Решение найдено (запустите следующее в одной строке):

set MSSdk=c:\Program Files\Microsoft SDKs\Windows\v7.1 
"%MSSdk%\Bin\tlbimp.exe" "%MSSdk%\Lib\SearchAPI.tlb" /namespace:Microsoft.Search.Interop /out:Microsoft.Search.Interop.dll /silent

Ответы [ 3 ]

2 голосов
/ 06 июня 2013

Я использовал предложенное автором решение, и оно работало для меня в Visual Studio 2012 на примере MSDN DSearch.zip.Чтобы реализовать решение, после того как я импортировал проект, я перешел к Project -> {project-name} properties .Оттуда перейдите к build build .Синтаксис предложенного автором кода изначально не работал для меня, но изменилось следующим образом:

set MSSdk="c:\Program Files\Microsoft SDKs\Windows\v7.1"
%MSSdk%\Bin\tlbimp.exe %MSSdk%\Lib\SearchAPI.tlb /namespace:Microsoft.Search.Interop /out:Microsoft.Search.Interop.dll /silent

Вы можете подтвердить это, запустив команду в командной строке Windows cmd.(читай: «запустить cmd от имени администратора»; нет ответа на сообщение == это сработало)

За решение также проголосовало / принято на сайте social.MSDN.microsoft.com

0 голосов
/ 20 октября 2015

Я много видел это, поэтому подумал, что могу кое-что прояснить ..

Эти команды относятся к этапам предварительной сборки проекта, который ссылается на сборку Microsoft.Search.Interop.В идеале, эта dll должна быть сгенерирована в папке bin проекта, добавив следующее в «Командную строку события перед сборкой» в разделе «События сборки»:

set MSSdk=c:\Program Files\Microsoft SDKs\Windows\v7.1

"%MSSdk%\Bin\tlbimp.exe" "%MSSdk%\Lib\SearchAPI.tlb" /namespace:Microsoft.Search.Interop /out:Microsoft.Search.Interop.dll /silent

Примечание.использовать ключ / silent в командной строке, и путь будет отличаться на 64-разрядных компьютерах или в зависимости от версии вашего SDK, поэтому у меня было следующее:

C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A
0 голосов
/ 26 сентября 2012

Это может быть из-за того, что dll отсутствует или может быть проблема с кэшированием в Visual Studio.Пожалуйста, попробуйте шаги ниже.Это работает для меня.

  1. Загрузите Windows Search 3.x SDK из этой ссылки и извлеките ее.
  2. Вы найдетеmicrosoft.search.interop.dll внутри имени папки Managed.
  3. Удалите существующую ссылку на microsoft.search.interop.dll из вашего проекта.
  4. Затем очистите решение.
  5. Закройте ваш проект и закройте Visual Studio.
  6. Откройте заново проект и добавьте новую ссылку на файл microsoft.search.interop.dll, который находится внутри имени папки Managed.
  7. Теперь скомпилируйте ваш проект
  8. Теперь выполните следующую команду

    set MSSdk = c: \ Program Files \ Microsoft SDKs \ Windows \ v7.1 "% MSSdk% \ Bin \ tlbimp.exe" "% MSSdk%\ Lib \ SearchAPI.tlb "/namespace:Microsoft.Search.Interop /out:Microsoft.Search.Interop.dll / silen

...