Почему сборки в Expression Blend SDK не поддерживают кэширование библиотеки приложений? - PullRequest
3 голосов
/ 08 апреля 2011

Следует признать, что создавать файлы extmap.xml относительно просто:

http://msdn.microsoft.com/en-us/library/dd833069(VS.95).aspx

Но в то время как многие сторонние библиотеки предоставляют файлы extmap.xml со своими сборками (например, Telerik, к счастью,делает), Blend SDK этого не делает (смотрите в моем C: \ Program Files (x86) \ Microsoft SDKs \ Expression \ Blend \ Silverlight \ v4.0 \ Libraries).На данный момент я не вижу никакой причины для этого.

Это просто простое упущение?Есть ли какая-то причина, по которой эти конкретные сборки не следует включать в кеширование библиотеки приложений?Это проблема поддержки, и они не поддерживаются вне xap?

По общему признанию, 5 dll, которые мы используем из этого SDK, составляют всего около ~ 420KB (до сжатия) в нашем xap, но я 'Я хотел бы убрать их, если нет технической или технической причины не делать этого.:)

1 Ответ

2 голосов
/ 08 апреля 2011

Нет технической причины не делать этого. Dll-файлы takeit изначально поставлялись без файлов extmap, но, как вы говорите, их довольно легко создать.

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

Тебе просто нужно быть осторожным, чтобы не возвращаться ко временам ада. Может быть сложно разместить несколько Xaps в одной папке ClientBin, которая использует разные версии DLL. Следовательно, вы действительно должны быть готовы собрать и выпустить целую папку ClientBin вместе.

Конечно, ничто не мешает вам использовать несколько папок, чтобы избежать проблем с версиями, но это уменьшит преимущество кэширования.

...