2011-08-01 4 views
0

공유 지점 웹 파트 및 Visual Studio 구조에 대한 모범 사례가 무엇인지 생각해 볼 수 있는지 궁금합니다. 내가 말하고자하는 것은 몇 가지 셰어 포인트 양식 응용 프로그램 프로젝트가 있고 프로젝트 (관리 페이지, 레코드보기 페이지 등) 내에 여러 탭 또는 페이지가 있으며 모두 동일한 "인트라넷"회사 프로젝트에 속합니다. 나는 자습서와 웹 파트를 모두 별도의 솔루션으로 만드는 것 같은 많은 사이트를 본다. 나는 세 가지 질문이 있습니다 :솔루션을 사용한 SharePoint 모범 사례

1.) 다른 웹 페이지 나 같은 프로젝트에있는 다른 페이지 일지라도 양식의 각 "부분"이 프로젝트해야합니까? 다른 프로젝트에 있다면 런타임 중에 제어하기가 어려울 것이기 때문에 후자를 생각할 것입니다.

2.) 동일한 마스터 인트라넷 프로젝트의 다른 형태이지만 자신의 Visual Studio 프로젝트에서 동일한 솔루션을 사용해야합니까? 또는 다른 것들.

3.) 클래스 라이브러리 ... WPF 또는 ASP.net과 같은 방식으로 수행됩니까?

답변

1

글쎄 정말 요구 사항에 따라 다릅니다. 대부분의 경우 WebPart를 래퍼로 사용하여 다른 프로젝트에 있지만 동일한 솔루션에있는 UserControls를 동적으로로드합니다. 좀 더 "정적"뭔가가 필요하면 WebPart 대신 Application Page를 사용하는 것이 좋습니다.

내가 예와 함께 설명을하려고합니다 :

는 프로젝트 관리자가 :-) 하하 (자신의 일을하는 데 도움이되는 솔루션을 만들라고 할 수 있습니다. 당신은이 앱을 "PM App"과 같이 부를 것입니다. 이 부분은 이슈 트래커, 타임 트래커 및 리포팅 앱의 세 부분으로 구성됩니다.

분명히 첫 번째 단계는 "PM App"이라는 빈 솔루션을 만드는 것입니다. 솔루션의 3 부분 모두 로거 구성 요소 또는 DataAccessLayer와 같이 공통점이 있으므로 "공통"이라는 새 프로젝트를 만듭니다.

그러면 솔루션 디자인에 따라 달라집니다. WebPart/UserControl 솔루션을 사용한다고 가정 해 보겠습니다. SharePoint 프로젝트 인 "SP PM"이라는 새 프로젝트를 만듭니다 (실제로이 프로젝트의 적절한 이름을 찾지 못했습니다). 그런 다음 솔루션의 각 부분에 대해 WebPart를 만듭니다 (IssueTrackerWebPart 등 ...). 자, WebPart 당 UserControl이 1 개 밖에 없으면 쉽습니다. 기본적으로 WebPart는 UserControl에 대한 래퍼 역할을합니다.

여러 개의 UserControl이있는 경우 (원하는 경우) 매우 까다 롭습니다. 나는 항상 "UserControls"라는 새로운 ASP.NET WebApplication 프로젝트를 만들고 UserControls를 추가합니다. 이 방법으로 문제가 "SP PM"프로젝트에서 UserControls를 참조하는 것입니다. dll을 참조하는 것은 문제가되지 않지만 .ascx 파일을 참조하는 것은 문제가되지 않습니다.

내가하는 일은 postscript를 사용하여 "UserControls"프로젝트에서 .ascx 파일을 "SP PM"프로젝트로 복사하는 것입니다. 나는 이것이 가장 좋은 해결책이 아니라는 것을 알고 있지만,이 문제에 관해 다른 많은 개발자들과 이야기를 나눴지만 아무도 지금까지는 더 나은 해결책을 찾지 못했습니다.

이것은 SharePoint 컨텍스트에서 (실제로 다른 것과 같이) 정말 어려운 문제이며, 모범 사례는 제가 아는 한 없습니다. 가장 좋은 방법은 동료 개발자와 함께 앉아 솔루션/프로젝트 구조를 만드는 방법을 물어 본 다음 좋은 중간 방법을 찾는 것입니다.

tl; "일반적인"방법은 없습니다. 실제로 요구 사항에 따라 다릅니다.

solution explorer

희망이 당신에게 어떤 의미가 있습니다, 당신은 더 이상 질문이 있으면 물어 주시기 바랍니다 : 내가 보이게한다고 생각하는 방법을

나는 빨리 함께로 솔루션을했습니다. 또한 다른 사람들이 이러한 문제에 어떻게 접근하는지에 대한 의견을 듣고 싶습니다.

+0

물론입니다. 2.) 나는 이런 종류의 것이 # 1에 대한 당신의 대답과 함께한다고 생각한다. 유지 관리 및 배포 관점에서 무엇이 최선인지 결정하려고합니다. application1 (필드가있는 양식이며 사용자가 작성한 다음 전자 메일로 보내면) 및 application2는 사람들이 액세스 할 수있는 데이터의 스프레드 시트입니다. 이 두 가지 WebPart, 다른 사용자 정의 컨트롤, 다른 프로젝트입니까? 나는 웹 파트와 사용자 정의 컨트롤 사이의 명명과 개념 차이로 인해 길을 잃었다 고 생각한다. 또한 특정 프로젝트에 둘 이상의 웹 파트가 있어야합니까? – gcoleman0828

+0

# 3은 데이터 액세스 레이어와 같습니다. Messenger Class를 만들었다 고 할 수 있습니다. 이 모든 클래스는 전자 메일 요청을 처리합니다. 내 노력을 복제하고 모든 Webpart 프로젝트에 복사하고 싶지 않습니다. 나는 오히려 내 모든 일반 수업을 보유하고 내 webparts 그들을 참조하는 라이브러리를 가지고 싶습니다. 그게 더 합리적입니까? 그렇다면 어떻게해야하고 어떻게 할 지에 대한 자습서가 있습니까? 우리는 요 전날에 라이브러리에 액세스하려고 할 때 여러 가지 오류가 발생했습니다. – gcoleman0828

+0

답변을 업데이트했습니다. – int32

관련 문제