Msbuild не распознает подключенный сетевой диск

1270
Nassign

У нас есть проект, который строит и имеет событие после сборки. Событие после сборки копирует выходную DLL в каталог F. Предполагается, что система поместит все библиотеки DLL на диск F. В моей системе я не могу разделить диск, чтобы добавить диск F, поэтому я назначил фиктивную папку F как диск F.

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

Когда я собираю решение с использованием Visual Studio 2008, событие после сборки проходит успешно. Но когда я пытаюсь построить решение с использованием командной строки msbuild, происходит сбой, и появляется сообщение «Указанный диск не существует». Любая идея, как обмануть PowerShell, чтобы поверить, что диск F существует? Я могу правильно перейти на диск F с помощью проводника Windows, и, как я уже говорил ранее, событие после сборки успешно выполняется при использовании IDE.

Используемая командная строка powershell:

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

Обратите внимание, что моя система - Windows 7 Professional. Я попытался сделать то же самое msbuild, используя Windows XP, и нет проблем. Я также запустил командную строку с правами администратора.

1

1 ответ на вопрос

2
Ƭᴇcʜιᴇ007

Если вы хотите подделать букву диска на локальном компьютере, используйте SUBSTвместо сопоставления сетевой диск.

От 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. 

Таким образом, вы должны быть в состоянии использовать что-то вроде c:\> subst F: C:\F.

Также убедитесь, что вы подставляете диск (или отображаете его) в том же пользовательском пространстве, в котором работает Powershell / MSBuild. Если вы подключите диск как локальный пользователь, а MSBuild будет работать как «Администратор», это не будет возможность видеть ваш подключенный диск пользователя (и наоборот).

Похожие вопросы