アセンブリ A に次のコードがあります。
[AttributeUsage(AttributeTargets.Assembly)]
public class AssemblyCategoryAttribute : Attribute {
public string Category { get; set; }
public AssemblyCategoryAttribute(string category) {
Category = category;
}
}
アセンブリ B はアセンブリ A を参照し、この属性が適用されています。最後に、アセンブリ C もアセンブリ A を参照しており、次のコードがあります。
var assembly = Assembly.LoadFrom("..."); // Get assembly B
var description = assembly.GetCustomAttributes(false).OfType<AssemblyDescriptionAttribute>().SingleOrDefault();
var category = assembly.GetCustomAttributes(false).OfType<AssemblyCategoryAttribute>().SingleOrDefault();
ただし、説明は問題ありませんが、カテゴリは null を返します。誰かがこれを解決するのを手伝ってくれたら幸いです。ありがとう
編集
コメントで要求されているように、アセンブリ B の AssemblyInfo.cs ファイルは次のとおりです。
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using AssemblyANameSpace;
[assembly: AssemblyTitle("Name")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyCategory("Core")]
...