代码之家  ›  专栏  ›  技术社区  ›  Hafthor

为什么在我的项目中复制Microsoft.SharePoint.Search.dll?

  •  4
  • Hafthor  · 技术社区  · 16 年前

    在处理涉及引用Microsoft.SharePoint.dll的VS2005项目时,生成该项目会导致将Microsoft.SharePoint.Search.dll复制到“我的bin”文件夹。为什么会这样?好吧,也许只是个bug,但我想知道它的机制。

    [编辑:复制本地已完全关闭--未复制Microsoft.SharePoint.dll。Microsoft.SharePoint.Search.dll不在GAC中,但它是否在GAC中并不重要。]

    7 回复  |  直到 16 年前
        1
  •  3
  •   Michael Stum    16 年前
    • 它不在GAC里
    • 您引用的某个程序集正在使用它(我认为Microsoft.Sharepoint.dll引用了它)
    • 因为您没有引用它,所以据我所知,您不能将本地副本设置为FALSE
        2
  •  1
  •   user122560 user122560    16 年前

    对我有用的是

    • 将两个引用的“复制本地”设置为false。

    构建项目时,它们都不会复制到debug/release/where目录。

        3
  •  0
  •   TheVillageIdiot    16 年前

        4
  •  0
  •   FlySwat    16 年前

    它可能是一个依赖项,并且您启用了复制本地。

        5
  •  0
  •   erlando    16 年前

    您是否尝试关闭属性中的“复制本地”以引用Microsoft.SharePoint.dll?

        6
  •  0
  •   Community CDub    8 年前

    如果您正在编译x64体系结构的程序集的计算机(主机),并且在“添加引用”过程中安装了x64版本的SharePoint(对这些程序集设置了引用),则会将Copy local设置为false。

    How do I override CopyLocal (Private) setting for references in .NET from MSBUILD

        7
  •  0
  •   AdamantineWolverine    10 年前

    好的,我只是想补充一下这个解释:

    Microsoft.SharePoint

    2) 在x64虚拟moss 2007服务器上,当我编译我的项目时,我将以下文件添加到我的bin/debug中: ssocli.dll, Microsoft.SharePoint.Search.xml,

    有趣的是,我的x86虚拟服务器上没有这个问题。

    3) 所有这些文件都可以在c:\program files\Common files\Microsoft Shared\Web Server Extensions\bin\ISAPI中找到。

    5) 为了防止这种情况发生,您可以引用项目中的依赖DLL,并将copy local设置为false。

    https://social.msdn.microsoft.com/Forums/sharepoint/en-US/192fa94c-b588-401d-8ca8-845c3fe15f60/could-not-load-file-or-assembly-microsoftsharepointsearch-version12000-cultureneutral?forum=sharepointdevelopmentlegacy

        8
  •  0
  •   Rumen Jekov    5 年前

    enter image description here

    解决方案是取消选中它并卸载插件。因此,编译项目时不应将SharePoint相关程序集添加到项目中。

    我希望这些信息能对某人有所帮助。