Msbuild erkennt kein zugeordnetes Netzlaufwerk

1343
Nassign

Wir haben ein Projekt, das ein Post-Build-Ereignis aufbaut und durchführt. Das Postbuild-Ereignis kopiert die Ausgabe-DLL in ein Verzeichnis F. Das System soll alle DLLs im F-Laufwerk ablegen. In meinem System kann ich mein Laufwerk nicht partitionieren, um ein F-Laufwerk hinzuzufügen. Daher habe ich einen D-Ordner F als F-Laufwerk zugeordnet.

F drive -> \\<PC IP>\C$\F\ 

Wenn ich die Lösung mit Visual Studio 2008 erstelle, ist das Post Build-Ereignis erfolgreich. Wenn ich jedoch versuche, die Lösung mit der Befehlszeile msbuild zu erstellen, schlägt dies fehl und es wird angezeigt, dass das angegebene Laufwerk nicht vorhanden ist. Irgendeine Idee, wie man die Powershell dazu bringt, zu glauben, dass der F-Antrieb existiert? Ich kann mit dem Windows-Explorer richtig zum F-Laufwerk navigieren. Wie bereits erwähnt, ist das Postbuild-Ereignis bei Verwendung der IDE erfolgreich.

Die verwendete Powershell-Befehlszeile:

msbuild MySolution.sln /p:Configuration=Debug /p:Platform="Any CPU" 

Beachten Sie, dass mein System ein Windows 7 Professional ist. Ich habe versucht, die gleiche msbuild mit Windows XP zu machen, und es gibt kein Problem. Ich habe auch die Eingabeaufforderung mit Administratorrechten ausgeführt.

1

1 Antwort auf die Frage

2
Ƭᴇcʜιᴇ007

Wenn Sie einen Laufwerksbuchstaben auf einem lokalen Computer fälschen möchten, verwenden Sie SUBSTanstelle eines Netzlaufwerks ein Laufwerk.

Von Subst /?:

Associates a path with a drive letter.  SUBST [drive1: [drive2:]path] SUBST drive1: /D  drive1: Specifies a virtual drive to which you want to assign a path. [drive2:]path Specifies a physical drive and path you want to assign to a virtual drive. /D Deletes a substituted (virtual) drive. 

Also solltest du sowas verwenden können c:\> subst F: C:\F.

Stellen Sie außerdem sicher, dass Sie das Laufwerk im selben Benutzerbereich wie Powershell / MSBuild verwenden (oder zuordnen). Wenn Sie ein Laufwerk als lokalen Benutzer zuordnen und MSBuild als Administrator ausgeführt wird, ist dies nicht der Fall Ihr vom Benutzer zugeordnetes Laufwerk (und umgekehrt) sehen können.