2012-09-17 2 views
0

일부 SharePoint 사이트에서는 몇 가지 asp.net UserControl 라이브러리를 사용합니다. 때로는 UserControls의 어셈블리를 변경하거나 변경 될 수있는 일부 어셈블리 (예 : 로깅 어셈블리)를 변경합니다. 우리는 GAC에 이러한 어셈블리를 가지고 있습니다. 현재 버전을 새 버전의 어셈블리로 바꾸면 iisreset이 수행 될 때까지 코드 변경 사항이 적용되지 않습니다. SharePoint가 실제로 사용하는 어셈블리가 디스크 나 메모리의 다른 위치에 캐시되는 것과 마찬가지입니까? 내가 SharePoint 사이트를 사용하는 유일한 사람이라면 iisreset이 좋지만 데이터 입력이나 다른 개발을 위해 다른 사용자가 사이트를 사용하는 경우 실제로 엉망이 될 수 있습니다. 누군가 내가 여기서보고있는 것을 설명 할 수 있고 GIS에서 어셈블리를 다시로드하여 iisreset없이 코드 변경 사항을 볼 수있는 방법이 있는지 말해 줄 수 있습니까?IISReset없이 업데이트 한 후 Sharepoint에서 GAC 어셈블리의 새 버전을 사용하도록 설정합니다.

답변

0

SharePoint는 캐시 된 버전의 DLL을 사용하고 iis를 다시 설정하는 것이 유일한 방법입니다. 다른 옵션은 응용 프로그램 풀 어셈블리를 다시로드 할 수있는 Bin 폴더에 DLL을 넣는 것입니다. Sharepoint 개발에 대한 일반적인 권장 사항은 각 개발자가 Sharepoint가 설치된 자체 VM을 갖는 것입니다.

+0

Thanks Shoban. 솔루션을 검색 할 때 배포 패키지 (w/VS 또는 powershell?)를 사용하여 SharePoint 솔루션을 배포하면 사람들이 IIS를 재설정하지 않고 GAC 어셈블리를 업데이트하므로 어떤 식 으로든 가능해야한다고 생각했습니다. 우리는 과거에 VM을 시도했지만, 서로 천천히 서로 동기화되지 않았기 때문에 그다지 효과가 없었습니다 (그리고 모든 사람들이 내 VM에 연결되어 컴퓨터가 다운되었습니다 ...). 우리는 여전히 대부분의 개발 작업을 수행합니다. SP의 바깥쪽에 있지만 결국에는 모두 함께 모아서 테스트해야합니다. – xr280xr

+1

그런데 SharePoint는 어디에서 DLL을 캐시합니까? 메모리 또는 실제 사본에 있습니까? 조립품을 사용하지 않는 것이 흥미 롭지 만 GAC에서 조립품을 분리하면 조립품이 누락 된 것으로 나타납니다. – xr280xr

+0

지연되어서 죄송합니다. 리셋 후에 사이트가 다시 돌아올 때까지 기다리는 것이 얼마나 실망 스러운지 알고 있지만, 우리는 함께 살아야 할 것이라고 생각합니다. DLL이 캐시되는 위치를 잘 모릅니다. 더 많은 것을 파헤쳐 야합니다 :) – Shoban

관련 문제