XSD Schema für xmldocument.schemas.add auswählen ohne Pfadangabe

  • C#
  • .NET (FX) 4.0

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von stepper71.

    XSD Schema für xmldocument.schemas.add auswählen ohne Pfadangabe

    Hallo,

    mit dem Befehl:

    C#-Quellcode

    1. xmldoc.Schemas.Add("urn:skogforsk:stanford2010", "HarvestedProduction_V2p1.xsd");


    weise ich meinem xmldocument ein XSD Schema zu um später eine validierung durchzuführen, dies funktioniert auch alles ohne Probleme.
    Bei dieser Schreibform wird aber die HarvestedProduction_V2p1.xsd Datei in dem BIN Verzeichnis des Startprojekt erwartet.

    Dieser Code und die XSD Datei sind aber in einem anderen Projekt enthalten welcher vom Startprojekt aufgerufen wird.

    Meine Frage wäre: Da das XSD Schema im Projektmappenexplorer von meinem Projekt aufgeführt ist, wäre es nicht auch möglich das Schema direkt anzusprechen ohne über einen Dateipfad zu gehen?

    Vielen Dank im Voraus für jede Hilfe.

    Gruß
    Horten
    Das Schema ist zunächst "nur" eine Datei. Wo diese gespeichert ist, ist nicht relevant. Alle Dateipfade, die du im Programm angibst, sind relativ zum aktuellen Arbeitsverzeichnis des Prozesses. Das hat den Nachteil, dass die Verzeichnisstruktur immer konsistent bleiben muss.

    Es gibt keine direkte Verbindung zwischen zwei Programmen aus verschiedenen Projekten derselben Projektmappe. Du kannst aber auf Dateien innerhalb eines anderen Projekts verweisen: Erstelle in Projekt A eine Datei. Nun kannst du zu Projekt B ein "vorhandenes Element" hinzufügen. Wähle die Datei in Projekt A aus und wähle die Option "Als Link hinzufügen" (DropDown-Menü im Hinzufügen-Button). Die Verknüpfung existiert nur in der Projektmappe und nicht im Dateisystem.

    In Projekt B hast du nun 2 Möglichkeiten:
    1) Liefere die Datei als Ressource mit. Setze dazu den Buildvorgang der Datei (Eigenschaftenfenster) auf "Eingebettete Ressource". Du kannst zur Laufzeit einen Stream zur Datei über den ResourceManager abrufen.
    2) Liefere die Datei neben dem Programm selbst mit (im gleichen Verzeichnis). Setze dazu im Eigenschaftenfenster den Wert "In Ausgabeverzeichnis kopieren". Gib dann im Programm einfach den Dateinamen ohne Pfad an (so wie jetzt).
    Gruß
    hal2000