/// <summary> /// Adds the assembly that contains the type specified by <typeparamref name="T"/>for reference only /// (its types won't appear in the result, but they may appear as base classes or interfaces). /// </summary> /// <typeparam name="T"></typeparam> /// <param name="builder">The builder.</param> /// <exception cref="ArgumentNullException"></exception> public static void AddReferenceOnlyAssemblyByType <T>(this IReflectionMetadataBuilder builder) { if (builder == null) { throw new ArgumentNullException(nameof(builder)); } builder.AddReferenceOnlyAssembly(GetLocation <T>()); }
/// <summary> /// Adds the assembly that contains the type specified by <typeparamref name="T"/>for reference only /// (its types won't appear in the result, but they may appear as base classes or interfaces). /// </summary> /// <typeparam name="T"></typeparam> /// <param name="builder">The builder.</param> /// <exception cref="ArgumentNullException"></exception> public static void AddReferenceOnlyAssemblyByType <T>(this IReflectionMetadataBuilder builder) { if (builder == null) { throw new ArgumentNullException(nameof(builder)); } var location = GetLocation <T>(); builder.AddReferenceOnlyAssembly(location); foreach (var additionalPath in GetAdditionalPaths <T>(location)) { builder.AddReferenceOnlyAssembly(additionalPath); } }