.NET 4.0 สร้างปัญหาบนเซิร์ฟเวอร์ CI


99

มีใครจัดการเพื่อรับแอปพลิเคชัน. NET 4.0 ที่รวบรวมบนเซิร์ฟเวอร์ CI โดยไม่ต้องติดตั้ง Visual Studio 2010 บนเซิร์ฟเวอร์ CI?

ไม่มี SDK สำหรับ. NET 4.0 ได้ติดตั้ง. NET 4.0 บนเซิร์ฟเวอร์ CI Msbuild.exe ใช้งานได้กับโปรเจ็กต์ง่ายๆและให้คำเตือนต่อไปนี้:

(GetReferenceAssemblyPaths เป้าหมาย) -> C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Microsoft.Common.targets (847,9): คำเตือน MSB3644: แอสเซมบลีการอ้างอิงสำหรับเฟรมเวิร์ก ".NETFramework, เวอร์ชัน = v4.0" ไม่พบ ในการแก้ไขปัญหานี้ให้ติดตั้ง SDK หรือ Targeting Pack สำหรับเวอร์ชันเฟรมเวิร์กนี้หรือกำหนดเป้าหมายแอปพลิเคชันของคุณใหม่เป็นเวอร์ชันของเฟรมเวิร์กที่คุณติดตั้ง SDK หรือ Targeting Pack โปรดทราบว่าแอสเซมบลีจะได้รับการแก้ไขจาก Global Assembly Cache (GAC) และจะใช้แทนแอสเซมบลีอ้างอิง ดังนั้นแอสเซมบลีของคุณอาจไม่ถูกกำหนดเป้าหมายอย่างถูกต้องสำหรับกรอบงานที่คุณต้องการ


1
ฉันจะทำให้สิ่งนี้เป็นข้อผิดพลาดร้ายแรงแทนที่จะเป็นคำเตือนได้อย่างไร มันซ่อนอยู่ในบันทึกการสร้างของเราและแทนที่จะล้มเหลวเพิ่มเติมด้วยข้อความที่เป็นความลับเกี่ยวกับ mscorlib.dll
Colonel Panic

ฉันได้เขียนโพสต์โดยละเอียดไว้ที่นี่: neelbhatt.com/2018/05/04/…
Neel

คำตอบ:


128

คุณไม่จำเป็นต้องติดตั้ง VS อีกต่อไปคุณสามารถติดตั้ง "Microsoft Windows SDK สำหรับ Windows 7 และ. NET Framework 4" ได้แล้ว

http://www.microsoft.com/downloads/details.aspx?displaylang=th&FamilyID=6b6c21d2-2006-4afa-9702-529fa782d63b


44
การติดตั้งเริ่มต้นคือ 1.7 GB แต่ไฟล์เหล่านี้ส่วนใหญ่ไม่จำเป็น หากคุณยกเลิกการตรวจสอบทุกอย่างยกเว้น. NET Development> Intellisense และ Reference Assemblies ซึ่งจะยังคงให้ชุดการกำหนดเป้าหมาย. NET 4 ที่คุณต้องการ (ประมาณ 450 MB)
Luke Sampson

1
คุณอาจต้องการตรวจสอบการพัฒนา. NET> เครื่องมือเนื่องจากจะมียูทิลิตี้หลายอย่างเช่น sn.exe ที่มีประโยชน์สำหรับการจัดการกับแอสเซมบลีที่ลงนาม
Mykro

8
นอกจากนี้ยังมีตัวติดตั้งเว็บดังนั้นคุณต้องดาวน์โหลดเฉพาะส่วนที่จำเป็นเท่านั้น สามารถดาวน์โหลดได้ที่นี่: microsoft.com/download/en/confirmation.aspx?id=8279
Rasmus

2
แม้ว่าจะมีชื่อว่า "สำหรับ Windows 7" แต่ระบบปฏิบัติการที่รองรับ: Windows 7, Windows Server 2003 R2 Standard Edition (32 บิต x86), Windows Server 2003 R2 Standard x64 Edition, Windows Server 2008, Windows Server 2008 R2 , Windows Vista, Windows XP Service Pack 3
Aligma

2
คำตอบนั้นช่วยฉันด้วย ฉันมีปัญหาที่แตกต่างกันในการติดตั้ง sdk 7.1 ซึ่งแก้ไขได้ดังที่แสดงไว้ที่นี่mathworks.com/matlabcentral/answers/95039
ari

23

SDK สำหรับ NET 4.5 ที่มีอยู่ที่นี่ โปรแกรมติดตั้งทำงานได้ดีกับพร็อกซีที่มีการอนุญาตขั้นพื้นฐาน ระบบปฏิบัติการที่รองรับ: Windows 8, Windows Server 2012, Windows 7, Windows Server 2008 R2

ป.ล. คำตอบของฉันเหมือนความคิดเห็นของJeremyมากกว่า แต่ฉันมีชื่อเสียงไม่เพียงพอที่จะแสดงความคิดเห็นในคำตอบ


1
จากหน้าอ้างอิง: "Windows SDK ไม่ได้มาพร้อมกับสภาพแวดล้อมการสร้างบรรทัดคำสั่งที่สมบูรณ์อีกต่อไปตอนนี้ Windows SDK ต้องการคอมไพเลอร์และสภาพแวดล้อมบิลด์เพื่อติดตั้งแยกกัน" ดังนั้นฉันถือว่าสิ่งนี้ไม่เพียงพอที่จะเรียกใช้เซิร์ฟเวอร์บิลด์
คริส

1
สิ่งนี้แก้ไขให้ฉัน คุณต้องเลือกตัวเลือก ".NET Framework 4.5 Software Development Kit" ซึ่งต้องการเพียง 62.3 MB และทำงานได้ดีบนเซิร์ฟเวอร์ TFS Build 2013 ที่ติดตั้งบน Windows Server 2012 R2 สำหรับการปรับใช้แอป SharePoint ไม่จำเป็นต้องแทนที่พารามิเตอร์ FrameworkPathOverride
Koen Zomers

10

ทางเลือกอื่น: โดยไม่ต้องติดตั้ง Net 4.0 SDK หรือเทียบกับ 2010

คัดลอกโฟลเดอร์แอสเซมบลีอ้างอิงจากเครื่อง dev ของคุณไปยังบิลด์เซิร์ฟเวอร์ (190MB)

ใช้ตัวเลือก msbuild -p: FrameworkPathOverride เพื่อชี้ไปที่โฟลเดอร์แอสเซมบลีการอ้างอิง

สถานที่ประกอบการอ้างอิง:

C: \ Program Files (x86) \ Reference Assemblies \ Microsoft \ Framework \ .NETFramework \ v4.0 หรือ C: \ Program Files \ Reference Assemblies \ Microsoft \ Framework \ .NETFramework \ v4.0

พบสิ่งนี้จาก:

.NET 4.0 build เซิร์ฟเวอร์อ้างอิงแอสเซมบลีคำเตือน MSB3644

หากคุณได้รับข้อผิดพลาดนี้: "ไม่พบ Microsoft.WebApplication.targets" - เพียงแค่คัดลอกเป้าหมายจากเครื่อง dev https://stackoverflow.com/a/5344246/423356

หากไม่ได้ติดตั้ง mvc3 ในบิลด์เซิร์ฟเวอร์ "เพิ่มแอสเซมบลีที่ปรับใช้ได้" ให้กับโปรเจ็กต์ mvc http://haacked.com/archive/2011/05/25/bin-deploying-asp-net-mvc-3.aspx

หากคุณมีข้อผิดพลาดในการสร้างโครงการ MSTest โดยไม่ได้ติดตั้ง sdk หรือ visual studio มีบล็อกโพสต์มากมายเกี่ยวกับเรื่องนี้วิธีแก้ปัญหานั้นซับซ้อนเกินไปสำหรับฉัน ฉันใช้ NUnit แทน MSTest


เนื่องจากเซิร์ฟเวอร์ 2012 ของฉันไม่ยอมให้ฉันติดตั้ง. Net 4 เพราะตัวติดตั้งบอกว่ามีเวอร์ชันที่สูงกว่า ฉันทำตามที่ @kite พูดและคัดลอกจากพีซีที่ฉันมีติดตั้ง VS 2012 สิ่งนี้ช่วยแก้ปัญหาของฉันได้
chdev77

0

หน้านี้แสดงรายการ. NET SDK สำหรับ Visual Studio แต่ละเวอร์ชัน http://blogs.msdn.com/b/dotnet/p/dotnet_sdks.aspx

สำหรับการดาวน์โหลดขนาดเล็กให้เลือก "Developer Pack" หรือ "Target Pack" แทนที่จะเป็น Windows SDK แบบเต็ม


อาจเป็นเคล็ดลับทั่วไปในการติดตั้งชุดนักพัฒนาหรือชุดเป้าหมาย แต่เฉพาะสำหรับ. NET Framework 4.0 (คำถามนี้เป็นข้อมูลเกี่ยวกับ) ไม่มีชุดดังกล่าวและ Windows SDK เป็นสิ่งที่หลีกเลี่ยงไม่ได้
Lex Li
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.