找不到C#Microsoft.Search.Interop

时间:2011-08-08 08:41:27

标签: c# visual-studio-2010 search dll

我开发了一个使用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 个答案:

答案 0 :(得分:2)

我使用了作者提出的解决方案,它在DSearch.zip MSDN示例中的Visual Studio 2012中对我有用。为了实现解决方案,在我导入项目之后,我去了 Project - > {project-name}属性。从那里,转到构建活动。作者提议的代码的语法最初对我没有用,但改变如下:

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”;没有消息响应==它有效)

The solution is also voted on/accepted at social.MSDN.microsoft.com

答案 1 :(得分:0)

可能是dll不存在或者它可能是Visual Studio的缓存问题。请尝试以下步骤。它对我有用。

  1. this Link下载Windows Search 3.x SDK并将其解压缩。
  2. 您将在文件夹名称Managed中找到microsoft.search.interop.dll。
  3. 从项目中删除microsoft.search.interop.dll的现有引用。
  4. 然后清洁溶液。
  5. 关闭项目并关闭Visual Studio。
  6. 重新打开项目并添加对文件夹名称Managed中存在的microsoft.search.interop.dll的新引用。
  7. 现在编译您的项目
  8. 现在运行以下命令

    设置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

答案 2 :(得分:0)

我已经看到了很多,所以我想我可能会澄清一些事情......

这些命令属于引用Microsoft.Search.Interop程序集的项目的预构建步骤。理想情况下,通过将以下内容添加到"预构建事件命令行"将在项目bin文件夹中生成该dll。在"构建活动"部分:

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