Проблема пространства имен Microsoft.SharePoint и Microsoft.Office - PullRequest
0 голосов
/ 27 октября 2009

Я учусь на следующем уроке по разработке приложений на основе Microsoft Search Server,

http://msdn.microsoft.com/en-us/library/ms497054.aspx

и ему нужны пространства имен Microsoft.SharePoint и Microsoft.Office. Может ли кто-нибудь сообщить мне, какие SDK / DLL необходимо добавить в проект, чтобы использовать пространства имен?

Я использую VSTS 2008 + C # + .Net для разработки приложения ASP.Net.

EDIT1: я отладил на другом компьютере с установленным WSS 3.0. И я обнаружил, что Dll находятся в папке Program Files, но не в папке Program Files (x86). После добавления ссылки на библиотеки DLL и запуска моей страницы aspx я получил следующее сообщение об ошибке, есть идеи, что не так?

Server Error in '/' Application.
--------------------------------------------------------------------------------

Could not load file or assembly 'Microsoft.Office.Server.Search, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c' or one of its dependencies. An attempt was made to load a program with an incorrect format. 
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 

Exception Details: System.BadImageFormatException: Could not load file or assembly 'Microsoft.Office.Server.Search, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c' or one of its dependencies. An attempt was made to load a program with an incorrect format.

Source Error: 

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.  

Stack Trace: 


[BadImageFormatException: Could not load file or assembly 'Microsoft.Office.Server.Search, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c' or one of its dependencies. An attempt was made to load a program with an incorrect format.]
   System.Reflection.Assembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, Assembly locationHint, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection) +0
   System.Reflection.Assembly.nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, Assembly locationHint, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection) +43
   System.Reflection.Assembly.InternalLoad(AssemblyName assemblyRef, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection) +127
   System.Reflection.Assembly.InternalLoad(String assemblyString, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection) +142
   System.Reflection.Assembly.Load(String assemblyString) +28
   System.Web.Configuration.CompilationSection.LoadAssemblyHelper(String assemblyName, Boolean starDirective) +46

[ConfigurationErrorsException: Could not load file or assembly 'Microsoft.Office.Server.Search, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c' or one of its dependencies. An attempt was made to load a program with an incorrect format.]
   System.Web.Configuration.CompilationSection.LoadAssemblyHelper(String assemblyName, Boolean starDirective) +613
   System.Web.Configuration.CompilationSection.LoadAllAssembliesFromAppDomainBinDirectory() +203
   System.Web.Configuration.CompilationSection.LoadAssembly(AssemblyInfo ai) +105
   System.Web.Compilation.BuildManager.GetReferencedAssemblies(CompilationSection compConfig) +178
   System.Web.Compilation.WebDirectoryBatchCompiler..ctor(VirtualDirectory vdir) +163
   System.Web.Compilation.BuildManager.BatchCompileWebDirectoryInternal(VirtualDirectory vdir, Boolean ignoreErrors) +53
   System.Web.Compilation.BuildManager.BatchCompileWebDirectory(VirtualDirectory vdir, VirtualPath virtualDir, Boolean ignoreErrors) +175
   System.Web.Compilation.BuildManager.CompileWebFile(VirtualPath virtualPath) +83
   System.Web.Compilation.BuildManager.GetVPathBuildResultInternal(VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile) +261
   System.Web.Compilation.BuildManager.GetVPathBuildResultWithNoAssert(HttpContext context, VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile) +101
   System.Web.Compilation.BuildManager.GetVirtualPathObjectFactory(VirtualPath virtualPath, HttpContext context, Boolean allowCrossApp, Boolean noAssert) +126
   System.Web.Compilation.BuildManager.CreateInstanceFromVirtualPath(VirtualPath virtualPath, Type requiredBaseType, HttpContext context, Boolean allowCrossApp, Boolean noAssert) +62
   System.Web.UI.PageHandlerFactory.GetHandlerHelper(HttpContext context, String requestType, VirtualPath virtualPath, String physicalPath) +33
   System.Web.UI.PageHandlerFactory.System.Web.IHttpHandlerFactory2.GetHandler(HttpContext context, String requestType, VirtualPath virtualPath, String physicalPath) +40
   System.Web.HttpApplication.MapHttpHandler(HttpContext context, String requestType, VirtualPath path, String pathTranslated, Boolean useAppConfig) +160
   System.Web.MapHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +93
   System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +155

Ответы [ 4 ]

4 голосов
/ 08 июня 2010

Я думаю, что вы просто установили WSS, а не MOSS. Вам нужно установить MOSS поверх WSS, чтобы получить нужные функции и сборки.

DLL-библиотеки WSS (если это все, что вы видите, у вас просто установлен WSS) Microsoft.SharePoint.dll Microsoft.SharePoint.Search.dll Microsoft.SharePoint.Security.dll microsoft.sharepoint.WorkflowActions.dll Owssvr.dll SHTML.DLL MOSS DLLs (в дополнение к WSS DLL)

Microsoft.Office.Excel.Server.Udf.dll

Microsoft.Office.Excel.Server.WebServices.dll

Microsoft.Office.Policy.dll

Microsoft.Office.Server.dll

Microsoft.Office.Server.Search.dll

microsoft.office.workflow.tasks.dll

microsoft.sharepoint.portal.dll

Microsoft.SharePoint.Portal.SingleSignOn.dll

Microsoft.SharePoint.Portal.SingleSignOn.Security.dll

Microsoft.SharePoint.Publishing.dll

SSOCLI.DLL

2 голосов
/ 27 октября 2009

Установка ссылки на сборку Microsoft.SharePoint

После создания проекта добавьте ссылка на Microsoft.SharePoint сборка для импорта его пространств имен и реализовать функции IntelliSense в Обозреватель объектов и редактор кода.

Чтобы добавить ссылку на сборку Microsoft.SharePoint

  1. В обозревателе решений щелкните правой кнопкой мыши проект и выберите команду Добавить. Ссылка в контекстном меню.

  2. На вкладке .NET диалогового окна Добавить ссылку выберите Windows SharePoint Services в списке компонентов, а затем нажмите кнопку ОК.

    Для запуска или отладки кода, использующего сборку Microsoft.SharePoint, вы должен запустить код на сервере под управлением Windows SharePoint Services. Если вы используете Visual Studio 2005 на удаленный компьютер, вы не можете запустить или код отладки, который использует объектную модель. Тем не менее, вы можете установить пульт ссылку на сборку написать код и увидеть Microsoft.SharePoint собрание представлено в кодексе Редактор. Чтобы добавить удаленную ссылку в таким образом, сделайте следующее:

    Щелкните вкладку «Обзор» диалогового окна «Добавить ссылку» и перейдите к Microsoft.SharePoint.dll в \ Program Files \ Common Files \ Microsoft Shared \ Расширения веб-сервера \ 12 \ ISAPI папка на сервере под управлением Windows SharePoint Services. Вы можете вместо хочу скопировать Microsoft.SharePoint.dll из этой папки на локальный диск удаленный компьютер, а затем откройте это локальная копия DLL . Нажмите Open.

    1037 **

( Источник: MSDN )

1 голос
/ 27 октября 2009

Основными .dll для SharePoint являются Microsoft.SharePoint.dll и Microsoft.Office.Server.dll, которые расположены в %ProgramFiles%\Common Files\microsoft shared\Web Server Extensions\12\ISAPI,

0 голосов
/ 05 мая 2012

Просто поместите microsoft.sharepoint.dll в папку bin вашего веб-приложения. Взгляните на этот пост: https://sharepoint.stackexchange.com/questions/35502/how-to-add-reference-for-microsoft-sharepoint-to-a-web-application

Также попробуйте поискать в папке C: \ Program Files \ Common Files \ Microsoft Shared \ Расширения веб-сервера \ 14 \ ISAPI. Вот где он находится для Sharepoint 2010 на Windows Server 2008. Я думаю, что куст «12» предназначен для Sharepoint 2007. Если вы используете Sharepoint 2010, то он 64-битный, поэтому вы бы посмотрели в «Program Files», а не Программные файлы (x86) ".

Имея dll в папке bin, теперь вы можете использовать using microsoft.sharepoint; в ваших файлах кода .cs.

...