Kennt jemand ein Dienstprogramm, um eine C# -Quelldatei ohne Kompilierung vorzuverarbeiten, ähnlich wie bei der Verwendung des -E-Flags in GCC? Ich habe versucht, GCC - es erfolgreich verarbeitet #if
Richtlinien, aber es Drosseln auf allen #region
Richtlinien ...Existiert ein C# -Preprocessing-Tool?
Idealerweise ich möchte in der Lage sein, das Werkzeug über eine CS-Datei laufen alle #if
Blöcke zu entfernen, die zu bewerten auf false, und Flag optional können, ob intakt Kommentare, #region
, #pragma
Richtlinien usw.
um dies zu, ich möchte in der Lage sein, in Zusammenhang zu bringen, um eine gewisse Quellcode veröffentlichen, die Teil einer zu entfernen/verlassen ist (viel) größeres Projekt, während Teile entfernt werden, die nur für das größere Projekt relevant sind. Als Beispiel gibt es Teile des Codes, die wie folgt aussehen:
#if (SUBPROJECT)
namespace SubProject
#else
namespace CompleteProject
#endif
{
public class SomeClass()
{
#if (!SUBPROJECT)
// This might call a method contained in an assembly that potentially
// won't be available to the sub-project, or maybe a method that hooks
// into a C library via P/Invoke...
string result = CallSomeCleverMethod();
#else
// This might call a method that performs a simplified version of the
// above, but does so without the above's assembly or P/Invoke
// dependencies...
string result = CallSomeSimpleMethod();
#endif
}
}
Bitte denken Sie daran Ich versuche nicht, baut hier zu tun - das ist rein über nur einen Teil eines größeren Projekts, den Quellcode zu veröffentlichen.
Irgendwelche Ideen/Hilfe geschätzt.
Woher bekomme ich die ausführbare Datei? – NightOwl888
Es ist Teil der GNU-Compiler-Sammlung - es ist wahrscheinlich bereits installiert, wenn Sie OS X oder Linux ausführen. Wenn Sie Windows verwenden, ist MinGW wahrscheinlich das, was Sie brauchen. –
Ich fand eine, die hier funktioniert: http://mcpp.sourceforge.net/download.html, aber die ausführbare Datei ist MCPP und nicht cpp. – NightOwl888