コード例 #1
0
        public override void ValidateAssembly(SPSolutionValidationProperties properties, SPSolutionFile assembly)
        {
            IReadOnlyCollection<byte> bytes = assembly.OpenBinary();

            if (bytes.LongCount() > 10000000)
            {
                properties.ValidationErrorMessage = "Assembly is too large";
                properties.Valid = false;
            }
        }
コード例 #2
0
        public override void ValidateAssembly(SPSolutionValidationProperties properties, SPSolutionFile assembly)
        {
            properties.ValidationErrorUrl = "/_layouts/SolutionValidatorDemo/SolutionValidationErrorPage.aspx";
            bool   valid             = true;
            string blockAssemblyName = "SandboxedWebPart";//"TestSolution";
            string blockPKT          = "29d96910438b4111";

            // base.ValidateAssembly(properties, assembly);

            byte[]   fileBytes = LoadBytes(assembly.OpenBinary());
            Assembly a         = Assembly.Load(fileBytes);

            string[] assemblyFullName = a.FullName.ToLower().Split(',');
            string   assemblyName     = assemblyFullName[0];
            string   version          = assemblyFullName[1].Replace("version=", "").Trim();
            string   culture          = assemblyFullName[2].Replace("culture=", "").Trim();
            string   publicKeyToken   = assemblyFullName[3].Replace("publickeytoken=", "").Trim();

            //Validate AssemblyName
            if (assemblyName.Equals(blockAssemblyName.ToLower()))
            {
                valid = false;
                properties.ValidationErrorMessage += "Assembly name '" + assemblyName + "' not valid. ";
            }
            //Validate PublicKeyToken
            if (publicKeyToken.Equals(blockPKT.ToLower()))
            {
                valid = false;
                properties.ValidationErrorMessage += "Assembly PublicKeyToken '" + publicKeyToken + "' not valid. ";
            }



            if (!valid)
            {
                properties.ValidationErrorUrl += "?ErrorMessage=" + properties.ValidationErrorMessage;
            }

            properties.Valid = valid;
        }
コード例 #3
0
 public override void ValidateAssembly(SPSolutionValidationProperties properties, SPSolutionFile assembly)
 {
     Console.WriteLine("");
     base.ValidateAssembly(properties, assembly);
 }
 //This method is called once for every Assembly in the solution
 public override void ValidateAssembly(SPSolutionValidationProperties properties, SPSolutionFile assembly)
 {
     base.ValidateAssembly(properties, assembly);
     //In this example, we run no special check on assemblies
     //But we must set Valid = true or the solution activation will not complete
     properties.Valid = true;
 }