Msbuild가 매핑 된 네트워크 드라이브를 인식하지 못합니다.


1

우리는 빌드 빌드 이벤트를 가진 프로젝트를 가지고 있습니다. 포스트 빌드 이벤트는 출력 DLL을 디렉토리 F에 복사합니다. 시스템은 모든 DLL을 F 드라이브에 넣어야합니다. 필자의 시스템에서는 F 드라이브를 추가하기 위해 드라이브를 파티션 할 수 없으므로 더미 F 폴더를 F 드라이브로 매핑했습니다.

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

Visual Studio 2008을 사용하여 솔루션을 빌드하면 게시 빌드 이벤트가 성공적입니다. 그러나 명령 줄 msbuild를 사용하여 솔루션을 빌드하려고하면 실패하고 "지정된 드라이브가 존재하지 않습니다"라고 표시됩니다. PowerShell을 속여서 F 드라이브를 믿는 방법에 대한 아이디어가 있습니까? Windows 탐색기를 사용하여 F 드라이브를 탐색 할 수 있으며 앞에서 설명한 것처럼 IDE를 사용할 때 게시 빌드 이벤트가 성공합니다.

powershell 명령 줄이 사용되었습니다.

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

내 시스템은 Windows 7 Professional입니다. 나는 Windows XP를 사용하여 동일한 msbuild를 시도했지만 문제가 없습니다. 관리자 권한으로 명령 프롬프트도 실행했습니다.

답변:


2

로컬 컴퓨터에서 드라이브 문자를 가짜로 사용하려는 경우 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가 실행되는 것과 동일한 사용자 공간에서 드라이브를 subst'ing (또는 매핑)해야합니다. 드라이브를 로컬 사용자로 매핑하고 MSBuild가 '관리자'로 실행되는 경우 사용자가 매핑 한 드라이브를 볼 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.