Msbuild ไม่รู้จักไดรฟ์เครือข่ายที่แมป


1

เรามีโครงการที่สร้างและมีเหตุการณ์สร้างโพสต์ เหตุการณ์การสร้างโพสต์คัดลอก DLL ผลลัพธ์ไปยังไดเรกทอรี F. ระบบควรจะวาง DLLs ทั้งหมดในไดรฟ์ F ในระบบของฉันฉันไม่สามารถแบ่งพาร์ติชันไดรฟ์ของฉันเพื่อเพิ่มไดรฟ์ F ดังนั้นฉันจึงแมปโฟลเดอร์ F จำลองเป็นไดรฟ์ F

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

เมื่อฉันสร้างโซลูชันโดยใช้ Visual Studio 2008 เหตุการณ์การสร้างโพสต์จะสำเร็จ แต่เมื่อฉันพยายามสร้างโซลูชันโดยใช้ msbuild บรรทัดคำสั่งมันล้มเหลวและบอกว่า "ไม่มีไดรฟ์ที่ระบุ" มีความคิดใดที่จะหลอกผู้มีอำนาจให้เชื่อว่ามีไดรฟ์ F อยู่หรือไม่? ฉันสามารถนำทางไปยังไดรฟ์ F โดยใช้ Windows explorer ได้อย่างถูกต้องและอย่างที่ฉันได้กล่าวไปแล้วว่าเหตุการณ์การสร้างโพสต์สำเร็จเมื่อใช้ IDE

บรรทัดคำสั่ง powershell ที่ใช้:

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

โปรดทราบว่าระบบของฉันเป็น Windows 7 Professional ฉันพยายามทำ msbuild เดียวกันโดยใช้ Windows XP และไม่มีปัญหา ฉันเรียกใช้พรอมต์คำสั่งพร้อมสิทธิ์ของผู้ดูแลระบบด้วย

คำตอบ:


3

หากคุณต้องการปลอมตัวอักษรระบุไดรฟ์บนคอมพิวเตอร์ที่ใช้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 กำลังทำงานเป็นผู้ดูแลระบบ สามารถเห็นไดรฟ์ที่แมปผู้ใช้ของคุณ (และกลับกัน)

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.