ความแตกต่างระหว่าง Microsoft .NET 4.0 full Framework และ Client Profile


360

ตัวติดตั้งแบบเต็มของ Microsoft .NET Framework 4.0 (32- และ 64 บิต) คือ 48.1 MB และตัวติดตั้งโปรไฟล์ลูกค้าคือ 41.0 MB ไฟล์การติดตั้งที่คลายบีบอัดคือ 237 MB และ 194 MB ตามลำดับและเมื่อติดตั้งแล้วไฟล์เหล่านี้คือ 537 MB และ 427 MB

นี่คือความแตกต่างจาก 110 MB แพคเกจทั้งสองแตกต่างกันอย่างไร?

เมื่อใดจึงควรติดตั้งโปรไฟล์ลูกค้าแทน. NET Framework เต็ม


52
ความแตกต่าง 7.1 MB? นักพัฒนาผิดหวังกับข้อผิดพลาดในการคอมไพล์เพราะ Microsoft คิดว่า 7.1 MB นั้นคุ้มค่าที่จะแยกออกเป็นสองส่วนใช่หรือไม่ น่ากลัว
JYelton


13
A 7.1 MB difference? Developers get frustrated with compile errors because Microsoft thought 7.1 MB was worth splitting it in two? นั่นเป็นเพียงการติดตั้ง เมื่อแตกไฟล์จะมีขนาดมากกว่า 43MB เมื่อติดตั้งแล้วจะมีขนาดเพิ่มขึ้น 110MB คุณสามารถลืมระบบฝังตัวหรือโปรไฟล์ต่ำ ค่าใช้จ่ายและสถาปัตยกรรมไม่ใช่เหตุผลเดียวที่Rπไม่รองรับ Windows
Synetech

คำตอบ:


365

มีอะไรใหม่ใน RTM โปรไฟล์ลูกค้า. NET Framework 4อธิบายความแตกต่างมากมาย:

เมื่อใดจึงควรใช้โปรไฟล์ลูกค้า NET4 และเมื่อใดจึงควรใช้ NET4 Full Framework
โปรไฟล์ลูกค้า NET4:
กำหนดเป้าหมายโปรไฟล์ลูกค้า NET4 เสมอสำหรับแอปพลิเคชันเดสก์ท็อปไคลเอ็นต์ทั้งหมดของคุณ (รวมถึงแอพ Windows Forms และ WPF)

NET4 Full framework:
Target NET4 Full เฉพาะเมื่อฟีเจอร์หรือแอสเซมบลีที่แอพของคุณต้องการไม่รวมอยู่ในโปรไฟล์ลูกค้า รวมถึง:

  • หากคุณกำลังสร้างแอปเซิร์ฟเวอร์ เช่น:
    แอป ASP.Net
    o บริการเว็บที่ใช้ ASMX บนฝั่งเซิร์ฟเวอร์
  • หากคุณใช้สถานการณ์ไคลเอนต์แบบดั้งเดิม เช่น:
    o ใช้ System.Data.OracleClient.dll ซึ่งเลิกใช้แล้วใน NET4 และไม่รวมอยู่ในโปรไฟล์ลูกค้า
    o ใช้ Windows Workflow Foundation 3.0 หรือ 3.5 ดั้งเดิม (WF3.0, WF3.5)
  • ถ้าคุณกำหนดเป้าหมายสถานการณ์ของนักพัฒนาและต้องการเครื่องมือเช่น MSBuild หรือต้องการเข้าถึงแอสเซมบลีการออกแบบเช่น System.Design.dll

อย่างไรก็ตามตามที่ระบุไว้ใน MSDNสิ่งนี้ไม่เกี่ยวข้องกับ> = 4.5:

เริ่มต้นด้วย. NET Framework 4.5 โปรไฟล์ลูกค้าถูกยกเลิกและมีเพียงแพ็คเกจที่แจกจ่ายต่อได้แบบเต็มเท่านั้น การปรับให้เหมาะสมโดย. NET Framework 4.5 เช่นขนาดการดาวน์โหลดที่เล็กลงและการปรับใช้ที่เร็วขึ้นได้ขจัดความต้องการแพคเกจการปรับใช้ที่แยกต่างหาก สตรีมที่แจกจ่ายซ้ำได้อย่างคล่องตัวช่วยลดขั้นตอนการติดตั้งและลดความซับซ้อนของตัวเลือกการปรับใช้แอป


12
รายการบล็อกนี้ยังพูดถึงขนาดไฟล์เฟรมเวิร์กที่แตกต่างกัน: hanselman.com/blog/…
M. Dudley

56

คุณควรปรับใช้ "โปรไฟล์ลูกค้า" แทน "Full Framework" ภายใน บริษัท ส่วนใหญ่ในกรณีเดียวเท่านั้น: คุณต้องการปฏิเสธคุณลักษณะ. NET บางอย่างที่ทำงานบนคอมพิวเตอร์ไคลเอนต์อย่างชัดเจน กรณีจริงเท่านั้นที่ปฏิเสธASP.NET บนเครื่องไคลเอ็นต์ของ บริษัท ตัวอย่างเช่นเนื่องจากเหตุผลด้านความปลอดภัยหรือนโยบายขององค์กรที่มีอยู่

การบันทึกน้อยกว่า 8 MB บนคอมพิวเตอร์ไคลเอนต์ไม่สามารถเป็นสาเหตุสำคัญของการปรับใช้ "โปรไฟล์ลูกค้า" ใน บริษัท ความเสี่ยงของความจำเป็นในการปรับใช้ "Full Framework" ในภายหลังใน บริษัท สูงกว่าต้นทุน 8 MB ต่อลูกค้า


ลิงค์ในคำตอบของ Cameron ระบุเหตุผลหลายประการ
Ade Miller

13
@Ade ด้วยเหตุนี้เราจึงพูดเกี่ยวกับสิ่งเดียวกันทั้งหมด ความแตกต่างระหว่างสองแพ็คเกจเป็นที่รู้จักกันดี ฉันต้องการเพียงแค่พูดอย่างชัดเจนว่าเหตุผลที่ร้ายแรงเพียงอย่างเดียวของการใช้ "โปรไฟล์ลูกค้า" คือข้อกำหนดในการปฏิเสธ ASP.NETบนคอมพิวเตอร์ไคลเอนต์ รายละเอียดทางเทคนิคอื่น ๆ ทั้งหมดไม่สำคัญมากนัก
Oleg

1
Saving of less then 8 MB… นั่นเป็นเพียงโปรแกรมติดตั้ง มันเพิ่มขึ้น 110MB เมื่อติดตั้งแล้ว
Synetech

2
110Mb-8Mb ในยุคนี้ของ 1Tb ไดรฟ์ ฯลฯ ใครสนใจ?
เลียม

1
@Oleg หากคำตอบของคุณเป็นจริงทำไม NET 4.5 เป็นต้นไปไม่สนับสนุนโปรไฟล์ลูกค้าอีกต่อไป
Pacerier

48

รายการแอสเซมบลีมีอยู่ที่แอสเซมบลีในโปรไฟล์ไคลเอนต์. NET Frameworkบน MSDN (รายการยาวเกินไปที่จะรวมที่นี่)

หากคุณสนใจฟีเจอร์นี้มากขึ้นโปรไฟล์ไคลเอนต์. NET Frameworkบน MSDN จะแสดงรายการต่อไปนี้เมื่อรวมอยู่ด้วย:

  • รันไทม์ภาษาทั่วไป (CLR)
  • ClickOnce
  • แบบฟอร์ม Windows
  • Windows Presentation Foundation (WPF)
  • Windows Communication Foundation (WCF)
  • Entity Framework
  • Windows Workflow Foundation
  • การพูด
  • รองรับ XSLT
  • LINQ เป็น SQL
  • ไลบรารีการออกแบบรันไทม์สำหรับ Entity Framework และ WCF Data Services
  • Managed Extensibility Framework (MEF)
  • ประเภทแบบไดนามิก
  • คุณสมบัติการเขียนโปรแกรมแบบขนานเช่น Task Parallel Library (TPL), Parallel LINQ (PLINQ) และโครงสร้างข้อมูลการประสานงาน (CDS)
  • การดีบักแอปพลิเคชันไคลเอนต์

และไม่รวมอยู่ในรายการต่อไปนี้:

  • ASP.NET
  • ฟังก์ชันการทำงานขั้นสูงของ Windows Communication Foundation (WCF)
  • .NET Framework Data Provider สำหรับ Oracle
  • MSBuild สำหรับการรวบรวม

20

คาเมรอน MacFarland ตอกมัน

ฉันต้องการเพิ่มว่าโปรไฟล์ไคลเอนต์. NET 4.0 จะรวมอยู่ใน Windows Updateและ Windows รุ่นใหม่ในอนาคต คาดหวังว่าคอมพิวเตอร์ส่วนใหญ่จะมีโปรไฟล์ลูกค้าไม่ใช่โปรไฟล์เต็ม อย่าประมาทความจริงที่ว่าถ้าคุณทำยอดขายแบบธุรกิจกับผู้บริโภค (B2C)

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