Ich habe die folgende Post-Build-Ereignis in meinem Projekt definiert zu erkennen:Wie Visual Studio erhalten ein Netzlaufwerk-Mapping
if "$(ConfigurationName)"=="Release" ("$(ProjectDir)PostBuildRelease.bat" "$(TargetDir)")
Also, wenn ich das Projekt im Release-Modus bauen, wird die folgende .bat
Datei ausgeführt :
PostBuildRelease.bat
CMD
SET parameter=%1
CD %1
ECHO "Copying temporary file..."
COPY FileDeleter.exe temp.exe
ECHO "Merging dependancies..."
"..\..\ILMerge.exe" /out:"FileDeleter.exe" /targetPlatform:"v4" "temp.exe" "Microsoft.WindowsAPICodePack.dll" "Microsoft.WindowsAPICodePack.ExtendedLinguisticServices.dll" "Microsoft.WindowsAPICodePack.Sensors.dll" "Microsoft.WindowsAPICodePack.Shell.dll" "Microsoft.WindowsAPICodePack.ShellExtensions.dll"
ECHO "Removing temporary file..."
DEL temp.exe
Alles, was es tut, ist die Baugruppe in eine temporäre lo kopieren Kation, füge die benötigten Abhängigkeiten in eine endgültige ausführbare Datei ein FileDeleter.exe
, und entfernt dann die temporäre Datei.
Das hat gut funktioniert, wenn das Projekt auf einem lokalen Laufwerk gespeichert wurde, aber nachdem ich das Projekt auf einem Netzlaufwerk zu bewegen, bekomme ich diese Fehler, wenn in Release-Modus Aufbau:
'\\file\IT\Internal Apps\AppDev\Applications\WpfFileDeleter\WpfFileDeleter\bin\Release\'
CMD does not support UNC paths as current directories.
C:\Windows>"Copying temporary file..."
The system cannot find the file specified.
"Merging dependancies..."
'"..\..\ILMerge.exe"' is not recognized as an internal or external command,
operable program or batch file.
"Removing temporary file..."
Could Not Find C:\Windows\temp.exe
CMD beschwert sich über nicht UNC unterstützt Pfade.
Ich weiß jedoch, dass das betreffende Laufwerk (\\File
) tatsächlich auf die Y:\
Laufwerk zugeordnet - so kann ich durch gezielte Y:
statt \\file\
in das Verzeichnis, in CMD navigieren.
Die Frage ist - wie kann ich Visual Studio dazu bringen, diese Laufwerkszuordnung standardmäßig zu erkennen, nachdem alle meine Projekte auf dieses Netzlaufwerk verschoben wurden?
geben Sie absolute URL. z.B. Y: \ FileDeleter.exe beginnt mit dem Laufwerk. Sie sollten Lese- und Schreibberechtigung für dieses Laufwerk haben. – karman
Wenn Sie als Administrator arbeiten, haben Sie nur Zugriff auf Laufwerke, die als Admin zugeordnet sind. –
@karman Danke für deinen Kommentar - Siehe die Antwort unten mit meinem Kommentar für meine Lösung. Ich frage mich, ob es eine Möglichkeit gibt, VS zu veranlassen, das aktuelle Verzeichnis automatisch auf die zugeordnete URL zu setzen – Bassie