2009-09-15 4 views
0

동일한 DLL을 사용하지만 두 개의 .webpart 파일을 SharePoint 위치에 SharePoint에 배포 할 수 있습니까? 같은 시간?동일한 DLL을 사용하지만 두 개의 .webpart 파일을 동시에 SharePoint의 두 웹 파트에 배포 할 수 있습니까?

배경 : 웹 파트 (ASP.NET 2.0 웹 파트)가 포함 된 ".cab"파일을 생성하는 응용 프로그램을 개발 중입니다. 그런 다음 사용자는이 ".cab"파일을 SharePoint 서버에 배포 할 수 있어야합니다.

내 응용 프로그램에 이미 웹 파트의 DLL이 포함되어 있습니다. 이 웹 파트의 "동작"은 응용 프로그램에서 런타임에 생성되는 ".webpart"파일의 속성에 따라 달라집니다 (특정 사용자의 선택에 따라 내용이 변경됨) ".webpart"파일을 생성 한 후 Manifest.xml 및 DLL을 따라 ".cab"파일에 패키지화합니다.

사용자가 내 응용 프로그램을 사용하여 두 개의 "cab"파일을 생성한다고 가정 해보십시오. 그리고 그는 SharePoint에 배포하려고합니다.

이를 테스트하려면, 내 응용 프로그램과 함께이 두 개의 ".CAB"파일을 생성 및 SharePoint에 내가 실행 :

$> STSADM.EXE -o addwppack <cab filename #1> 
$> STSADM.EXE -o addwppack <cab filename #2> 
$> STSADM.EXE -o deletewppack <cab filename #1> 

을 세 번째 명령의 실행 후, 웹 파트 # 2는하지 않습니다 DLL을 가지고있다. 웹 파트 2를 설치할 때 SharePoint에서 웹 파트 1의 DLL 파일을 덮어 씁니다. 두 파일의 DLL이 같은 위치에 복사된다는 점이 문제입니다. 그 위치는 DLL의 어셈블리 이름입니다. 어셈블리 이름은 다시 컴파일하지 않고는 변경할 수 없습니다 (제 생각 엔).

동일한 DLL을 공유하더라도 두 cab 파일을 독립적으로 배포 할 수 있습니까?

답변

0

두 부분으로 응용 프로그램을 나눌 수 있습니다 : dll 만 들어있는 '라이브러리'. 그리고 .webpart 파일 만 배포합니다. 사용자는 항상 '라이브러리'파트를 설치해야합니다.

또한 'wpppack'을 설치하지 않아도됩니다. .webpart 파일은 사이트의 라이브러리에있는 파일 일뿐입니다 .. 서버에 .cab을 설치하는 것보다 쉽게 ​​추가 할 수 있습니다.

0

이것은 전혀 문제가되지 않습니다. .webpart 파일은 어셈블리 내의 클래스를 가리키고 해당 클래스의 특정 인스턴스에 대한 구성 값을 제공합니다. 웹 파트 갤러리에서 웹 파트의 여러 구성을 사용할 수있게하려면 같은 클래스를 참조하는 여러 .webpart 파일을 업로드하여 이동하십시오. 예를 들어, listview webpart의 모든 인스턴스는 .webpart 파일로 내보낼 수 있지만 모두 동일한 webpart 클래스를 사용합니다. .webpart 파일의 내용에 대한 자세한 내용은 this blog posting을 확인하십시오.

관련 문제