2011-04-01 4 views
1

다음과 같은 상황에 어떻게 대처하고 있는지 업계 표준 또는 제안 사항을 알고 싶습니다.여러 Silverlight 프로젝트에 대한 공통 참조 파일은 어디에 보관합니까?

다른 실버 라이트 프로젝트를 만들어서 다른 날짜에 퍼블리시합니다. 이 모든 프로젝트는 varios 공유 코드 (일반 dll)를 사용합니다. 이 공유 코드는 클라이언트 측 또는 서버 측에서 사용됩니다. 내 질문은 공유 코드가 변경되면 모든 afftected 프로젝트를 다시 컴파일하고 공유 구성 요소를 사용하는 실제 코드를 변경하는 경우에만 릴리스 또는 다시 컴파일합니까?

현재 클라이언트 쪽에서는 각 Silverlight 프로젝트에 어셈블리 참조 폴더를 만들고 최신 필수 DLL을 넣습니다. 이렇게하면 XAP 자체에 필요한 모든 파일이 있으며 다른 프로젝트와 충돌하지 않고 정상적으로 작동합니다. 이 방법을 사용하면 일반 DLL이 변경 되었기 때문에 다른 클라이언트 측 코드를 다시 작성하지 않습니다. 여러 프로젝트에 공통적 인 dll 변경이 필요한 경우 영향을받는 모든 프로젝트에 최신 복사본을 놓고 빌드하고 배포하십시오.

한편, 서버 측 (EF를 사용하는 도메인 서비스)에서는 모든 서비스 코드가 웹 사이트의 bin 폴더 아래에 있습니다. 따라서 일반적인 dll을 변경하면 현재 프로젝트에 대한 최신 공용 dll을 게시해야 할뿐만 아니라 새 dll을 사용하도록 다른 모든 서비스를 다시 컴파일해야합니다.

의견 및 제안을 알고 싶습니다. 감사

답변

0

가능한 두 가지 방법이 있습니다

  • 솔루션에 공통 코드를 추가하고 프로젝트 참조
  • 이는
거기에서 폴더 및 레퍼런스 구축하는 빌드 프로세스를 가져옵니다

나는 첫 번째 옵션을 선호합니다. 필자는 항상 최신 코드를 사용하여 빌드하고 디버깅하며 부실 참조에 대해 걱정할 필요가 없습니다. 이전에에서 두 번째 방법을 사용했으며 지저분한이며 존재하지 않는 버그를 디버깅 한 후 팀의 시간을 낭비 할 수 있습니다 (이전 버전 참조). 사실, Visual Studio를 사용할 수있을 때 Visual Studio에서 때로는 이후 버전을 얻지 못한다는 것을 기억합니다.

0

Silverlight 프로젝트의 또 다른 대안은 공용 라이브러리가 포함 된 use MEF to dynamically download a XAP file입니다. 그런 다음 공용 라이브러리가 변경되면 업데이트 된 "CommonLibraries.xap"을 게시 할 수 있으며 Silverlight 클라이언트는 나머지 Silverlight 응용 프로그램과 독립적으로 새로 고침을 선택할 수 있습니다.

이러한 공통 라이브러리를 사용하는 다른 프로젝트에서도 동일한 방법을 사용할 수 있습니다. 응용 프로그램은 공통 라이브러리를 동적으로로드하여 공통 라이브러리를 독립적으로 새로 고칠 수 있습니다.

가능하면 WCF 서비스를 통해 "공용 라이브러리"코드를 사용하는 것이 좋습니다.

관련 문제