ไม่พบแอสเซมบลีอ้างอิงสำหรับเฟรมเวิร์ก“ .NETFramework, Version = v4.6.2”


112

เมื่อพยายามรวบรวมโซลูชันฉันได้รับข้อผิดพลาดของบิลด์ต่อไปนี้:

ข้อผิดพลาด MSB3644 ไม่พบแอสเซมบลีการอ้างอิงสำหรับเฟรมเวิร์ก ".NETFramework, Version = v4.6.2" ในการแก้ไขปัญหานี้ให้ติดตั้ง SDK หรือ Targeting Pack สำหรับเวอร์ชันเฟรมเวิร์กนี้หรือกำหนดเป้าหมายแอปพลิเคชันของคุณใหม่เป็นเวอร์ชันของเฟรมเวิร์กที่คุณติดตั้ง SDK หรือ Targeting Pack โปรดทราบว่าแอสเซมบลีจะได้รับการแก้ไขจาก Global Assembly Cache (GAC) และจะใช้แทนแอสเซมบลีอ้างอิง ดังนั้นการชุมนุมของคุณอาจไม่ถูกกำหนดเป้าหมายอย่างถูกต้องสำหรับกรอบงานที่คุณตั้งใจ C: \ RPR \ Dev \ Libraries \ Common \ Common.csproj C: \ Program Files (x86) \ Microsoft Visual Studio \ 2017 \ Community \ MSBuild \ 15.0 \ Bin \ Microsoft.Common.CurrentVersion.targets 1111

ฉันได้ลองติดตั้ง. NET Framework 4.6.2 SDK รวมทั้ง 4.6 Targeting Pack แล้ว แต่มีข้อผิดพลาดทั้งสองข้อที่ฉันติดตั้งไว้แล้ว ฉันลองติดตั้ง Visual Studio 2017 ด้วย แต่ก็ยังให้ข้อผิดพลาดเหมือนเดิม

ความคิดใด ๆ ?


4
ฉันเห็นว่าปัญหานี้หายไปเมื่อคุณติดตั้งชุดนักพัฒนา 4.5.2 (เช่นไม่ใช่ 4.6.2 แต่เป็นชุดนักพัฒนา 4.5.2)
Peter Ritchie

ฉันมีปัญหากับ 4.8 ด้วยเหตุผลบางอย่างไฟล์ csproj ของฉันมี4.8.0อยู่ภายในซึ่งไม่เหมือนกับที่4.8เห็นได้ชัด
Jacek Gorgoń

สำหรับคำตอบที่แท้จริงโปรดดูstackoverflow.com/a/58850755/155077
Stefan Steiger

คำตอบ:


96

ปรากฎว่าฉันได้ติดตั้ง. NET Framework v4.6.2 ไม่ใช่ Developer Pack สำหรับ 4.6.2 ดู๊!

https://www.microsoft.com/en-us/download/details.aspx?id=53321


ฉันติดตั้ง Dev Pack 462 แล้วและยังคงได้รับคำเตือน ต้องรีสตาร์ทเครื่องไหม
จิม

5
ฉันต้องรีสตาร์ทสตูดิโอภาพหลังจากติดตั้งแล้วดีทั้งหมด
Jonesopolis

68

Windows -> Search -> Visual Studio Installer -> Modify -> Individual Components และตรวจสอบเวอร์ชันที่ถูกต้อง


9
นี่เป็นโซลูชันที่สะอาดเนื่องจาก Visual Studio จะแสดงรายการเวอร์ชันทั้งหมดให้คุณและแสดงสิ่งที่คุณได้ติดตั้งไว้และจะจัดการการดาวน์โหลด / ติดตั้ง
olive_tree

1
ลองใช้วิธีแก้ปัญหาทั้งหมดข้างต้นแล้ว แต่ก็ไม่ได้ผล อันนี้ได้งาน ขอบคุณ
Charlie Seligman

ฉันกำลังขอ v4.6.1 (ชุดอ้างอิง) และมันแสดง v4.6.1 (เครื่องมือการพัฒนา) ที่ติดตั้งผ่านตัวติดตั้ง ... ยังคงพยายามคิดว่าเกิดอะไรขึ้น ยกเลิกว่า: ปัญหาของฉันคือไม่มีการติดตั้ง. NET framework ใด ๆ เลยตามค่าเริ่มต้น ขอบคุณ.
Xonatron

1
นี่ควรเป็นคำตอบอันดับต้น ๆ อย่างจริงจัง!
TomášHübelbauer

1
ตัวนี้ตอบโจทย์ที่สุด!
Himechi90


13

ตั้งแต่เดือนพฤษภาคม 2019คุณสามารถสร้างโปรเจ็กต์ของคุณบน net20 จนถึง net48 (รวมถึง ne461) ทุกเครื่องที่ติดตั้ง MSBuild หรือ. NET Core SDK เป็นอย่างน้อยโดยไม่จำเป็นต้องติดตั้ง Developer Pack

ถ้า. NET Core SDK ติดตั้งในเครื่องของคุณให้เพิ่มแพคเกจ nuget Microsoft.NETFramework.ReferenceAssembliesกับโครงการของคุณ

    <ItemGroup>
        <PackageReference Include="Microsoft.NETFramework.ReferenceAssemblies" Version="1.0.0-preview.2">
            <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
            <PrivateAssets>all</PrivateAssets>
        </PackageReference>     
    </ItemGroup>

แพคเกจประกอบด้วย ReferenceAssemblies ทั้งหมดตั้งแต่ net20 จนถึง net48

แพคเกจเหล่านี้เปิดใช้งานการสร้างโครงการ. NET Framework บนเครื่องใด ๆ ที่ติดตั้ง MSBuild หรือ. NET Core SDK เป็นอย่างน้อยรวมทั้งสถานการณ์อื่น ๆ

สำหรับรายละเอียดเพิ่มเติม: https://github.com/Microsoft/dotnet/tree/master/releases/reference-assemblies


สมบูรณ์แบบใช้งานได้ <ItemGroup Condition = "'$ (TargetFramework)' == 'net20' หรือ '$ (TargetFramework)' == 'net40'">
Stefan Steiger

12

ฉันได้รับข้อผิดพลาดเดียวกันทุกประการเมื่อสร้างยกเว้นสำหรับ ".NETFramework, Version = v4.7.1"

ฉันดาวน์โหลด Developer pack สำหรับ 4.7.1 จากที่นี่: https://www.microsoft.com/en-us/download/confirmation.aspx?id=56119

แพ็คติดตั้งโปรแกรมเหล่านี้บนเครื่องเป้าหมาย (บิลด์เซิร์ฟเวอร์ของฉัน)

  • Microsoft .NET Framework 4.7.1 SDK
  • Microsoft .NET Framework 4.7.1 Targeting Pack
  • Microsoft .NET Framework 4.7.1 Targeting Pack (ENU)

เมื่อฉันลองสร้างอีกครั้งฉันไม่ได้รับข้อผิดพลาดอีกต่อไปและการสร้างก็สำเร็จ


1
ปัญหาที่คล้ายกัน (ข้อผิดพลาดในการสร้างเซิร์ฟเวอร์) มีข้อผิดพลาดเดียวกัน แต่สำหรับ 4.7.1 และสิ่งนี้แก้ไขได้สำหรับฉัน
Brendan

Ditto สำหรับ 4.7.2
LosManos

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