ไม่พบโครงการที่นำเข้า“ C: \ Microsoft.CSharp.targets”


127

ผมมีข้อผิดพลาดในวันนี้เมื่อพยายามที่จะเปิด Visual Studio 2008 โครงการใน Visual Studio 2005:

ไม่พบโครงการที่นำเข้า "C: \ Microsoft.CSharp.targets"


ฉันต้องเปลี่ยนชื่อการอ้างอิงของฉันจากMicrosoft.CSharp.Targetsเป็นMicrosoft.CSharp.targetsใน.csprojไฟล์
Stephane

คำตอบ:


112

เปิดไฟล์ csproj ของคุณใน notepad (หรือ notepad ++) ค้นหาบรรทัด:

<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />

และเปลี่ยนเป็น

<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />

22
Mine พูดว่า "<Import Project =" $ (MSBuildExtensionsPath32) \ ... "
B. Clay Shannon

@Iomaxx ฉันแก้ไขปัญหานี้โดยเปลี่ยน Monodevelop Build Target เป็น Mono / .NET 4.0 จาก Mono / .NET 3.5
Frank

5
ฉันพูด MSBuildBinPath ไปแล้ว แต่รวม CompactFramework ในเนมสเปซ: <Import Project = "$ (MSBuildBinPath) \ Microsoft.CompactFramework.CSharp.targets" />
Teysz

หากคุณใช้ Monodevelop ให้ติดตั้งแพ็คเกจ: "mono-msbuild" และ "mono-msbuild-sdkresolver" หมายเหตุ: ทดสอบบน Linux Manjaro
Eduardo Lucio

คุณจะต้องลบแพ็คเกจ "msbuild-stable" (หรือเทียบเท่า) ออกหากมีการติดตั้ง หมายเหตุ: ทดสอบบน Linux Manjaro
Eduardo Lucio

59

นี่เป็นโซลูชันระดับโลกโดยไม่ขึ้นอยู่กับแพ็คเกจหรือถังใด ๆ

ในกรณีของฉันฉันลบโฟลเดอร์Packagesออกจากไดเรกทอรีรากของฉัน

อาจเกิดขึ้นเนื่องจากมีแพ็คเกจของคุณอยู่ แต่คอมไพเลอร์ไม่พบข้อมูลอ้างอิง ดังนั้นให้ลบแพ็คเกจเก่าออกก่อนและเพิ่มแพ็คเกจใหม่

ขั้นตอนในการเพิ่มแพ็คเกจใหม่

  • ขั้นแรกให้ลบโฟลเดอร์แพ็กเกจ ( จะอยู่ใกล้หรือขึ้นไปหนึ่งขั้นในโฟลเดอร์โครงการปัจจุบันของคุณ )
  • จากนั้นรีสตาร์ทโครงการหรือโซลูชัน
  • ตอนนี้สร้างไฟล์โซลูชันใหม่
  • โครงการจะได้รับการอ้างอิงใหม่จากตัวจัดการแพ็คเกจ nuGet และปัญหาของคุณได้รับการแก้ไขแล้ว

นี่ไม่ใช่วิธีแก้ปัญหาที่เหมาะสม แต่ฉันโพสต์ไว้ที่นี่เพราะฉันประสบปัญหาเดียวกัน

ในกรณีของฉันฉันไม่สามารถเปิดโซลูชันของฉันในสตูดิโอภาพได้และไม่ได้รับความช่วยเหลือเกี่ยวกับคำตอบอื่น ๆ ของ SO


1
ดังที่ Alf Moh กล่าวเพียงแค่หาไฟล์นั้นจากที่อื่นในคอมพิวเตอร์ของคุณแล้วคัดลอกลงในโฟลเดอร์ที่ค้นหา
Serj Sagan

@SerjSagan ใช่นั่นจะช่วยได้ แต่บางครั้งคุณไม่สามารถเปิดไฟล์โซลูชันในสตูดิโอภาพได้ในเวลานั้นโซลูชันของฉันจะช่วยได้ ..
Bharat

5
ฉันมีปัญหานี้ใน Visual Studio for Mac Microsoft.CSharp.targetsไฟล์ถูกลบด้วยเหตุผลบางประการ! อย่างที่คุณพูดฉันลบpackagesโฟลเดอร์และรีสตาร์ท Visual Studio มันใช้งานได้อย่างน่าอัศจรรย์!
A-Sharabiani

1
สิ่งนี้ได้รับการแก้ไขสำหรับฉัน แต่เพื่อนร่วมงานของฉันสามารถทำงานนี้ได้ในครั้งแรก ในขณะที่มันใช้งานได้ฉันมีอย่างอื่นให้ค้นหา!
JakePlatford

1
พี่หนึ่งดี! ฉันหายไป 1 ชั่วโมงสำหรับสิ่งนี้
Hugo Nava Kopp

20

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


1
นี่เป็นปัญหาสำหรับฉัน ชื่อโปรเจ็กต์มีช่องว่างดังนั้นชื่อไดเร็กทอรีหลังจาก git clone จึงมี% 20 อยู่ในนั้น คุณสามารถใช้git clone <RepoUrl> <LocalDirName>ระบุชื่อไดเร็กทอรีที่จะโคลนเพื่อหลีกเลี่ยงการมี% 20
Dan Cook

11

ลิงก์นี้บน MSDNยังช่วยให้เข้าใจสาเหตุที่ไม่ได้ผล $ (MSBuildToolsPath) คือพา ธ ไปยัง Microsoft.Build.Engine v3.5 (แทรกโดยอัตโนมัติในไฟล์โปรเจ็กต์เมื่อคุณสร้างใน VS2008) หากคุณพยายามสร้างโครงการของคุณสำหรับ. Net 2.0 ตรวจสอบให้แน่ใจว่าคุณได้เปลี่ยนเส้นทางนี้เป็น $ (MSBuildBinPath) ซึ่งเป็นเส้นทางไปยัง Microsoft.Build.Engine v2.0


11

ในกรณีของฉันฉันไม่สามารถโหลดหนึ่งใน5 โครงการในโซลูชันของฉันได้

มันช่วยในการปิด Visual Studioและฉันต้องลบ Microsoft.Net.Compilers.1.3.2โฟลเดอร์ nuget ภายใต้packagesโฟลเดอร์

หลังจากนั้นเปิดโซลูชันของคุณอีกครั้งและโครงการโหลดตามที่คาดไว้

เพื่อให้แน่ใจว่าปิดอินสแตนซ์ทั้งหมดของ VS ก่อนที่คุณจะลบโฟลเดอร์


6

ฉันเคยมีบรรทัดต่อไปนี้ในไฟล์ csproj:

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

หลังจากลบไฟล์นี้แล้วก็ใช้งานได้ดี


6

หากคุณพบข้อผิดพลาดที่ระบุMicrosoft.CSharp.Core.targets not foundนี่คือขั้นตอนที่ฉันได้ดำเนินการเพื่อแก้ไขของฉัน:

  1. เปิดโฟลเดอร์โครงการที่ทำงานก่อนหน้าและไปที่ลิงก์ที่แสดงในข้อผิดพลาดนั่นคือProjects/(working project name)/packages/Microsoft.Net.Compilers.1.3.2/tools/และค้นหาMicrosoft.CSharp.Core.targetsไฟล์

  2. คัดลอกไฟล์นี้และวางไว้ในโปรเจ็กต์ที่ไม่ทำงานtools folder(นั่นคือไปที่โฟลเดอร์ tools ในโปรเจ็กต์ที่ไม่ทำงานดังที่แสดงด้านบน)

  3. ตอนนี้ปิดโปรเจ็กต์ของคุณ (ถ้าเปิดอยู่) แล้วเปิดใหม่

ตอนนี้ควรจะใช้งานได้แล้ว

นอกจากนี้เพื่อให้แน่ใจว่าทุกอย่างทำงานอย่างถูกต้องในโครงการ Visual Studio ที่เปิดอยู่ให้ไปที่ Tools > NuGetPackage Manager > Manage NuGet Packages For Solutionโครงการไป ที่นี่คุณอาจพบข้อผิดพลาดที่ระบุว่าแอปพลิเคชันอื่นใช้ CodeAnalysis.dll

อีกครั้งไปที่tools folderค้นหาไฟล์ที่ระบุและลบออก กลับมาที่Manage NuGet Packages For Solution . คุณจะพบลิงค์ที่จะขอให้คุณโหลดซ้ำคลิกที่ลิงค์และทุกอย่างจะถูกติดตั้งใหม่

โครงการของคุณควรทำงานได้อย่างถูกต้องในขณะนี้


3

ฉันได้รับสิ่งนี้หลังจากติดตั้ง Windows ใหม่ ติดตั้ง Visual Studio แล้วและฉันเห็นประเภทโครงการ Silverlight ในหน้าต่างโครงการใหม่ แต่การเปิดไม่ได้ผล วิธีแก้ปัญหานั้นง่ายมาก: ฉันต้องติดตั้งรันไทม์ Silverlight Developer และ / หรือเครื่องมือ Microsoft Silverlight 4 สำหรับ Visual Studio สิ่งนี้อาจดูโง่ แต่ฉันมองข้ามไปเพราะฉันคิดว่ามันน่าจะใช้งานได้เนื่องจากมีประเภทโครงการ Silverlight


3

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

<Import Project="..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.0\build\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props" Condition="Exists('..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.0\build\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props')" />
<Import Project="..\packages\Microsoft.Net.Compilers.1.0.0\build\Microsoft.Net.Compilers.props" Condition="Exists('..\packages\Microsoft.Net.Compilers.1.0.0\build\Microsoft.Net.Compilers.props')" />
<Import Project="..\packages\Microsoft.Net.Compilers.1.3.2\build\Microsoft.Net.Compilers.props" Condition="Exists('..\packages\Microsoft.Net.Compilers.1.3.2\build\Microsoft.Net.Compilers.props')" />

2

ตกลงถ้ามันพูดแบบนี้: ระหว่างเครื่องหมาย gt / lt

นำเข้าโครงการ = "$ (MSBuildExtensionsPath) \ Microsoft \ Silverlight \ v3.0 \ Microsoft.Silverlight.CSharp.targets" /

ฉันจะแก้ไขข้อผิดพลาดของเป้าหมายได้อย่างไร

ฉันยังพบสตริงการนำเข้าในโปรเจ็กต์สาธิต (โดยเฉพาะ "สร้าง MVVM Framework ของคุณเอง" โดย Rob Eisenburg)

ถ้าคุณเปลี่ยนการนำเข้าที่กับคนที่แนะนำโดย lomaxx VS2010 RTM รายงานว่าคุณต้องติดตั้งนี้


2

สำหรับข้อผิดพลาดMicrosoft.WebApplications.targetsคุณสามารถ:

  1. ติดตั้ง Visual Studio 2010 (หรือเวอร์ชันเดียวกับในเครื่องพัฒนา) ในเซิร์ฟเวอร์ TFS ของคุณ
  2. คัดลอก“ Microsoft.WebApplication.targets” จากไฟล์เครื่องพัฒนาไปยังเครื่องสร้าง TFS

นี่คือโพสต์


1

ข้อผิดพลาดนี้อาจเกิดขึ้นได้เมื่อเปิดโปรเจ็กต์ Silverlight ที่สร้างขึ้นใน SL 4 ในขณะที่คุณติดตั้ง SL 5

นี่คือข้อความแสดงข้อผิดพลาด: ไม่พบโครงการที่นำเข้า "C: \ Program Files (x86) \ MSBuild \ Microsoft \ Silverlight \ v4.0 \ Microsoft.Silverlight.CSharp.targets"

หมายเหตุ v4.0

ในการแก้ไขให้แก้ไขโครงการและค้นหา:

<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>

และเปลี่ยนเป็น v5.0

จากนั้นโหลดโครงการใหม่และจะเปิดขึ้น (เว้นแต่คุณจะไม่ได้ติดตั้ง SL 5)



0

บางครั้งปัญหาอาจเกิดจากเวอร์ชัน VS แบบฮาร์ดโค้ดในไฟล์. csproj หากคุณมีใน csproj ของคุณสิ่งนี้:

[...]\VisualStudio\v12.0\WebApplications\Microsoft.WebApplication.targets"

คุณควรตรวจสอบว่าตัวเลขนั้นถูกต้องหรือไม่ (สาเหตุที่ผิดอาจเกิดจากการสร้างโครงการด้วย Visual Studio เวอร์ชันอื่น) หากผิดให้แทนที่ด้วยเครื่องมือสร้างเวอร์ชันปัจจุบันของคุณหรือใช้ตัวแปร VS:

[...]\VisualStudio\v$(VisualStudioVersion)\WebApplications\Microsoft.WebApplication.targets"

0

ฉันพบปัญหานี้ขณะเรียกใช้งาน Ansible playbook ดังนั้นฉันต้องการเพิ่ม 2 เซ็นต์ของฉันที่นี่ ฉันสังเกตเห็นข้อความเตือนเกี่ยวกับ Visual Studio 14 ที่หายไป Visual Studio เวอร์ชัน 14 เปิดตัวในปี 2015 และวิธีแก้ปัญหาของฉันคือการติดตั้ง Visual Studio 2015 Professional บนเครื่องโฮสต์ของตัวแทน Azure DevOps ของฉัน


0

หลังจากพยายามกู้คืนปิด VS ลบแพ็คเกจที่ล้มเหลวเปิดใหม่พยายามกู้คืนหลายครั้งฉันเพิ่งลบทุกอย่างในแพ็คเกจและเมื่อฉันทำการกู้คืนและมันก็ทำงานได้อย่างสมบูรณ์

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