Export (0) Print
Expand All

AssemblyPart Class

Silverlight

An assembly part is an assembly that is to be included in a Silverlight-based application package (.xap).

Namespace:  System.Windows
Assembly:  System.Windows (in System.Windows.dll)

public sealed class AssemblyPart : DependencyObject
<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>

XAML Values

assembly

The Uri that identifies an assembly as an assembly part.

xamlName

The assembly part name. Mandatory for the application assembly. Optional for library assemblies.

The AssemblyPart type exposes the following members.

  NameDescription
Public methodSupported by Silverlight for Windows PhoneAssemblyPartInitializes a new instance of the AssemblyPart class.
Top

  NameDescription
Public propertySupported by Silverlight for Windows PhoneDispatcherGets the Dispatcher this object is associated with. (Inherited from DependencyObject.)
Public propertySupported by Silverlight for Windows PhoneSourceGets the Uri that identifies an assembly as an assembly part.
Top

  NameDescription
Public methodSupported by Silverlight for Windows PhoneCheckAccessDetermines whether the calling thread has access to this object. (Inherited from DependencyObject.)
Public methodSupported by Silverlight for Windows PhoneClearValueClears the local value of a dependency property. (Inherited from DependencyObject.)
Public methodSupported by Silverlight for Windows PhoneEquals(Object)Determines whether the specified Object is equal to the current Object. (Inherited from Object.)
Protected methodSupported by Silverlight for Windows PhoneFinalizeAllows an object to try to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection. (Inherited from Object.)
Public methodSupported by Silverlight for Windows PhoneGetAnimationBaseValueReturns any base value established for a Silverlight dependency property, which would apply in cases where an animation is not active. (Inherited from DependencyObject.)
Public methodSupported by Silverlight for Windows PhoneGetHashCodeServes as a hash function for a particular type. (Inherited from Object.)
Public methodSupported by Silverlight for Windows PhoneGetTypeGets the Type of the current instance. (Inherited from Object.)
Public methodSupported by Silverlight for Windows PhoneGetValueReturns the current effective value of a dependency property from a DependencyObject. (Inherited from DependencyObject.)
Public methodLoadConverts a Stream to an Assembly that is subsequently loaded into the current application domain.
Protected methodSupported by Silverlight for Windows PhoneMemberwiseCloneCreates a shallow copy of the current Object. (Inherited from Object.)
Public methodSupported by Silverlight for Windows PhoneReadLocalValueReturns the local value of a dependency property, if a local value is set. (Inherited from DependencyObject.)
Public methodSupported by Silverlight for Windows PhoneSetValueSets the local value of a dependency property on a DependencyObject. (Inherited from DependencyObject.)
Public methodSupported by Silverlight for Windows PhoneToStringReturns a string that represents the current object. (Inherited from Object.)
Top

  NameDescription
Public fieldStatic memberSupported by Silverlight for Windows PhoneSourcePropertyIdentifies the Source dependency property.
Top

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 AssemblyPart 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 AssemblyPart 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.


using System; // Uri
using System.Net; // WebClient,OpenReadCompletedEventHandler
using System.Windows; // AssemblyPart
using System.Windows.Controls; // UserControl
using System.Windows.Input; // MouseButtonEventArgs
using SilverlightLibrary; // Page

namespace SilverlightApplication
{
    public partial class HomePage : UserControl
    {
        public HomePage()
        {
            InitializeComponent();
        }

        private void TextBlock_MouseLeftButtonUp(
            object sender, MouseButtonEventArgs e)
        {
            // Download an "on-demand" assembly.
            WebClient wc = new WebClient();
            wc.OpenReadCompleted += 
                new OpenReadCompletedEventHandler(wc_OpenReadCompleted);
            wc.OpenReadAsync(
                new Uri("SilverlightLibrary.dll", UriKind.Relative));
        }

        private void wc_OpenReadCompleted(
            object sender, OpenReadCompletedEventArgs e)
        {
            if ((e.Error == null) && (e.Cancelled == false))
            {
                // Convert the downloaded stream into an assembly that is
                // loaded into current AppDomain.
                AssemblyPart assemblyPart = new AssemblyPart();
                assemblyPart.Load(e.Result);

                DisplayPageFromLibraryAssembly();
            }
        }

        private void DisplayPageFromLibraryAssembly() {

            // Create an instance of the Page class in the library assembly.
            Page page = new Page();

            // Display the new Page. 
            this.stackPanel.Children.Add(page);
        }
    }
}


Silverlight

Supported in: 5, 4, 3

Silverlight for Windows Phone

Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0

For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Community Additions

ADD
Show:
© 2014 Microsoft