Windows Forms으로 Sharepoint 관련 툴을 만들던 중 아래와 같은 에러가 발생하였습니다.
한글
System.Runtime.InteropServices.COMException (0x80040154): 80040154 오류로 인해 CLSID가 {BDEADF26-C265-11D0-BCED-00A0C90AB50F}인 구성 요소의 COM 클래스 팩터리를 검색하지 못했습니다.
영문
System.Runtime.InteropServices.COMException (0x80040154): Retrieving the COM class factory for component with CLSID {9DB232DC-50D6-4AAF-BA35-E510E16B2056} failed due to the following error: 80040154.
System.Runtime.InteropServices.COMException (0x80040154): 80040154 오류로 인해 CLSID가 {BDEADF26-C265-11D0-BCED-00A0C90AB50F}인 구성 요소의 COM 클래스 팩터리를 검색하지 못했습니다. 위치: Microsoft.SharePoint.Library.SPRequest..ctor() 위치: Microsoft.SharePoint.SPGlobal.CreateSPRequestAndSetIdentity(SPSite site, String name, Boolean bNotGlobalAdminCode, String strUrl, Boolean bNotAddToContext, Byte[] UserToken, String userName, Boolean bIgnoreTokenTimeout, Boolean bAsAnonymous) 위치: Microsoft.SharePoint.SPRequestManager.GetContextRequest(SPRequestAuthenticationMode authenticationMode) 위치: Microsoft.SharePoint.Administration.SPFarm.get_RequestAny() 위치: Microsoft.SharePoint.SPSecurity.GetCurrentUserTokenNoApplicationPrincipalDelegated() 위치: Microsoft.SharePoint.SPSecurity.GetCurrentUserToken() 위치: Microsoft.SharePoint.SPSecurity.EnsureOriginatingUserToken() 위치: Microsoft.SharePoint.SPSecurity.RunWithElevatedPrivileges(WaitCallback secureCode, Object param) 위치: Microsoft.SharePoint.SPSecurity.RunWithElevatedPrivileges(CodeToRunElevated secureCode) 위치: StandardBoardItemAddTool.Form1.get_SPAdmin() 파일 D:\Temp\Code\Doosan.SPPerformanceTestTool\StandardBoardItemAddTool\Form1.cs:줄 41 위치: StandardBoardItemAddTool.Form1.StandardBoardAddItem(String strSiteUrl, String strListName) 파일 D:\Temp\Code\Doosan.SPPerformanceTestTool\StandardBoardItemAddTool\Form1.cs:줄 72 위치: StandardBoardItemAddTool.Form1.btnStart_Click(Object sender, EventArgs e) 파일 D:\Temp\Code\Doosan.SPPerformanceTestTool\StandardBoardItemAddTool\Form1.cs:줄 141
해당 에러의 원인은 아래와 같습니다.
64bit COM을 사용해야 하는데 플랫폼 대상이 32bit로 지정되어 있어서 나타나는 에러입니다.
변경은 아래와 같이 하시면 됩니다.
해당 프로젝트에 속성 –> 빌드 –> 플랫폼 대상을 x64로 변경하면 됩니다.
이상입니다.
감사합니다.