ข้อผิดพลาดของการสร้าง VS2013 ภายนอก“ ข้อผิดพลาด MSB4019: ไม่พบโครงการที่นำเข้า <path>”


201

ฉันกำลังสร้างโครงการผ่านบรรทัดคำสั่งและไม่อยู่ใน Visual Studio 2013 หมายเหตุฉันได้อัพเกรดโครงการของฉันจาก Visual Studio 2012 เป็น 2013 โครงการนี้สร้างได้ดีภายใน IDE นอกจากนี้ฉันถอนการติดตั้งอย่างสมบูรณ์ VS2012 ก่อนรีบูตและติดตั้ง VS2013 Visual Studio รุ่นเดียวที่ฉันมีคือ 2013 Ultimate

ValidateProjects:
    39>path_to_project.csproj(245,3): error MSB4019: The imported project "C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v11.0\WebApplications\Microsoft.WebApplication.targets" was not found. Confirm that the path in the <Import> declaration is correct, and that the file exists on disk.
    39>Done Building Project "path_to_project.csproj" (Clean target(s)) -- FAILED.

นี่คือสองบรรทัดที่เป็นปัญหา:

<Import Project="$(VSToolsPath)\WebApplications\Microsoft.WebApplication.targets" Condition="'$(VSToolsPath)' != ''" />
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v12.0\WebApplications\Microsoft.WebApplication.targets" Condition="false" />

บรรทัดที่สองดั้งเดิมคือ v10.0 แต่ฉันเปลี่ยนเป็น v12.0 ด้วยตนเอง

$ (VSToolsPath) ยืดออกจากสิ่งที่ฉันเห็นในโฟลเดอร์ v11.0 (VS2012) ซึ่งเห็นได้ชัดว่าไม่ได้อยู่ที่นั่นอีกต่อไป เส้นทางควรเป็น v12.0

C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v12.0\WebApplications\

ฉันพยายามระบุ VSToolsPath ในตารางตัวแปรสภาพแวดล้อมระบบ แต่ยูทิลิตี้บิลด์ภายนอกยังคงใช้ v11.0 ฉันลองค้นหาผ่านรีจิสตรีแล้วก็ไม่มีอะไรเกิดขึ้น

น่าเสียดายที่ฉันไม่เห็นวิธีง่ายๆในการใช้บรรทัดคำสั่งที่แน่นอน ฉันใช้เครื่องมือสร้าง

คิด?


คำถามที่คล้ายกันที่นี่stackoverflow.com/questions/17433904/…
Anthony F

ในกรณีของฉันฉันต้องระบุ VisualStudioVersion ที่ถูกต้องในเหตุการณ์บิลด์ที่สร้างด้วยเป้าหมาย WebPublish
user145400

คำตอบ:


250

ฉันมีปัญหาเดียวกันและหาทางออกที่ง่ายขึ้น

มันเป็นเพราะ Vs2012 เพิ่มต่อไปนี้ไปยังไฟล์ csproj:

<PropertyGroup>
  <VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion>
  <VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
</PropertyGroup>

คุณสามารถลบส่วนนั้นได้อย่างปลอดภัยและโซลูชันของคุณจะสร้างขึ้น

ในฐานะที่เป็นSielu ชี้ให้เห็นคุณต้องให้แน่ใจว่าไฟล์ .proj เริ่มต้นด้วย<Project ToolsVersion="12"มิฉะนั้นครั้งต่อไปที่คุณเปิดโครงการที่มีภาพสตูดิโอปี 2010 ก็จะเพิ่มโหนดที่ลบออกไปอีกครั้ง

มิฉะนั้นถ้าคุณต้องการใช้ webdeploy หรือคุณใช้ build server ทางออกข้างต้นจะไม่ทำงาน แต่คุณสามารถระบุVisualStudioVersionคุณสมบัติใน build script ของคุณ:

msbuild myproject.csproj /p:VisualStudioVersion=12.0

หรือแก้ไขคำจำกัดความการสร้างของคุณ:

แก้ไขคำจำกัดความของบิลด์เพื่อระบุคุณสมบัติ <code> VisualStudioVersion </code>


1
ฉันได้รับข้อผิดพลาดโดยใช้ msbuild จากพรอมต์คำสั่ง การลบส่วนนี้ออกจากไฟล์โครงการทำให้เกิดปัญหา
Peter Hedberg

7
ฉันใช้คำตอบนี้และทำงานได้ก็ต่อเมื่อฉันมั่นใจว่าไฟล์ * proj ของฉันเริ่มต้นด้วย <Project ToolsVersion = "12" ก่อนที่ฉันจะมี <Project ToolsVersion = "4" และทุกครั้งที่ฉันเปิดโครงการใน VS มันเพิ่มโหนดสองโหนดอีกครั้ง (นั่นคือเป็นการย้ายข้อมูลโครงการเป็นเวอร์ชันล่าสุดอีกครั้ง)
Sielu

3
@ giammin ฉันพบวิธีแก้ปัญหาแล้ว อย่าลบส่วนออกจากไฟล์โครงการของคุณ ตั้งค่ารุ่นเครื่องมือที่เหมาะสมในคำจำกัดความการสร้างของคุณ มันง่ายมากที่จะทำ เปิดคำจำกัดความการสร้างและไปที่หน้า "กระบวนการ" จากนั้นภายใต้กลุ่ม "3. Advanced" คุณจะมีคุณสมบัติชื่อ "MSBuild Arguments" วางพารามิเตอร์ที่นั่นด้วยไวยากรณ์ต่อไปนี้ "/p:VisualStudioVersion=12.0" แน่นอนไม่มีคำพูด หากคุณมีพารามิเตอร์เพิ่มเติมให้คั่นด้วยเว้นวรรคและไม่ใช่เครื่องหมายจุลภาค ส่วนกำหนดค่าที่คุณแนะนำให้เอาออกถูกใช้โดยส่วนอื่น ๆ ของ Visual Studio ในกระบวนการสร้างของคุณ ...
Ralph Jansen

9
การลบบรรทัดนั้นดูเหมือนว่าจะเป็นการทำลายเว็บ Deploy
Colin Pear

4
ฉันมีปัญหาเดียวกันแก้ไขโดยใช้คุณสมบัติ /p:VisualStudioVersion=12.0 ตามที่แนะนำข้างต้น ขอบคุณ
Randeep

70

ฉันมีสิ่งนี้ด้วยและคุณสามารถแก้ไขได้โดยการตั้งค่ารุ่นเครื่องมือในคำจำกัดความการสร้างของคุณ

มันง่ายมากที่จะทำ เปิดคำจำกัดความการสร้างและไปที่หน้า " กระบวนการ " จากนั้นภายใต้กลุ่ม " 3. Advanced " คุณจะมีคุณสมบัติชื่อ " MSBuild Arguments " วางพารามิเตอร์ที่มีไวยากรณ์ต่อไปนี้

/p:VisualStudioVersion=12.0 

หากคุณมีพารามิเตอร์เพิ่มเติมให้คั่นด้วยเว้นวรรคและไม่ใช่เครื่องหมายจุลภาค


1
เราเพิ่งอัปเกรดจาก TFS 2005 เป็น TFS 2013 และนี่เป็นอุปสรรคสุดท้ายของเรา วิธีนี้ใช้ได้ผลสำหรับเราและช่วยให้ฉันไม่ต้องดึงผมออก ขอบคุณมาก! +1
Simon Whitehead

2
นี้บทความโดย Sayed อิบราฮิมฮาชิอธิบายปัญหาใน Visual Studio 2010/2012 บิลด์ไลน์ของบรรทัดคำสั่งใช้รูปแบบไฟล์ sln เวอร์ชั่น -1 เป็น VisualStudioVersion คุณสามารถแทนที่ค่านี้จากบรรทัดคำสั่งตามที่ Ralph อธิบายหรือเป็นคุณสมบัติของงาน MSBuild จากสคริปต์การสร้าง ฉันมีปัญหาเดียวกันกับ Visual Studio 2013 และการเอาชนะ VisualStudioVersion แก้ไขปัญหาได้
mcdon

1
สิ่งนี้ใช้ได้สำหรับเราเช่นกัน นอกจากนี้เรายังพิจารณาการแก้ไขเทมเพลตการสร้างเองซึ่งอธิบายไว้ที่นี่ซึ่งอาจเป็นตัวเลือกที่ดีกว่าหากคุณมีคำจำกัดความการสร้างหลายสิบรายการ
JamesQMurphy

สิ่งนี้ใช้ได้สำหรับฉัน ฉันลบไฟล์ csproj ใด ๆ ที่อ้างอิงถึง visualstudioversion แล้วเพิ่มอาร์กิวเมนต์ msbuild
Jhayes2118

51

สิ่งนี้มีความเกี่ยวข้องอย่างใกล้ชิด แต่อาจจะหรือไม่อาจแก้ไขปัญหาเฉพาะของ OPs ได้ ในกรณีของฉันฉันพยายามทำการปรับใช้ไซต์ Azure โดยอัตโนมัติด้วย VS2013 การสร้างและปรับใช้ผ่านงาน VS อย่างไรก็ตามการใช้ MSBuild พบข้อผิดพลาดที่คล้ายกันรอบ "เป้าหมาย" ปรากฎว่า MSBuild นั้นแตกต่างกันภายใต้ VS2013 และตอนนี้เป็นส่วนหนึ่งของ VS และไม่ใช่. Net Framework (ดูที่http://timrayburn.net/blog/visual-studio-2013-and-msbuild/ ) โดยทั่วไปให้ใช้ MSBuild รุ่นที่ถูกต้อง:

เก่า VS2012

C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe

ใหม่ VS2013

C:\Program Files (x86)\MSBuild\12.0\bin\msbuild.exe

ใหม่กว่า VS2015

C:\Program Files (x86)\MSBuild\14.0\Bin\msbuild.exe

ใหม่กว่า VS2017 (ยังไม่ได้ทดสอบอย่างสมบูรณ์ แต่ค้นพบ - พวกเขาย้ายสิ่งต่าง ๆ ไปเล็กน้อย)

C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\15.0\Bin\msbuild.exe

สิ่งนี้แก้ไขได้สำหรับฉัน นอกจากนี้คำตอบที่คล้ายกันสำหรับคำถามที่คล้ายกันที่นี่: stackoverflow.com/a/19826448/61569
Anthony F

22

ฉันเพิ่งได้รับคำตอบจาก Kinook ผู้ให้ลิงค์กับฉัน:

โดยพื้นฐานแล้วฉันต้องโทรหาสิ่งต่อไปนี้ก่อนการกระแทก ฉันเดาว่า Visual Studio 2013 ไม่ได้ลงทะเบียนสภาพแวดล้อมโดยอัตโนมัติก่อน แต่ปี 2012 ได้ทำหรือฉันทำและลืม

call "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\vcvarsall.bat" x86

หวังว่าโพสต์นี้จะช่วยคนอื่น


ขอบคุณมากนี้แก้ไขปัญหาของฉันเมื่อมีการสร้าง nodeJS ไม่พบ! +1node-gypCpp default.props
Pogrindis

21

วิธีการแก้ปัญหาของ giamminไม่ถูกต้องบางส่วน คุณไม่ควรลบกลุ่มอสังหาริมทรัพย์ทั้งหมดจากโซลูชันของคุณ ถ้าคุณทำคุณสมบัติ"DeployTarget = Package" ของ MSBuildจะหยุดทำงาน คุณสมบัตินี้ขึ้นอยู่กับการตั้งค่า"VSToolsPath"

<PropertyGroup>
  <!-- VisualStudioVersion is incompatible with later versions of Visual Studio.  Removing. -->
  <!-- <VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion> -->
  <!-- VSToolsPath is required by MSBuild for features like "DeployTarget=Package" -->
  <VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
</PropertyGroup>
...
<Import Project="$(VSToolsPath)\WebApplications\Microsoft.WebApplication.targets" Condition="'$(VSToolsPath)' != ''" />

10

ฉันมีปัญหานี้สำหรับเป้าหมาย FSharp ของเรา (FSharpTargetsPath ว่างเปล่า)

หลายพา ธ ถูกสร้างขึ้นโดยอ้างอิงกับเวอร์ชัน VS

ด้วยเหตุผลหลายประการบิลด์ของเราทำงานด้วยสิทธิพิเศษของระบบและตัวแปรสภาพแวดล้อม "VisualStudioVersion" ได้รับการตั้งค่าเท่านั้น (โดยตัวติดตั้ง VS 2013) ที่ระดับ "ผู้ใช้" ซึ่งยุติธรรมพอ

ตรวจสอบให้แน่ใจว่าVisualStudioVersionตัวแปรสภาวะแวดล้อม "" ถูกตั้งค่าเป็น " 12.0" ที่ระดับ (ระบบหรือผู้ใช้) ที่คุณใช้งาน


5
นี่อาจเป็นสถานการณ์ทั่วไปเมื่อใช้เซิร์ฟเวอร์บิลด์ (เช่น CruiseControl หรือ TeamCity) ซึ่งบริการนี้ทำงานภายใต้บัญชีบริการเฉพาะซึ่งอาจไม่ได้รับสิทธิ์การใช้เดสก์ท็อปแบบโต้ตอบ เคล็ดลับนี้แก้ไขปัญหาให้ฉันได้ (VS 2013 ติดตั้งบนการติดตั้ง Server 2008 R2 ใหม่ด้วย CruiseControl.NET)
David Keaveny

ฉันจะเห็น "VisualStudioVersion" ของฉันได้จากที่ใด
WEFX

@WEFX ดูตัวแปรสภาพแวดล้อมโดยเลือกSystemจากแผงควบคุมจากนั้นเลือกแล้วAdvanced system settingsคลิกสุดท้ายEnvironment Variables
Scott

6

การรันสิ่งนี้ใน commandline จะแก้ไขปัญหาได้เช่นกัน SETX VisualStudioVersion "12.0"


สิ่งนี้ใช้ได้สำหรับฉันและเป็นที่นิยมกว่าที่จะแก้ไขไฟล์โครงการ
Sean

4

หากคุณโอนย้าย Visual Studio 2012 เป็น 2013 ให้เปิดไฟล์โครงการ * .csprorj ด้วย edior
และตรวจสอบองค์ประกอบ ToolsVersion ของแท็ก 'โครงการ'

นั่นคือค่า 4.0
คุณทำให้เป็น 12.0

  • จาก

    <?xml version="1.0" encoding="utf-8"?>
    <Project ToolsVersion="4.0"
  • ถึง

    <?xml version="1.0" encoding="utf-8"?>
    <Project ToolsVersion="12.0"

หรือถ้าคุณสร้างด้วย msbuild ให้ระบุคุณสมบัติ VisualStudioVersion

msbuild /p:VisualStudioVersion=12.0


1
ToolsVersion ต้องไม่เป็นตัวแปรเดียวในการแก้ไขข้อผิดพลาดนี้เพราะฉันเห็นโครงการที่มี ToolsVersion ที่ไม่สามารถสร้างได้อย่างถูกต้อง
Patrick Desjardins

2

ฉันใช้ยูทิลิตีบิลด์ภายนอก ลองนึกถึงบางสิ่งเช่นมดถ้าฉันเข้าใจผลิตภัณฑ์อย่างถูกต้องจะเป็นเวอร์ชั่นเชิงพาณิชย์ ฉันต้องติดต่อผู้ผลิตเพื่อขอคำตอบ

ตามที่ปรากฎมีแมโครส่วนกลางในโครงการ DEVSTUDIO_NET_DIR ฉันต้องเปลี่ยนเส้นทางเป็น. Net ที่นั่น พวกเขาแสดงเวอร์ชั่นสตูดิโอภาพต่าง ๆ ว่า "การกระทำ" ซึ่งผ่านฉันออกไป แต่ถนนทุกสายนำกลับไปสู่ตัวแปรระดับโลกหนึ่งเดียวที่อยู่เบื้องหลัง ฉันจะระบุว่าเป็นข้อบกพร่องต่อผลิตภัณฑ์หากฉันมีวิธีของฉันจนกว่าฉันจะหายไปบางสิ่งบางอย่างในการทำความเข้าใจของฉัน การแก้ไขพา ธ ที่นั่นแก้ไขปัญหาบิลด์


2

ฉันติดตั้ง Visual Studio 2013 แล้ว สิ่งนี้ใช้ได้กับฉัน:

<PropertyGroup>
    <VisualStudioVersion Condition="'$(VisualStudioVersion)' != ''">12.0</VisualStudioVersion>`
    <VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
</PropertyGroup>

ดังนั้นผมจึงได้เปลี่ยนสภาพจาก==ไป!=และความคุ้มค่าที่ได้จากการ10.012.0


2

ฉันมีปัญหาที่คล้ายกัน วิธีแก้ปัญหาที่เสนอทั้งหมดจะแก้ไขปัญหานี้ แต่ไม่ได้แก้ไขแหล่งที่มาของข้อผิดพลาด ไม่ควรใช้โซลูชัน @giammin หากคุณใช้เซิร์ฟเวอร์ tfs build เนื่องจากเป็นเพียงฟังก์ชันการเผยแพร่ที่ขัดข้อง @ cat5dev solution - แก้ปัญหา แต่ไม่แก้ที่มาของมัน

ฉันเกือบจะแน่ใจว่าคุณกำลังใช้เทมเพลตกระบวนการสร้างสำหรับ VS2012 เช่น ReleaseDefaultTemplate.11.1.xaml or DefaultTemplate.11.1.xaml เทมเพลตการสร้างเหล่านี้ได้ถูกสร้างขึ้นสำหรับ VS2012 และ $ (VisualStudioVersion) ตั้งเป็น 11.0

คุณควรใช้เทมเพลตกระบวนการสร้างสำหรับ VS2013 ReleaseTfvcTemplate.12.xaml or TfvcTemplate.12.xamlซึ่งมี $ (VisualStudioVersion) ตั้งไว้ที่ 12.0

สิ่งนี้ทำงานโดยไม่มีการเปลี่ยนแปลงใด ๆ ในไฟล์โครงการ


2

ฉันยังมีข้อผิดพลาดเดียวกันฉันทำสิ่งนี้เพื่อแก้ไข

<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v11.0\WebApplications\Microsoft.WebApplication.targets" />

เปลี่ยนไป

<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v12.0\WebApplications\Microsoft.WebApplication.targets" Condition="false" />

และมันก็ทำ


2

ในกรณีของฉันฉันเพียงแค่แสดงความคิดเห็นด้านล่างบรรทัดโดยการเปิดไฟล์. csproj และทำเคล็ดลับ

.<!-- <Import Project="..\PRPJECTNAME.targets" /> -->

ปัญหาของฉันอาจแตกต่างกัน แต่ฉันถูกลากมาที่นี่ แต่นี่อาจช่วยใครซักคน

ฉันเลือกโครงการเว็บเดียวจากโซลูชันของฉันและพยายามเปิดเป็นโครงการเดี่ยวซึ่งกำลังสร้างปัญหาหลังจากข้างต้น heck สามารถแก้ปัญหาได้


2

ใช้ MSBuild รุ่นที่ถูกต้อง ตั้งค่าตัวแปรสภาพแวดล้อมเป็น:

C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin

สิ่งนี้จะใช้ได้กับโครงการ VS 2019

ก่อนหน้านี้เรากำลังตั้งค่าเป็น C:\Windows\Microsoft.NET\Framework\v4.0.30319


ฉันใช้ "C: \ Program Files (x86) \ Microsoft Visual Studio \ 2019 \ Enterprise \ MSBuild \ Current \ Bin \ MSBuild.exe" แทน "C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ MSBuild exe "และมันทำงาน
ELKALAKHI Mohammed

ใช่ฉันใช้โครงการ SSDT (.sqlproj) โดยใช้ VisualStudioVersion = 14.0 ในไฟล์โครงการ ฉันติดตั้งคอร์ 3.1 ซึ่งตั้งค่า env vars สำหรับเป้าหมายให้กับพระเจ้าเท่านั้นที่รู้ว่า การใช้ msbuild ในโฟลเดอร์ที่คุณแนะนำให้ใช้งานได้อย่างมีเสน่ห์!
Matthew Beck

1

ในกรณีของฉันสภาพแวดล้อม dev คือ VS2013 และฉันใช้ TFS 2010 Build ได้รับการกำหนดเป้าหมายสำหรับ. NET 4.5.1 ฉันตั้งค่าการสร้างอัตโนมัติสำหรับ CI เมื่อใดก็ตามที่ฉันพยายามแก้ไขปัญหาดังกล่าวข้างต้น - เช่นการลบกลุ่มคุณสมบัติอย่างสมบูรณ์หรือแทนที่บางบรรทัดเป็นต้นฉันสร้างที่เคยเกิดขึ้นใน TFS แต่การเผยแพร่ของฉันเป็นสีฟ้าที่เคยล้มเหลวด้วย 'MSDeploy' หรือข้อผิดพลาดบางครั้ง ฉันไม่สามารถบรรลุเป้าหมายทั้งสองพร้อมกันได้

ดังนั้นในที่สุดฉันก็ต้องผ่านการโต้แย้ง MSBuild เพื่อแก้ไขปัญหา

ไปที่นิยามการกำหนดบิลด์> กระบวนการ> 3. ขั้นสูง> อาร์กิวเมนต์ MSBuild (ตั้งค่าเป็น) /p:VisualStudioVersion=12.0

มันใช้งานได้สำหรับฉัน


1

คุณควรคัดลอก WebApplications โฟลเดอร์จาก C: \ Program Files (x86) \ MSBuild \ Microsoft \ VisualStudio \ v12.0 \ to C: \ Program Files (x86) \ MSBuild \ Microsoft \ VisualStudio \ v11.0 \


หรือคัดลอกเฉพาะไฟล์ Microsoft.WebApplication.targets จากตำแหน่งที่ติดตั้ง Visual Studio 2013
ThatBlairGuy

0

คุณจะพบว่า

C:\Program Files  (x86)\MSBuild\Microsoft\VisualStudio\v11.0\WebApplications\Microsoft.WebApplication.targets 

ในไฟล์ csproj ซึ่งข้อผิดพลาดนี้ปรากฏขึ้น เพียงลบสิ่งนี้ออกจาก csproj แล้วสร้าง


0

สิ่งเดียวที่ต้องทำเพื่อแก้ไขปัญหา: อัพเกรด TeamCity เป็นเวอร์ชัน 8.1.x หรือสูงกว่าเนื่องจากรองรับ Visual Studio 2012/2013 และ MSBuild Tools 2013 ได้รับการแนะนำใน TeamCity 8.1 เท่านั้น เมื่อคุณอัปเกรด TeamCity แล้วให้แก้ไขการตั้งค่าเวอร์ชันเครื่องมือ MSBuild ในขั้นตอนการสร้างของคุณดังนั้นปัญหาจะหายไป สำหรับข้อมูลเพิ่มเติมอ่านที่นี่: http://blog.turlov.com/2014/07/upgrade-teamcity-to-enable-support-for.html


0

ฉัน - ไม่มีอะไรช่วยในการเปลี่ยนค่า v11.0 ของตัวแปร VisualStudioVersion เป็น v10.0 การเปลี่ยนตัวแปรในไฟล์. csproj ไม่ได้ การตั้งค่าผ่านคำสั่ง promt ไม่ได้ ฯลฯ ...

จบลงด้วยการคัดลอกโฟลเดอร์ท้องถิ่นของฉันของรุ่นเฉพาะ (v11.0) ไปยังเซิร์ฟเวอร์สร้างของฉัน


0

ฉันได้ลองวิธีแก้ไขทั้งหมดข้างต้นแล้วและก็ยังไม่มีโชค ฉันเคยได้ยินคนติดตั้ง visual Studio บนเซิร์ฟเวอร์ build ของพวกเขาเพื่อแก้ไข แต่ฉันมีพื้นที่ว่าง 5 GB เท่านั้นดังนั้นฉันจึงคัดลอก C: \ Program Files (x86) \ MSBuild \ Microsoft \ VisualStudio ไปยังเซิร์ฟเวอร์ build ของฉันและเรียกมันว่าวัน . เริ่มทำงานหลังจากนั้นใช้ team city 9.x และ visual studio 2013


0

อ้างอิง TFS 2015 Build Server

หากคุณตอบโต้ข้อผิดพลาดนี้ ... Error MSB4019: The imported project "C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\WebApplications\Microsoft.WebApplication.targets" was not found. Confirm that the path in the <Import> declaration is correct, and that the file exists on disk.

เปิด.csprojไฟล์ของโครงการที่มีชื่อในข้อความแสดงข้อผิดพลาดและใส่ความคิดเห็นในส่วนด้านล่าง

<!-- <PropertyGroup> --> <!-- <VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion> --> <!-- <VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath> --> <!-- </PropertyGroup> -->


0

ฉันได้รับข้อผิดพลาดนี้เมื่อฉันติดตั้งส่วนประกอบ VS บางอย่าง น่าเสียดายที่คำตอบเหล่านี้ไม่ได้ช่วยฉันเลย ฉันใช้ TFS เพื่อการพัฒนาคำสั่งและฉันไม่มีสิทธิ์ในการแก้ไขคำจำกัดความของบิลด์ ฉันจะแก้ไขปัญหานี้โดยการลบตัวแปรสภาพแวดล้อมที่เรียกว่าและVS110COMNTOOLS VS120COMNTOOLSฉันคิดว่ามันถูกติดตั้งด้วยส่วนประกอบ VS ของฉัน


0

ฉันพบว่าฉันขาดโฟลเดอร์ WebApplications บนพีซีในพื้นที่ของฉันไม่ได้ติดตั้งกับ Visual Studio 2017 เหมือนตอนที่ฉันใช้ 2012


0

ในกรณีของฉันฉันใช้รุ่นผิด MSBuild.exeในกรณีของผมใช้รุ่นผิดของ

เวอร์ชันที่คุณต้องการใช้ขึ้นอยู่กับเวอร์ชันของ Visual Studio ที่คุณใช้เพื่อสร้างโครงการ ในกรณีของฉันฉันต้องการ 14.0 (ต้องใช้ Visual Studio 2015)

พบได้ที่:

C:\Program Files (x86)\MSBuild\14.0\Bin\msbuild.exe

คุณสามารถดูภายใต้:

C:\Program Files (x86)\MSBuild

เพื่อค้นหารุ่นอื่น ๆ

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