타사 라이브러리 (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에서 파일을 포함하려면
예. 고맙습니다. 진짜 문제는 (비록 사소하고 다소 중요하지는 않지만) 내가 명시 적으로해야한다는 것입니다. 라이브러리를 컴파일 할 때, 나중에 내 라이브러리를 사용하는 알 수없는 일부 응용 프로그램의 출력 디렉토리로 복사해야한다는 결정을 내려야합니다. 상황이 그것을 요구할 때 VS가 나를 위해 이것을 처리하기를 바랬습니다. 필요한 참조가 XAML에서만 사용되는 경우는 예외입니다. –
@brandon : 라이브러리를 만들 때이 작업을 수행 할 필요는 없습니다. 당신은 당신의 솔루션에 도서관을 사용할 때 그것을합니다. 당신의 시나리오에서 뭔가를 놓치고 있습니까? –