3 Stimmen

"Datei nicht gefunden" in MSBuild Community Tasks - Welche Datei?

Ich versuche, die VssGet Aufgabe der MSBuild Community Tasks zu verwenden, und die Fehlermeldung "Datei oder Projekt nicht gefunden" schlägt mich mit einem Stock. Ich kann nicht herausfinden, was im Besonderen die Fehlermeldung bezieht sich auf. Hier ist die Aufgabe:

<LocalFilePath Include="C:\Documents and Settings\michaelc\My Documents\Visual Studio 2005\Projects\Astronom\Astronom.sln" />

<VssGet DatabasePath="\\ofmapoly003\Individual\michaelc\VSS\Astronom_VSS\srcsafe.ini" 
     Path="$/Astronom_VSS" 
        LocalPath="@(LocalFilePath)" 
        UserName="build" Password="build" 
     Recursive="True" />

Wenn ich einen Streamreader schreibe, um entweder den Datenbankpfad oder den lokalen Pfad zu lesen, gelingt dies problemlos. Der Pfad zu allem scheint also zugänglich zu sein. Irgendwelche Ideen?

2voto

dpurrington Punkte 1480

Zwei Gedanken. Erstens, manchmal manifestiert sich eine Type Load Exception als FNF - hoffen wir, dass das nicht der Fall ist. Aber wenn der Code tatsächlich ehrlich ist, können Sie das Problem mit Procmon o Filemon . Starten Sie eines dieser Dienstprogramme und führen Sie Ihre Aufgabe erneut aus. Sie sollten in der Lage sein, einen Datensatz einer Datei aufzuspüren, die nicht gefunden werden konnte.

0voto

Cyberherbalist Punkte 11773

@famoushamsandwich das ist eine tolle Antwort - ich hatte vorher noch nie von procmon oder filemon gehört. Ich habe procmon für das Problem ausprobiert, aber selbst nach Durchsicht der relevanten Ausgaben (mein Gott, der Rechner macht viel mehr Dinge hinter dem Bildschirm, als mir bewusst war) konnte ich nicht herausfinden, wo eine Datei, auf die ich verweise, nicht gefunden wurde.

0voto

Pedro Punkte 11731

Procmon und Filemon sind gute Vorschläge - stellen Sie nur sicher, dass Sie die Ergebnisse so filtern, dass nur Fehler angezeigt werden. Andernfalls überdecken die Erfolgsmeldungen die problematischen Einträge. Sie können auch Prozesse herausfiltern, die nicht fehlerhaft sind (entweder über den Filterdialog oder indem Sie mit der rechten Maustaste auf den Eintrag klicken und "Prozess ausschließen" wählen).

Ein paar andere Gedanken:

  • Im LocalFilePath geben Sie eine einzelne Datei und nicht einen Ordner an. Die Aufgabe hingegen gibt an, Dateien rekursiv abzurufen. Vielleicht müssen Sie " \Astronom.sln " aus dem LocalFilePath?
  • Wird der Build-Task unter Ihrem oder einem anderen Konto ausgeführt? Möglicherweise haben Sie ein Problem mit den Berechtigungen
  • Haben Sie bereits eine Kopie des Codes an der gleichen Stelle gespeichert? Kann es sein, dass eine bestehende Datei/Ordner nicht überschrieben werden kann?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X