public override bool Process(
            AssemblyName assemblyIn,
            ref AssemblyName assemblyOut)
        {
            AssemblyName name     = new AssemblyName(assemblyIn.FullName);
            LinkMask     linkMask = LinkMask.All;

            /* PSEUDOCODE:
             *
             * LinkMask linkMask = InstallEnvironment.AssemblyLinkage(name);
             *
             */

            /* PSEUDOCODE
             * foreach (ModuleDeclaration module in assemblyIn.GetAssemblyEnvelope().Modules)
             * {
             *  foreach (ModuleRefDeclaration xref in module.ModuleRefs)
             *  {
             *
             *       if(InstallEnvironment.AssemblyLinkage(xref.Name) < linkMask)
             *
             *       throw new Exception();
             *
             *  }
             * }*/


            assemblyOut = assemblyIn;

            return(true);
        }
Пример #2
0
 /// <summary>
 /// Constructor with usage.
 /// </summary>
 /// <param name="linkMask"></param>
 public LinkableAttribute(LinkMask linkMask)
 {
     mask = linkMask;
 }