2010-07-25 5 views
0

일반적인 Silverlight 작업 : xap-file의 크기를 작게 만들기. 응용 프로그램을 모듈화하는 방법을 설명하는 많은 hot-to-do 설명서가 있습니다. 그러나 "모듈 형"표준 라이브러리를 만드는 방법을 설명하는 사람을 찾지 못했습니다.Silverlight : 표준 어셈블리를 처리하는 방법

내 xap- 파일 (1.7Mb, 전체 크기가 1.8MB 일 때)의 가장 큰 부분은 표준 어셈블리에 의해 점유됩니다. 그 중 System.Windows.Controls.dll - 370Kb, System.Windows.Controls.Data.dll - 464Kb, 등 ...

xap 파일에서이 어셈블리를 옮기는 방법을 알려주시겠습니까? 프리즘/단일체를 사용하여 동적으로로드 할 수 있지만이 경우 Silverlight 라이브러리에서이 어셈블리에 대한 참조를 제거해야합니다 ...

세부 사항 : 내가 상상할 수있는 것은 " ModuleAView "프로젝트, 내 응용 프로그램에 대한 페이지가 포함되어 있습니다. 이 모듈은 별도의 어셈블리에 있지만 ... 여전히 꽤 큽니다 (언급 된 모든 라이브러리가 들어 있습니다). 프로젝트에서 라이브러리를 이동하면 내 XAML 파일이 호환되지 않습니다.

알려 주시기 바랍니다. 감사합니다. .

답변

1

하나의 제안은 Silverlight의 어셈블리 파일 캐싱 옵션을 사용하는 것입니다. 문서 및 워크 쓰루는 here입니다. 응용 프로그램의 전체 크기는 변경되지 않지만 브라우저를 사용하여 개별 어셈블리를 캐시 할 때 최종 사용자 경험이 향상됩니다.

+0

:

여기 소스 코드에 대한 심층적 인 예를있다. 캐싱 옵션을 관리하고 '수'매개 변수로 날짜/시간 매개 변수를 추가 (다른 XAP 파일 이름을 제공을에서 내 원근법, 제 2는 더 정확한 것, 그러나 나의 환경에서 작동하지 않는다. 제 1 접근의 문제 - ... 그러나 아마 당신 맞다 : 우리는 xap 파일 이름을 바꿀 필요가없는 다, 그러나 우리는 브라우저가 파일을 서버 측에서 변경했는지 확인하고 다시로드해야한다는 사실을 브라우저에 알려주십시오. 감사합니다.이 질문은 실제로는 아니지만 의견은 도움이됩니다. :) – Budda

+1

무엇을 의미합니까? 나는 당신의 질문이 정말로 무엇인지 분명하지 않다. 내 대답과 제공된 링크는 표준 어셈블리를 XAP 파일에서 이동하는 방법과 직접 만드는 방법을 보여줍니다. – WiredPrairie

+0

죄송합니다. 의견에 명확하지 않았습니다. 나에게 "Silverlight의 어셈블리 파일 캐싱 옵션을 사용하는 방법"이 xap 파일의 크기를 줄이는 지 확실하지 않았습니다.나는 당신이 웹 브라우저 캐싱에 대해 이야기하고 있다고 생각했다 :) 당신의 링크는 완벽하다. (분명히 나와있는 것은 아니지만, 이것은 다른 질문을위한 주제이다. 감사합니다. . – Budda

0

일반적으로 크기가 큰 복합 애플리케이션의 경우 DLL의 "적중"(즉, x, y 및 z를 사용하는 경우 호스트에 포함됨)을 차지하는 호스트 응용 프로그램을 다운로드합니다. 또 다른 옵션은 가벼운 입문용 XAP이며, 백그라운드에서 추가로 다운로드 할 수 있습니다.

어느 쪽이든, 핵심은 프로젝트를 관련시키는 방법을 전략화하여 DLL을 한 번만 포함시키는 것입니다. 필요한 DLL이 포함 된 XAP 파일을 가져 오면 동일한 응용 프로그램에로드 된 다른 XAP에서 참조를 "copy-local = false"로 설정할 수 있습니다. 이는 예를 들어 System.Windows.Controls.Data.dll을 계속 참조하지만 실제로 XAP 생성에 사본을 보관하지 않음을 의미합니다.

초기 설정의 공간과로드 시간을 줄이려면, Application.xap을 실행하고 사용자에게 탐색, 스플래시 화면 등을 제공하십시오. 그러면 동적으로 " Libraries.xap "은 백그라운드에서 종속 DLL (컨트롤 등)을 포함하며 마지막으로 다른"Module1.xap "및"Module2.xap "은 DLL을 참조하지만 copy local을 false로 설정합니다. 나는 몇 가지 접근 방식을 보았다 http://csharperimage.jeremylikness.com/2010/06/advanced-silverlight-applications-using.html

관련 문제