Frage

Ich habe eine XML-Quelldatei, die verwendet wird, um C # Dateien zu erstellen, die dann als Teil eines Projektes erstellt werden.
Zur Zeit habe ich ein Ziel, das Before mein XML in C # Konverter läuft.
Das Problem ist, dass durch die Zeit, die Before Schritt der alten Dateien ausgeführt wird offenbar durch das Build-System gespeichert wurden, so dass die neuen Dateien ignoriert werden.

Wie kann ich dieses Problem umgehen? Es scheint, dass Wandelt wäre der Weg sein, aber sie sind begrenzt, in dem, was sie tun können.

War es hilfreich?

Lösung

Ich denke, Sie „durch das Build-System gespeichert“ übersetzt werden kann als die ItemGroup des CS- enthält Dateien, die Sie zusammenstellen wollen erzeugt wird, wenn die msbuild Datei gelesen wird, im Gegensatz zu, wenn die Kompilierung Ziel ausgeführt wird. Sie haben mehrere Möglichkeiten:

    siehe
  1. <CreateItem> href="http://msdn.microsoft.com/en-us/library/s2y3e43x.aspx" rel="nofollow noreferrer"> CreateItem Aufgabe
  2. <Output> finden Sie unter Ausgangselement

Ich hoffe, das hilft.

Andere Tipps

Nun haben wir etwas ähnliches ish hier. Wir gen ein CS- aus einer XML-Datei, die eine .tt verwenden. Beide Dateien sind Teil eines spezifischen csproj. Eigenschaften- geht> Build auf dem csproj gibt diesen kleinen Ausschnitt in der Pre-Build-Ereignisse Befehlszeile:

del "$(ProjectDir)MyCsFile.cs"
copy /b /y "$(ProjectDir)\MyXmlFile.xml" "$(TargetDir)"
"$(ProjectDir)tt.bat" "$(ProjectDir)MyTemplateFile.tt"

Keine Ahnung, ob das ist, von Nutzen zu Ihnen, ich hoffe, dass es als letzte Chance Abhilfe ausreichen könnte.

Ich glaube, Sie uns ein wenig von Ihrer Regel zeigen müssen / Build-Datei. Sie sollten eine Regel / Abhängigkeit für die cs-Datei, die die XML als die Abhängigkeit hat.

Ich bin nicht sicher, was Sie unter „durch das Build-System gespeichert“ bedeuten

Überprüfen Sie die Regeln sorgfältig auf Fehler / Auslassungen.

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