2010-08-03 3 views
1

클래스 라이브러리의 모든 어셈블리를 단일 .dll 파일에 병합하려고합니다.사용자 지정 컨트롤이있는 IlMerge Silverlight 클래스 라이브러리

나는 모든 어셈블리를 Ilmerge를 사용하여 병합 할 수 있지만 Silverlight 응용 프로그램에서 병합 된 DLL을 사용할 때 UserControl을 상속 한 컨트롤을 사용할 경우 템플릿이 내 컨트롤과 바인딩 문제에 적용될 때 문제가 발생합니다. .

이 문제를 해결할 수있는 해결책이 있습니까?

+0

왜 어셈블리를 병합 하시겠습니까? 각각을 xap에 개별적으로 포함시키는 것은 무엇이 문제입니까? – AnthonyWJones

+0

다른 프로젝트에서 Silverlight 클래스 라이브러리를 사용하기 쉽게 만들기 위해 모든 어셈블리를 병합하려고합니다. 그렇지 않으면 프로젝트에 많은 참조를 추가해야합니다. – dfsilva

답변

0

문제는 초기 dll이 빌드 될 때 프로젝트의 Xaml이 dll의 리소스로 추가된다는 것입니다. 이 XAML을로드 생성 된 코드는 다음과 같이 보일 것입니다 : - 열린 우리당의 DLL 형태 부분의 이름이 XAML을 가져 오기 위해 필요한 방법

System.Windows.Application.LoadComponent(this, new System.Uri("/SilverlightLibrary1;component/MyControl.xaml", System.UriKind.Relative)); 

참고. 나는 IlMerge가 그것을 발견하고 고칠 수 있을지 의심 스럽다. 따라서 일단 통합되면 Uris를 찾을 수 없습니다.

이 해결 방법은 여러 참조보다 못 생기거나 관련된 모든 코드 파일을 연결하는 다른 프로젝트를 만드는 것보다 쉽습니다.

관련 문제