ข้อผิดพลาด C # VS 2013 02019: ประเภทเป้าหมายไม่ถูกต้องสำหรับ / เป้าหมาย: ต้องระบุ 'exe', 'winexe', 'library', 'โมดูล', 'appcontainerexe' หรือ 'winmdobj' CSC

ฉันทำงานบนเว็บไซต์ที่ใช้ไลบรารีคลาสต่างๆ ซึ่งได้รับการอัปเดตเป็นครั้งคราว หนึ่งในไลบรารีคือไฟล์ sqlproj และฉันเชื่อว่ามันสร้างด้วย VS2010 มันเป็นการพึ่งพาสำหรับไลบรารีอื่นๆ และฉันไม่สามารถสร้าง/สร้างโซลูชันของฉันใหม่ได้เนื่องจากฉันได้รับข้อผิดพลาดนี้อยู่เรื่อยๆ ดังนั้น DLL จะไม่สร้างขึ้น เมื่อฉันเปิดโปรเจ็กต์ครั้งแรกใน VS2013 ฉันจะได้รับรายงานการย้ายที่เปิดในเบราว์เซอร์ของฉัน แต่การโยกย้ายระบุว่าประสบความสำเร็จ เมื่อฉันลองสร้างโครงการ ฉันได้รับข้อผิดพลาด:

ข้อผิดพลาด 1 02019: ประเภทเป้าหมายไม่ถูกต้องสำหรับ / เป้าหมาย: ต้องระบุ 'exe', 'winexe', 'library', 'module', 'appcontainerexe' หรือ 'winmdobj' CSC

ฉันได้พยายามทำตามคำแนะนำบางส่วนเกี่ยวกับคำถามนี้โดยมีปัญหาเดียวกัน แต่ก็ไม่ประสบผลสำเร็จ โครงการไม่สามารถโหลดได้ เนื่องจากไฟล์ SqlServer.targets หายไปหลังจากอัปเกรดเป็น Visual Studio 2013 ดูเหมือนว่าจะมีสตรีมบางส่วนที่ยังไม่ได้รับการแก้ไขในคำถามนั้นเช่นกัน

ความช่วยเหลือใด ๆ จะดีมาก ยินดีที่จะให้รายละเอียดเพิ่มเติมและ/หรือแก้ไขคำถามเพื่อให้กว้างขึ้น ขอบคุณล่วงหน้า.


person Justin L.    schedule 18.09.2015    source แหล่งที่มา


คำตอบ (3)


ในขณะที่ไม่มีคำตอบใน โปรเจ็กต์ไม่สามารถโหลดได้เนื่องจากไฟล์ SqlServer.targets หายไปหลังจากอัปเกรดเป็น Visual Studio 2013 ใช้งานได้สำหรับฉัน และไม่มีใครมีแนวคิดเกี่ยวกับ Stack Overflow ที่นี่ ปรากฎว่านี่เป็นข้อบกพร่องที่เกี่ยวข้องกับความเข้ากันได้แบบย้อนหลังใน Visual Studio 2013 และ SSDT (เครื่องมือสำหรับนักพัฒนาเซิร์ฟเวอร์ SQL) ความคิดเห็นในฟอรัมนี้แก้ไขปัญหาของฉันได้:

https://connect.microsoft.com/SQLServer/feedbackdetail/view/979839

โพสโดย bsclifton เมื่อ 15/11/2014 เวลา 7:18 น

พบปัญหานี้กับรุ่น Community 2013 เช่นกัน ไปที่เครื่องมือ -> ส่วนขยายและการอัปเดตและการอัปเดต "การอัปเดต Microsoft SQL Server สำหรับการใช้เครื่องมือฐานข้อมูล" แก้ไขปัญหาได้ :)

person Justin L.    schedule 13.10.2015

เปลี่ยนไฟล์ .sqlproj โดยมีสิ่งต่อไปนี้ตามคำแนะนำในเธรดเวิร์กโฟลว์สแต็กอื่น ทำงานให้ฉัน

$(MSBuildToolsPath) ถึง $(MSBuildBinPath) ในแท็กนำเข้า

person Baskar Purushothaman    schedule 25.10.2018

ฉันมีข้อความแสดงข้อผิดพลาดเดียวกัน แต่ใน VS2017 ใน .sqlproj ช่วยเพิ่มอาร์กิวเมนต์ DefaultTargets ในไฟล์ .targets

<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="SetDacVersionToAssemblyVersion" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
  <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
  <Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v$(VisualStudioVersion)\SSDT\Microsoft.Data.Tools.Schema.SqlTasks.targets" />

  <Target Name="SetDacVersionToAssemblyVersion" AfterTargets="CoreCompile" Condition=" '$(EnableDacVersionFromAssembly)' == 'True' ">
    <GetAssemblyIdentity AssemblyFiles="$(IntermediateTargetFullFileName)">
      <Output TaskParameter="Assemblies" PropertyName="IntermediateTargetAssembly" />
    </GetAssemblyIdentity>
    <PropertyGroup>
      <DacVersion>$(IntermediateTargetAssembly.Split(',')[1].Split('=')[1])</DacVersion>
    </PropertyGroup>
  </Target>

</Project>
person scar80    schedule 05.12.2017