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; } }
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; }
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; }