Wie bekomme ich das AssemblyTitle?

8

Ich kenne den .NET Core-Ersatz für Assembly.GetExecutingAssembly() ist typeof(MyType).GetTypeInfo().Assembly , aber was ist mit dem Ersatz für

? %Vor%

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!

    
PirateJubber 20.07.2016, 17:44
quelle

4 Antworten

9

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.

    
svick 20.07.2016, 20:49
quelle
5

Dies funktioniert für mich in .NET Core 1.0:

%Vor%

AssemblyInfo.cs

%Vor%

project.json

%Vor%     
Nate Barbettini 20.07.2016 18:50
quelle
4

Das funktioniert für mich:

%Vor%     
thiagofalcao 24.01.2017 14:36
quelle
0

Das ist was ich benutze:

%Vor%     
Mike 11.05.2017 18:46
quelle

Tags und Links