PoshCode Archive  Artifact [7e66732375]

Artifact 7e667323759605658130c5eb3b7e5c9b2c7d09f34cc71788c104886333cf5d83:

  • File Generate-an-extmap-xml.ps1 — part of check-in [f71a658b05] at 2018-06-10 13:38:29 on branch trunk — Generate an extmap.xml for a DLL. This is used for assembly library caching in Silverlight. (user: Chui Tey size: 1395)

# encoding: ascii
# api: powershell
# title: Generate an extmap.xml
# description: Generate an extmap.xml for a DLL. This is used for assembly library caching in Silverlight.
# version: 1.0
# type: module
# author: Chui Tey
# license: CC0
# x-poshcode-id: 4214
# x-archived: 2013-06-25T00:58:49
# x-published: 2013-06-22T09:42:00
#
#
# Copy this to Documents\WindowsPowerShell\Modules\
# Generates extmap for a given strong-named assembly
# example:
#   ToExtMap "System.Threading.Tasks.dll" | Out-File -encoding ASCII System.Threading.Tasks.extmap.dll
function ToExtMap($assemblyPath) {
   $fullPath = (Get-ChildItem -filter $assemblyPath).FullName
   $fileName = (Get-ChildItem -filter $assemblyPath).Name
   $assembly = [System.Reflection.AssemblyName]::GetAssemblyName($fullPath)
   $assemblyName = $assembly.Name
   $assemblyVersion = $assembly.Version
   $publicKeyToken = -join($assembly.GetPublicKeyToken() | % {$_.ToString("X2") })
   @"
<?xml version="1.0" encoding="utf-8" ?>
<manifest xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns:xsd="http://www.w3.org/2001/XMLSchema">

  <assembly>
    <name>$assemblyName</name>
    <version>$assemblyVersion</version>
    <publickeytoken>$publicKeyToken</publickeytoken>
    <relpath>$fileName</relpath>
    <extension downloadUri="$assemblyName.zip" />
  </assembly>

</manifest>
"@

}