Frage

Ich habe ein Projekt, das log4net verwendet und arbeitet an den Entwicklern Maschinen in Ordnung. Wenn wir bauen, ruft ein Schritt in unserem Build-Skripte die Assembly Aufgabe Versionsnummern und Daten zu setzen, etc. Aber die Assembly Datei verliert auch die Zeile:

[assembly: XmlConfigurator (Uhr = true)]

Gibt es eine Möglichkeit die Assembly Aufgabe hat nicht diese Zeile zu überschreiben, oder umgekehrt die Aufgabe Assembly wieder einsetzen zu haben, die in die Datei Zeile (zusammen mit der entsprechenden Anweisung using?

War es hilfreich?

Lösung

Nun, ein wenig anders denken, sie müssen nicht nur eine Montage-Info-Datei haben.

Dies ist, wie wir es für eine Lösung zu tun, jedes Projekt hat 3 Montag Info-Dateien:

  1. AssemblyInfo.cs - Enthält Guid, Assembly, Assembly und alle Montage spezifische Attribute

  2. .
  3. ProductAssemblyInfo.cs - Enthält AssemblyProduct, Assembly und Assembly. Auf diese Weise alle Baugruppen in einem Produkt / Lösung die gleiche Version.

  4. CompanyAssemblyInfo.cs - Enthält AssemblyCompany, AssemblyCopyright und alle Eigenschaften, die wir wollen, dass alle unsere Versammlungen teilen

  5. .

Artikel 2 und 3 werden mit referenziert „Hinzufügen als Link“, so sie aus dem einzigen Quellcode gemeinsam genutzt werden. Jetzt können Sie nicht den gleichen Ansatz verfolgen wollen, aber man könnte sicherlich eine ähnliche Struktur verwenden und platzieren Sie Ihren XmlConfigurator in einer separaten Assembly-Info-Datei von Ihren Assembly Version Details.

Andere Tipps

Sie können tatsächlich legte die log4net [assembly: ...] Zeile in jeder Datei, die in die Assembly kompiliert werden. Eine Menge Zeit, wir setzen es nur in der CS-Datei, die den „main“ -Methode hat, und es funktioniert gut.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top