An assembly part is an assembly that is to be included in a Silverlight-based application package (.xap).
Assembly: System.Windows (in System.Windows.dll)
<Deployment xmlns="http://schemas.microsoft.com/client/2007/deployment" ...> <Deployment.Parts> <AssemblyPart Source="assembly" /> </Deployment.Parts> </Deployment> -or- <Deployment xmlns="http://schemas.microsoft.com/client/2007/deployment" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" ...> <Deployment.Parts> <AssemblyPart x:Name="xamlName" Source="assembly" /> </Deployment.Parts> </Deployment>
Thetype exposes the following members.
|CheckAccess||Determines whether the calling thread has access to this object. (Inherited from DependencyObject.)|
|ClearValue||Clears the local value of a dependency property. (Inherited from DependencyObject.)|
|Equals(Object)||Determines whether the specified Object is equal to the current Object. (Inherited from Object.)|
|Finalize||Allows an object to try to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection. (Inherited from Object.)|
|GetAnimationBaseValue||Returns any base value established for a Silverlight dependency property, which would apply in cases where an animation is not active. (Inherited from DependencyObject.)|
|GetHashCode||Serves as a hash function for a particular type. (Inherited from Object.)|
|GetType||Gets the Type of the current instance. (Inherited from Object.)|
|GetValue||Returns the current effective value of a dependency property from a DependencyObject. (Inherited from DependencyObject.)|
|Load||Converts a Stream to an Assembly that is subsequently loaded into the current application domain.|
|MemberwiseClone||Creates a shallow copy of the current Object. (Inherited from Object.)|
|ReadLocalValue||Returns the local value of a dependency property, if a local value is set. (Inherited from DependencyObject.)|
|SetValue||Sets the local value of a dependency property on a DependencyObject. (Inherited from DependencyObject.)|
|ToString||Returns a string that represents the current object. (Inherited from Object.)|
A Silverlight-based application must have an application package with at least one assembly that implements the application entry point. This assembly is known as the application assembly. For more information, see the EntryPointAssembly property. Additional library assemblies can also be included in the application package.
An assembly that is included in the application package is known as an assembly part and must be identified as one by using in the application manifest.
When you build your application by using either MSBuild or Visual Studio, the application manifest is generated for you and includes all the appropriate assembly part declarations. There is one assembly part declaration for the application assembly, which is identified by using the optional x:Name XAML markup extension. There is also one assembly part declaration for each library assembly that is referenced from the application assembly project.
The markup for application manifests is technically XAML. However the various elements for manifests are not included in the typical default Silverlight XML namespace (http://schemas.microsoft.com/winfx/2006/xaml/presentation). Instead, the manifest elements are mapped to the http://schemas.microsoft.com/client/2007/deployment XML namespace. Generally, you do not have to change the XAML in an application manifest if the project specifies that each build should generate the application manifest.
The class also represents assemblies that you load on demand through the Load method. For more information, see the Example section.
The following code example demonstrates how to use this class in managed code.
Imports SilverlightLibrary Partial Public Class HomePage Inherits UserControl Public Sub New() InitializeComponent() End Sub Private Sub TextBlock_MouseLeftButtonUp(ByVal sender As Object, _ ByVal e As MouseButtonEventArgs) ' Download an "on-demand" assembly. Dim wc As New WebClient() AddHandler wc.OpenReadCompleted, AddressOf wc_OpenReadCompleted wc.OpenReadAsync(New Uri("SilverlightLibrary.dll", UriKind.Relative)) End Sub Private Sub wc_OpenReadCompleted(ByVal sender As Object, _ ByVal e As OpenReadCompletedEventArgs) If (e.[Error] Is Nothing) AndAlso (e.Cancelled = False) Then ' Convert the downloaded stream into an assembly that is ' loaded into current AppDomain. Dim assemblyPart As New AssemblyPart() assemblyPart.Load(e.Result) DisplayPageFromLibraryAssembly() End If End Sub Private Sub DisplayPageFromLibraryAssembly() ' Create an instance of the Page class in the library assembly. Dim page As New Page() ' Display the new Page. Me.stackPanel.Children.Add(page) End Sub End Class
For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.