Ich kenne den .NET Core-Ersatz für Assembly.GetExecutingAssembly()
ist typeof(MyType).GetTypeInfo().Assembly
, aber was ist mit dem Ersatz für
Ich habe versucht, das letzte Bit des Codes nach der Assemblierung für die erste erwähnte Lösung anzuhängen:
%Vor%aber es gibt mir eine "Kann nicht implizit in Objekt [] Nachricht konvertieren.
UPDATE: Ja, wie die Kommentare unten zeigen, glaube ich, dass es mit dem Ausgabetyp verknüpft ist.
Hier ist das Code-Snippet, und ich versuche es nur so zu ändern, dass es mit .Net Core kompatibel ist:
%Vor% Ich habe versucht, dies zu ändern, um CustomAttributeExtensions.GetCustomAttributes(
zu verwenden, aber ich verstehe derzeit c # nicht genug, um zu wissen, wie man denselben Code wie oben implementiert. Ich bin immer noch verwirrt über MemberInfo und Type und dergleichen. Jede Hilfe wird sehr geschätzt!
Ich vermute, dass das Problem in Code ist, den Sie nicht angezeigt haben: wo Sie das Ergebnis von GetCustomAttributes()
verwenden. Das liegt daran, dass Assembly.GetCustomAttributes(Type, bool)
in .Net Framework object[]
zurückgibt , während CustomAttributeExtensions.GetCustomAttributes(this Assembly, Type)
in .Net Core gibt IEnumerable<Attribute>
.
Sie müssen Ihren Code dementsprechend ändern. Am einfachsten wäre es, .ToArray<object>()
zu verwenden, aber eine bessere Lösung könnte darin bestehen, den Code so zu ändern, dass er mit IEnumerable<Attribute>
funktionieren kann.
Dies funktioniert für mich in .NET Core 1.0:
%Vor%AssemblyInfo.cs
%Vor%project.json
%Vor%