Although not mentioned in the documentation, the method marked with the AssemblyInitializeAttribute must exist in a type marked with the TestClassAttribute (although no tests need to be present), for the Test Tools engine to run it.
For example:
[TestClass]
public class AssemblyInit
{
[AssemblyInitialize]
public static void AssemblyInitialize(TestContext context)
{
}
}