2010-06-17 5 views
3

타사 라이브러리 (A)가 있습니다. 해당 라이브러리는 Silverlight 클래스 라이브러리 (B)에서 참조됩니다. Silverlight 클래스 라이브러리는 Silverlight 응용 프로그램 (C)에서 참조됩니다. 타사 라이브러리는 Silverlight 응용 프로그램에서 명시 적으로 참조되지 않습니다.Silverlight 클래스 라이브러리의 어셈블리 참조 및 xaml에서만 사용되는 어셈블리 참조는 XAP에 패키지되어 있지 않습니다.

종속성이있는 체인 (C -> B -> A) 때문에 "A"가 "B"의 모든 클래스에서 사용되면 "X"에 "A"가 추가 된 것처럼 보입니다. 이것은 내가 기대하고 필요로하는 행동입니다.

"A"가 C# 클래스에서는 명시 적으로 사용되지 않지만 Xaml에서만 정의 된 경우 어셈블리는 XAP에 패키지되지 않습니다. 어쩌면 "A"는 선언적으로 만 사용되며 다른 방법으로는 참조되지 않는 컨트롤을 포함 할 수 있습니다.

이것은 의도적으로 설계된 동작입니까? 내가 이것을 통제하는 어딘가에 놓치고 있습니까? 내 Silverlight 응용 프로그램에서 타사 라이브러리를 명시 적으로 참조하지 않는 것이 좋습니다. 필요한 모든 어셈블리가 XAP에 패키지되어 있는지 확인하는 것이 가장 좋습니다. 명시 적으로 참조되지 귀하의 XAP에서 파일을 포함하려면

답변

0

은, 당신이 할 모든이있다 : Visual Studio에서

/솔루션 탐색기 1. 마우스 오른쪽 버튼으로 귀하의 웹 사이트/서비스를 포함하는 프로젝트를 클릭합니다 2. "Add Existing"을 선택하고 원하는 dll을 가리 키십시오. 3. 프로젝트에 있으면 파일을 마우스 오른쪽 버튼으로 클릭하고 을 엽니 다. 4. Build 액션을 "Content"로 설정하십시오. 5. "Copy 출력 디렉토리 "를"항상 복사 "로 변경

XAP에 파일을 포함해야합니다.

+0

예. 고맙습니다. 진짜 문제는 (비록 사소하고 다소 중요하지는 않지만) 내가 명시 적으로해야한다는 것입니다. 라이브러리를 컴파일 할 때, 나중에 내 라이브러리를 사용하는 알 수없는 일부 응용 프로그램의 출력 디렉토리로 복사해야한다는 결정을 내려야합니다. 상황이 그것을 요구할 때 VS가 나를 위해 이것을 처리하기를 바랬습니다. 필요한 참조가 XAML에서만 사용되는 경우는 예외입니다. –

+0

@brandon : 라이브러리를 만들 때이 작업을 수행 할 필요는 없습니다. 당신은 당신의 솔루션에 도서관을 사용할 때 그것을합니다. 당신의 시나리오에서 뭔가를 놓치고 있습니까? –

관련 문제