8

Kennt jemand eine Möglichkeit, Visual Studio beim Kompilieren komplett zu ignorieren? Ich habe eine C# -Lösung, die eine foo.config-Datei hat, die nicht wirklich eine Standardkonfigurationsdatei ist - es ist nur eine Textdatei. Während des Kompilierens greift VS auf die Datei und Bomben.Wie kann der Visual Studio-Compiler eine Datei ignorieren?

Ich möchte für es so tun, als ob es nur eine Textdatei ist. Ich habe keine Möglichkeit, den Namen der Datei zu ändern.

BEARBEITEN: Bitte beachten Sie, dass BuildAction Dateien nicht vom Compiler ausschließt, der sie überprüft. Es entscheidet einfach, ob die Datei in die Assembly kompiliert wird, ob sie Inhalt ist (wie ein jpg oder etwas) oder ob es eine Ressourcendatei ist. Für weitere Informationen: see the MSDN page.

EDIT2: Offenbar, wenn Sie eine Textdatei haben, die foo.config heißt und Sie haben es während des Aufbaus geöffnet, wird VS2005 einen Fehler anzeigen, der denkt, dass die Datei XML sein soll. Wenn Sie die Datei jedoch schließen, wird sie von VS2005 ignoriert.

Lösung: Die Visual Studio-Überprüfung verursacht Fehler, wenn während der Erstellung eine nicht kompatible Datei geöffnet ist. Ein Beispiel zur Deaktivierung (für HTML) finden Sie unter Scott Guthrie's post. Wie Allen bereits erwähnt hat, solltest du auch die Build Action auf "None" setzen. Leider wird dies Build-Fehler nicht stoppen, wenn Sie die Datei geöffnet haben.

+1

@ edit2: richtig, genau, wie ich in meiner Antwort erklären :) –

Antwort

21

Rechtsklick> Eigenschaften

Build Action: auf "None"

Edit: Wenn Sie sich über app.config sprechen, man kann wirklich nicht Chaos mit dem Format zu erreichen, müssen Sie setzen es in einer anderen .config-Datei.

Ich habe nur überprüft, VS.net kümmert sich nicht, solange es nicht app.config oder web.config und die Config-Datei Build-Aktion auf "None" gesetzt ist, wird es "Fehler", wenn Sie die Datei geöffnet haben Es wird jedoch nicht dazu führen, dass der Build fehlschlägt oder das Erstellen der Assemblys verhindert wird.

Schließen Sie die Datei und die Fehler werden verschwinden, ähnlich wie die Fehler, die Sie über HTML-Markup erhalten. Die Anzeige dieser "Fehler" ist wahrscheinlich eine konfigurierbare Einstellung in vs.net

2

Klicken Sie mit der rechten Maustaste auf die Datei und wählen Sie "Aus Projekt ausschließen".

Wenn Sie es weiterhin in Ihrem Projekt anzeigen möchten, wählen Sie das Projekt aus und klicken Sie oben im Solution Explorer auf die Schaltfläche "Alle Dateien anzeigen". Dadurch werden alle Dateien in der Verzeichnisstruktur angezeigt, auch wenn sie nicht Teil des Projekts sind.

+0

Es wird von der Quellcodeverwaltung Code ausgeschlossen werden. – Crono

+0

@Crono - möglicherweise, aber das hängt alles davon ab, was Sie für die Quellcodeverwaltung verwenden. –

1

Sind Sie sicher, dass VS Datei .config kompilieren ???

Sie sollten überprüfen, es ist Build Aktion in Dateioptionen und möglicherweise auf keine gesetzt.

5

Die auszuführende Aktion hängt von der Lösung und dem Dateityp ab. Zum Beispiel (in VS2005) kann ich in einer C++ - Lösung mit der rechten Maustaste auf den Quelldateinamen im Solution Explorer klicken und seine Eigenschaften anzeigen. Die erste Option "Allgemein" ist "Aus dem Build ausgeschlossen", mit der Sie die Datei vom Erstellungsprozess ausschließen können, ohne dass sie vollständig aus dem Projekt ausgeschlossen wird.

Ich habe eine .config-Datei in einer C# -Lösung abgerufen und eine "Build Action" -Option im Abschnitt "Advanced" gefunden. Das sollte wahrscheinlich auf "None" gesetzt sein.

+0

Ist das in VS2008 anders? Im Jahr 2005 sehe ich weder eine "General" noch eine "Exclude from Build" -Option. – VanOrman

+0

Wahrscheinlich hängt es von der Lösung und dem Dateityp ab. Ich habe gerade die Eigenschaften einer Konfigurationsdatei in einer C# -Lösung abgerufen, und es sieht so aus, als wäre Allens Antwort das, was Sie wollen. – zweiterlinde