2010-08-29 2 views
2

Вопросы:Как структурируются файлы XAP?

  1. Являются ли файлы XAP автономными?
  2. Связать ли они со всеми DLL-файлами, на которые я ссылался в проекте?
  3. Если мне нужно распространять свое приложение, все, что мне нужно сделать, это передать кому-то файл XAP?

ответ

3
  1. По умолчанию да. Для альтернатив см. Ответ 3.
  2. По умолчанию все, кроме основных DLL, установленных в среде выполнения; он будет содержать что-либо из SDK, Toolkit, сторонних элементов управления или ваших собственных библиотек.
  3. По умолчанию да. Тем не менее, есть опция Silverlight 3 для упаковки определенных сборок (например, ничего из SDK) в отдельные ZIP-файлы, которые загружаются отдельно. В Visual Studio просмотрите свойства проекта для флажка «Уменьшить размер XAP с помощью кэширования библиотеки приложений». Эта опция позволяет создавать или использовать ZIP-файлы или нет. Включение опции ZIP позволяет нескольким приложениям Silverlight делиться зависимостью от файлов ZIP, так что вместо того, чтобы каждый раз упаковывать все в XAP, вы просто загружаете ZIP для одного приложения и сохраняетесь в кеше браузера для других приложений.

Что касается общего содержания файла XAP, есть 2 важные биты:

  1. foo.dll - основной узел вашего проекта (переименован в зависимости от обстоятельств)
  2. AppManifest.xaml - описывает требования к вашему приложению, например минимальная требуемая версия, точка входа в Foo.dll и другие параметры, в том числе настройки вне браузера, или использовать функцию кэширования библиотеки, упомянутую выше.

Все остальное - это только контент, используемый вашим приложением.

2

Файлы Silverlight XAP могут быть сложными, если вы используете что-либо другое из сборщиков corelightlight (например, SilverlightToolkit).

  1. Файлы XAP - это всего лишь ZIP-файлы - откройте и посмотрите. Они автономны в той мере, в которой включены любые пользовательские/дополнительные DLL - стандартные сборки Silverlight будут установлены, когда пользователь установит Silverlight.

  2. Ссылки на dll требуются в файлах .proj для каждой сборки, которая будет использоваться. То есть. в отличие от других типов проектов, если один проект ссылается на другой проект, оба проекта должны ссылаться на все DLL, используемые либо проектом.

  3. Вы должны иметь возможность просто передать кому-то файл XAP, если хотите, но Silverlight был разработан для использования в браузерах, поэтому вам нужно будет включить сгенерированную тестовую страницу как минимум. Лучшим и наиболее полезным является предоставление общедоступной веб-страницы, на которой размещается ваше приложение silverlight.

HTH.

1

Даже несмотря на то, что на этот вопрос уже дан ответ, я тоже отправлю его, потому что он еще не упоминался.

Вы упомянули, что используете SL4 - если у вас заканчивается браузер (OOB), вы можете просто отправить файл XAP и использовать sllauncher.exe (2), чтобы «установить» его на клиентскую машину. В рамках этой установки вы также можете указать, откуда будут получать обновления, что важно, когда вы обнаружите ошибки или изменяете требования.

Смежные вопросы