AssemblyPart.Load Method
Microsoft Silverlight will reach end of support after October 2021. Learn more.
Namespace: System.Windows
Assembly: System.Windows (in System.Windows.dll)
Syntax
'Declaration
<SecuritySafeCriticalAttribute> _
Public Function Load ( _
assemblyStream As Stream _
) As Assembly
[SecuritySafeCriticalAttribute]
public Assembly Load(
Stream assemblyStream
)
Parameters
- assemblyStream
Type: System.IO.Stream
The Stream to load into the current application ___domain.
Return Value
Type: System.Reflection.Assembly
The Assembly that is subsequently loaded into the current application ___domain.
Remarks
You cannot load multiple versions of the same assembly into the current application ___domain.
Examples
The following code example demonstrates how to use this method to download a remote assembly and then load it into the application ___domain.
<UserControl x:Class="SilverlightApplication.HomePage"
xmlns="https://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="https://schemas.microsoft.com/winfx/2006/xaml">
<Grid Background="SandyBrown">
<StackPanel x:Name="stackPanel">
<TextBlock>Page from Host Application</TextBlock>
<TextBlock
MouseLeftButtonUp="TextBlock_MouseLeftButtonUp"
Cursor="Hand">
Click Here to Display a UI from the Library Assembly
</TextBlock>
</StackPanel>
</Grid>
</UserControl>
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
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);
}
}
}
Version Information
Silverlight
Supported in: 5, 4, 3
Platforms
For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.
See Also