Rule 3902 says
Assembly.GetExecutingAssembly should not be called and
typeof(SomeTypeInThisAssembly) should be used to obtain a reference to the assembly.
Whilst this is a valid optimisation in a top-level assembly, in a class library,
GetExecutingAssembly returns the top-level program or ASP.net web application assembly, whereas
typeof(SomeTypeInThisAssembly) returns the assembly in which the statement appears.
Normally, a class library would not have any compile-time references to the top-level assembly of the program, so following this advice is liable to introduce bugs by returning a different assembly to the one required.