Freigeben über


Dateieigenschaften

Aktualisiert: November 2007

Mit den Dateieigenschaften können Sie anzeigen, welche Aktionen das Projektsystem an den Dateien ausführen soll. Sie können z. B. die Dateieigenschaften so einstellen, dass sie anzeigen, ob eine Datei kompiliert oder in die Buildausgabe als Ressource eingebettet werden soll.

Sie können im Projektmappen-Explorer eine beliebige Datei auswählen und dann ihre Eigenschaften im Eigenschaftenfenster untersuchen. Dateien in Visual Basic und Visual C# haben vier Eigenschaften: FileName, BuildAction, CustomTool und CustomToolNamespace.

Hinweis:

Die Eigenschaften BuildAction, CustomTool und CustomToolNamespace sind für komplexere Szenarien vorgesehen. In der Regel sind die Standardwerte ausreichend und müssen nicht geändert werden.

FileName-Eigenschaft

Sie können eine Datei umbenennen, indem Sie im Eigenschaftenfenster auf die FileName-Eigenschaft klicken und den neuen Namen eingeben. Beachten Sie, dass Visual Studio bei einer Änderung des Dateinamens automatisch alle der Datei zugeordneten VB-Dateien und RESX-Dateien umbenennt.

BuildAction-Eigenschaft

Die BuildAction-Eigenschaft gibt an, wie Visual Studio beim Ausführen eines Builds mit einer Datei verfährt. BuildAction kann einen der folgenden Werte aufweisen:

  • Keine - Die Datei wird nicht in die Projektausgabegruppe eingeschlossen und wird während des Buildprozesses nicht kompiliert. Ein Beispiel ist eine Textdatei mit einer Dokumentation, z. B. eine Readme-Datei.

  • Kompilieren - Die Datei wird in die Buildausgabe kompiliert. Diese Einstellung wird für Codedateien verwendet.

  • Inhalt - Die Datei wird nicht kompiliert, ist jedoch in der Inhaltsausgabegruppe enthalten. Diese Einstellung ist z. B. der Standardwert für eine HTM-Datei oder eine sonstige Webdatei.

  • Eingebettete Ressource – Diese Datei ist als DLL oder ausführbare Datei in die Buildausgabe des Hauptprojekts eingebettet. Dies wird normalerweise für Ressourcendateien verwendet.

Der Standardwert für BuildAction hängt von der Erweiterung der Datei ab, die Sie der Projektmappe hinzufügen. Wenn Sie z. B. dem Projektmappen-Explorer ein Visual Basic-Projekt hinzufügen, ist Kompilieren der Standardwert für BuildAction. Die Erweiterung .vb gibt an, dass es sich bei der Datei um eine kompilierbare Codedatei handelt. Dateinamen und -erweiterungen werden im Projektmappen-Explorer angezeigt.

Beachten Sie, dass der Name der Datei im Projekt nicht zum Bezeichner für die verwaltete Ressource im Assemblymanifest wird. (Weitere Informationen finden Sie unter Assemblymanifest.) Der Bezeichner lautet Namespace.Dateiname.Erweiterung, wobei Namespace dem Wert der DefaultNamespace-Eigenschaft in einem Visual C#-Projekt bzw. der RootNamespace-Eigenschaft in einem Visual Basic-Projekt entspricht. Dateiname und Erweiterung sind mit ihrer ursprünglichen Bezeichnung identisch. Wenn es sich bei der Datei um eine RESX-Datei handelt, führt das Projektsystem resgen.exe für die Datei aus und erstellt eine RESOURCE-Datei. Die RESSOURCE-Datei wird in die Assembly eingebettet. Deshalb verweist das Assemblymanifest auf die RESOURCES-Datei und nicht auf die RESX-Datei.

Wenn Sie z. B. einem Projekt mit dem Standardnamespace MyProj die Datei MyFile.bmp hinzufügen und die Buildaktion auf Eingebettete Ressource festlegen, ist MyProj.MyFile.bmp der Bezeichner im Assemblymanifest. Wenn Sie dem Projekt anschließend die Datei MyFile.resx hinzufügen, ist die Standardbuildaktion Eingebettete Ressource, und MyProj.MyFile.resources ist der Bezeichner im Assemblymanifest.

Beachten Sie, dass beim Hinzufügen eines Bildes durch den Ressourcen-Editor BuildAction auf Keine festgelegt wird, da die RESX-Datei auf die Bilddatei verweist. Zur Buildzeit wird das Bild per Pull in die RESOURCES-Datei übertragen, die aus der RESX-Datei erstellt wird. Auf das Bild kann dann über die stark typisierte Klasse leicht zugegriffen werden, die automatisch für die RESX-Datei generiert wird. Daher sollten Sie diese Einstellung nicht in Eingebettete Ressource ändern, denn durch eine solche Änderung würde das Bild zweimal in die Assembly aufgenommen.

Weitere Informationen darüber, wie Sie zur Laufzeit auf Ressourcendateien zugreifen können, die aus RESX-Dateien kompiliert wurden, finden Sie unter ResourceManager-Klasse. Weitere Informationen über den Zugriff auf alle sonstigen eingebetteten Dateien und Ressourcen zur Laufzeit finden Sie unter Assembly.GetManifestResourceStream-Methode.

CopyToOutputDirectory-Eigenschaft

Diese Eigenschaft bestimmt die Bedingungen, unter denen die ausgewählte Quelldatei in das Ausgabeverzeichnis kopiert wird. Wählen Sie Nicht kopieren aus, wenn die Datei nie ins Ausgabeverzeichnis kopiert werden soll. Wählen Sie Immer kopieren aus, wenn die Datei immer ins Ausgabeverzeichnis kopiert werden soll. Wählen Sie Kopieren, wenn neuer, wenn die Datei nur kopiert werden soll, wenn sie neuer als eine vorhandene Datei mit demselben Namen im Ausgabeverzeichnis ist.

Hinweis:

Bei Projekten für intelligente Geräte wird die Neuheit einer DLL- oder EXE-Datei durch folgende Vergleiche der Win32-Versionen ermittelt:

Wenn die geräteseitige Version kleiner als die des Desktops ist, wird die Datei kopiert.

Wenn die geräteseitige Version größer als die des Desktops ist, wird die Datei nicht kopiert.

Wenn die Versionen identisch sind, wird ein Prüfsummenvergleich durchgeführt. Wenn die Prüfsummen identisch sind, wird die Datei nicht kopiert. Wenn die Prüfsummen unterschiedlich sind, wird die Datei kopiert.

Die Neuheit von anderen Dateien, bei denen es sich nicht um DLL- und EXE-Dateien handelt, ergibt sich allein aus der Prüfsumme.

Hinweis:

Datendateien werden in einen Unterordner namens Data Files im Ausgabeverzeichnis kopiert.

CustomTool-Eigenschaft

Benutzerdefinierte Tools sind Komponenten, mit denen Dateien zur Entwurfszeit von einem Typ in einen anderen umgewandelt werden können. Ein benutzerdefiniertes Tool kann z. B. ein Datasetcodegenerator sein, der in einer XML-Schemadatei (XSD-Datei) liest und Klassen in einer Codedatei erstellt, die Tabellen und Spalten programmgesteuert offen legt. Es ist eine vordefinierte Liste mit den im Produkt verfügbaren benutzerdefinierten Tools vorhanden. Mit dieser Eigenschaft können Sie anzeigen lassen, welches benutzerdefinierte Tool auf eine Datei angewendet wird. In seltenen Fällen müssen Sie den Wert dieser Eigenschaft ändern. Der Wert für diese Eigenschaft muss entweder leer oder auf eines der integrierten benutzerdefinierten Tools festgelegt sein.

Zum Festlegen oder Ändern des benutzerdefinierten Tools klicken Sie im Eigenschaftenfenster auf die CustomTool-Eigenschaft, und geben Sie den Namen eines benutzerdefinierten Tools ein.

CustomToolNamespace-Eigenschaft

Wenn dem Projekt ein benutzerdefiniertes Tool zugeordnet wurde, können Sie mit der CustomToolNamespace-Eigenschaft den Namespace angeben, der dem mit dem benutzerdefinierten Tool generierten Code zugeordnet werden soll. Wenn Sie einen Wert für die CustomToolNamespace-Eigenschaft angeben, wird mit dem Tool generierter Code in den angegebenen Namespace gesetzt. Wenn die Eigenschaft leer ist, wird generierter Code in den Standardnamespace des Ordners gesetzt, in dem die konvertierte Datei gespeichert ist. Bei Visual Basic handelt es sich hierbei um den Stammnamespace des Projekts und bei Visual C# entspricht dies der Einstellung der DefaultNamespace-Eigenschaft des Ordners.

Siehe auch

Konzepte

Standardprojektvorlagen in Visual Studio

Dateitypen und Dateierweiterungen in Visual Basic, Visual C# und Visual J#

Referenz

Verbindungszeichenfolgen-Eigenschaft, Dialogfeld "Dateieigenschaften" (Geräte)

Weitere Ressourcen

Projekteigenschaften (Visual Studio)