ฉันประสบปัญหาที่คล้ายกัน แต่มีv4.7.2
. กล่าวคือฉันได้รับข้อความบันทึกการสร้างเช่นนี้:
error : Your project does not reference ".NETFramework,Version=v4.7.2" framework. Add a reference to ".NETFramework,Version=v4.7.2" in the "TargetFrameworks" property of your project file and then re-run NuGet restore.
แม้ว่าจะดูคล้ายกัน แต่ขั้นตอนที่เสนอข้างต้นไม่ได้ผลสำหรับฉัน ฉันยังคงเห็นข้อความนี้หลังการสร้างแต่ละครั้ง ดูเหมือนจะไม่มีอะไรสามารถช่วยได้
อันที่จริงปัญหาเกี่ยวข้องกับเรื่องนั้นเนื่องจากการย้ายข้อมูลฉันต้องใส่สองโปรเจ็กต์ในโฟลเดอร์รหัสเดียว หนึ่งในนั้นถูกกำหนดเป้าหมายที่. Net Coreและอีกอันที่. Net Frameworkซึ่งอ้างอิงไลบรารี. Net Standard เดียวกันทั้งคู่ เห็นได้ชัดว่าพวกเขาแชร์obj
โฟลเดอร์เดียวกันกับที่โครงการหลักใส่project.assets.json
ไฟล์ อันที่จริงไฟล์นี้รบกวนโครงการ Framework ที่ขัดขวางการสร้างปกติ ดูเหมือนว่าแม้ว่าคุณจะทำการMigrate จาก package.config เป็น PackageReference ...ซึ่งแนะนำให้เป็นหนึ่งในวิธีแก้ปัญหาที่เป็นไปได้
คุณสามารถลองแก้ไขปัญหาได้โดยใส่ข้อมูลโค้ดต่อไปนี้ลงในไฟล์โครงการ Framework ของคุณ:
<Project>
...
<PropertyGroup>
<BaseOutputPath>$(MSBuildProjectDirectory)/out/$(MSBuildProjectName)/bin</BaseOutputPath>
<BaseIntermediateOutputPath>$(MSBuildProjectDirectory)/out/$(MSBuildProjectName)/obj</BaseIntermediateOutputPath>
</PropertyGroup>
...
</Project>
มันใช้งานได้ทันทีสำหรับฉันในภายหลังเมื่อฉันตั้งใจอ่านว่าทำไมเราถึงต้องการและทำไมมันถึงได้ผล ฉันพบโดยไม่คาดคิดในส่วนที่ 2ของการย้ายแอป WPF ตัวอย่างไปยัง. NET Core 3ภายใต้การตรวจสอบให้แน่ใจว่าโครงการ. NET Framework ยังคงสร้างส่วน BaseOutputPath
และBaseIntermediateOutputPath
ตัวแปร msbuild สามารถพบได้ที่นั่นไม่แน่ใจว่ามีการบันทึกไว้อย่างดีหรือไม่