ich dieses Attribut bekam Klasse haben Hinzufügen:eine globale benutzerdefinierte Attribut in der Versammlung mit Cecil
[AttributeUsage(AttributeTargets.Assembly)]
public class PostProcessedAssemblyAttribute : Attribute
{
}
und schrieb dann diesen Code:
var moduleG = assembly.MainModule;
var attributeConstructor =
moduleG.ImportReference(
typeof(PostProcessedAssemblyAttribute).GetConstructor(Type.EmptyTypes));
var attribute = new CustomAttribute(attributeConstructor);
assembly.CustomAttributes.Add(attribute);
assembly.Write(assemblyPath, writerParameters);
wenn ich die Versammlung zurückgelesen, erwarte ich, dass die Attribut, um anwesend zu sein, aber es ist nicht.
Ich bin mir nicht 100% sicher, was ich mache, also mache ich sicher etwas falsch (zum Beispiel bin ich nicht sicher, ob das Importieren des Attributs aus dem Hauptmodul korrekt ist), können Sie bitte darauf hinweisen, wo das Problem liegt ?
Ich brauche dies nur, um eine Baugruppe als bearbeitet zu markieren.
Der Code hier funktioniert gut für mich. Könnten Sie ein vollständigeres Beispiel hinzufügen, das die Beziehungen zwischen den Assemblies hier zeigt und wie Sie danach die Assembly lesen? – svick