Пример #1
0
    private static string GetRepositoryAddress(AssemblyDefinition callingAssembly, AssemblyNameReference reference)
    {
      var builder = new StringBuilder();
      builder.AppendFormat("/{0}/", callingAssembly.MainModule.Architecture.ToString());
      if (reference.HasSilverlightToken() || callingAssembly.IsSilverlight())
        builder.Append("Silverlight");
      else
        builder.Append(callingAssembly.MainModule.Runtime.ToString());
      builder.AppendFormat("/assembly?name={0}", reference.Name);
      builder.AppendFormat("&version={0}", reference.Version.ToString());
      builder.AppendFormat("&token={0}", reference.GetPublicTokenKeyString());
      builder.Append("&specificversion=false");

      return builder.ToString();
    }
Пример #2
0
    private void BrowseAssembly(object sender, RoutedEventArgs e)
    {
      var dialog = new OpenFileDialog { Filter = "Assembly Files(*.exe, *.dll)|*.exe;*.dll" };
      if (dialog.ShowDialog() == false)
      {
        Definition = null;
        DialogResult = false;
        return;
      }

      Definition = AssemblyDefinition.ReadAssembly(dialog.File.OpenRead());
      if (Definition == null) Debugger.Break();

      if (Definition.FullName == _reference.FullName)
      {
        if (Definition.IsSilverlight())
          StorageService.CacheSilverlightAssembly(dialog.File.Name, dialog.File.OpenRead());
        else
          StorageService.CacheNetAssembly(dialog.File.Name, dialog.File.OpenRead());

        ApplicationModel.Current.AssemblyCache.AddAssembly(Definition);

        DialogResult = true;
      }
    }
Пример #3
0
 private void LoadOrReplaceAssembly(AssemblyDefinition definition, AssemblyStream source)
 {
   var assemblyView = new AssemblyNode(definition, source);
   AddOrReplaceAssemblyView(definition.IsSilverlight() ? SilverlightAssemblies : NetAssemblies, assemblyView);
 }
Пример #4
0
 private void UnloadAssemblyView(AssemblyDefinition definition)
 {
   var root = definition.IsSilverlight() ? SilverlightAssemblies : NetAssemblies;
   var view = root.Items.OfType<TreeNode>().FirstOrDefault(item => item.Component == definition);
   root.Items.Remove(view);
 }
Пример #5
0
    private void LoadAssembly(AssemblyDefinition definition, AssemblyStream source)
    {
      var node = new AssemblyNode(definition, source);

      if (definition.IsSilverlight())
        SilverlightAssemblies.Items.Add(node);
      else
        NetAssemblies.Items.Add(node);
    }
Пример #6
0
    private void LoadOrReplaceAssembly(AssemblyDefinition definition)
    {
      var assemblyView = new AssemblyNode(definition);

      if (definition.IsSilverlight())
        AddOrReplaceAssemblyView(SilverlightAssemblies, assemblyView);
      else
        AddOrReplaceAssemblyView(NetAssemblies, assemblyView);
    }