Почему Microsoft.SharePoint.Search.dll копируется в мой проект? - PullRequest
4 голосов
/ 13 октября 2008

При работе над проектом VS2005, который включает ссылку на Microsoft.SharePoint.dll, сборка проекта приводит к копированию Microsoft.SharePoint.Search.dll в мою папку bin. Почему это? Ладно, может быть, это просто ошибка, но я хочу знать механизм.

[Редактировать: Копирование локальных файлов наиболее определенно отключено - Microsoft.SharePoint.dll не копируется. Microsoft.SharePoint.Search.dll отсутствует в GAC, но это не имеет значения, если это так.]

Ответы [ 7 ]

3 голосов
/ 13 октября 2008
  • Это не в GAC
  • Он используется одной из сборок, на которую вы ссылаетесь (я думаю, что Microsoft.Sharepoint.dll ссылается на нее)
  • Поскольку вы не ссылаетесь на него, вы не можете установить Локальное копирование на ЛОЖЬ, насколько я знаю
  • Я изменил свои сценарии сборки / развертывания, чтобы просто удалить его.
1 голос
/ 14 июня 2009

Что сработало для меня, это

  • добавить ссылку на Microsoft.SharePoint и Microsoft.SharePoint.Search (даже если вам это не нужно)
  • установить для параметра «Копировать локально» значение false для обеих ссылок.

Когда вы создаете проект, ни один из них не копируется в каталог debug / release / what.

0 голосов
/ 29 мая 2015

Хорошо, я просто хотел добавить к ответу следующее объяснение:

1) В моем проекте были ссылки на: Microsoft.SharePoint Microsoft.SharePoint.Publishing

2) На x64 виртуальном сервере moss 2007, когда я компилировал свой проект, я добавил следующие файлы в мой bin / debug: ssocli.dll, Microsoft.SharePoint.Portal.SingleSignon.dll, Microsoft.SharePoint.Search.dll, Microsoft.SharePoint.Search.xml, Microsoft.Office.Server.Search.dll.

Интересно, что у меня не было этой проблемы на моем виртуальном сервере x86.

3) Все эти файлы можно найти в папке c: \ program files \ Common Files \ Microsoft Shared \ Расширения веб-сервера \ bin \ ISAPI.

4) Согласно ответу, который я нашел на форуме MSDN, указанные dll, вероятно, ссылаются или зависят от дополнительных dll. Из-за этого они добавляются в папку bin / debug.

5) Чтобы этого не происходило, вы можете ссылаться на зависимые библиотеки в вашем проекте и установить для локального копирования значение 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

0 голосов
/ 08 января 2010

Если на вашем компьютере (хосте), где вы компилируете сборку с архитектурой x64, и у вас установлена ​​версия SharePoint для x64 (со ссылками на эти сборки) во время «добавления ссылки», для параметра Локальное копирование будет установлено значение false ,

Итак, если сборка AMD64, и у вас установлен «Любой ЦП», то набор «Добавить ссылку» - это копия local = true, независимо от этого. Если вы изменяете его на false, но затем ссылаетесь на этот проект из другого, для которого также установлено целевое значение Any CPU или NOT x64, то ссылка get также копируется.

Взгляните на настройку MSBuild по этой ссылке: Как переопределить параметр CopyLocal (Private) для ссылок в .NET из MSBUILD

0 голосов
/ 13 октября 2008

Вероятно, это зависимость, и у вас включено локальное копирование.

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

0 голосов
/ 13 октября 2008

может быть потому, что его нет в GAC, потому что другие файлы, которые находятся в GAC, там не копируются.

0 голосов
/ 13 октября 2008

Вы пытались отключить «Копировать локальный» в свойствах для ссылки на Microsoft.SharePoint.dll?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...