คำถามติดแท็ก assemblies

แอสเซมบลีคือคอลเล็กชันของชนิด. Net และรีซอร์สที่คอมไพล์ซึ่งจัดกลุ่มเป็นหน่วยตรรกะและฟิสิคัล (ในรูปแบบของไฟล์. dll หรือไฟล์. exe)

7
อะไรคือความแตกต่างระหว่าง AssemblyVersion, AssemblyFileVersion และ AssemblyInformationalVersion?
มีแอตทริบิวต์รุ่นประกอบสามอย่าง ความแตกต่างคืออะไร? ไม่เป็นไรถ้าฉันใช้AssemblyVersionและเพิกเฉยต่อคนที่เหลือ? MSDN พูดว่า: AssemblyVersion : ระบุเวอร์ชันของชุดประกอบที่มีการระบุ AssemblyFileVersion : สั่งให้คอมไพเลอร์ใช้หมายเลขรุ่นเฉพาะสำหรับทรัพยากรเวอร์ชั่นของไฟล์ Win32 รุ่นของไฟล์ Win32 ไม่จำเป็นต้องเหมือนกับหมายเลขเวอร์ชั่นของชุดประกอบ AssemblyInformationalVersion : กำหนดข้อมูลรุ่นเพิ่มเติมสำหรับรายการประกอบ นี่คือการติดตามการปฏิบัติที่ดีที่สุดสำหรับการใช้คุณสมบัติแอสเซมบลีคืออะไร


5
ฉันจะรับเวอร์ชันไฟล์ประกอบได้อย่างไร
ในAssemblyInfoมีสองรุ่นประกอบ: AssemblyVersion: ระบุรุ่นของแอสเซมบลีที่เกิดขึ้น AssemblyFileVersion: สั่งให้คอมไพเลอร์ใช้หมายเลขรุ่นเฉพาะสำหรับทรัพยากรเวอร์ชั่นของไฟล์ Win32 รุ่นของไฟล์ Win32 ไม่จำเป็นต้องเหมือนกับหมายเลขเวอร์ชั่นของชุดประกอบ ฉันจะได้รับAssembly Versionกับบรรทัดของรหัสต่อไปนี้: Version version = Assembly.GetEntryAssembly().GetName().Version; แต่ฉันจะหาได้Assembly File Versionอย่างไร
727 c#  .net  assemblies  version 

15
ฉันจะทราบได้อย่างไรว่าแอสเซมบลี. NET นั้นถูกสร้างขึ้นสำหรับ x86 หรือ x64 หรือไม่
ฉันมีรายชื่อชุดประกอบ. NET ฉันต้องตรวจสอบโดยทางโปรแกรมว่า DLL แต่ละตัวถูกสร้างขึ้นสำหรับ x86 (ตรงข้ามกับ x64 หรือ CPU ใด ๆ ) เป็นไปได้ไหม
327 .net  assemblies  x86  64-bit  x86-64 

14
วิธีการแก้ไขข้อผิดพลาด“ แอสเซมบลีที่อ้างอิงไม่มีชื่อที่รัดกุม” ข้อผิดพลาด
ฉันได้เพิ่มแอสเซมบลีที่ชื่ออย่างอ่อนในโครงการVisual Studio 2005ของฉัน(ซึ่งมีชื่อขอ) ตอนนี้ฉันได้รับข้อผิดพลาด: "แอสเซมบลีที่อ้างอิง 'xxxxxxxx' ไม่มีชื่อที่รัดกุม" ฉันจำเป็นต้องเซ็นชื่อชุดประกอบบุคคลที่สามนี้หรือไม่

14
ทำไมคุณควรลบ C # ที่ไม่จำเป็นโดยใช้คำสั่ง?
ตัวอย่างเช่นฉันไม่ค่อยต้องการ: using System.Text; แต่จะมีตามค่าเริ่มต้นเสมอ ผมถือว่าโปรแกรมจะใช้หน่วยความจำมากขึ้นถ้ารหัสของคุณมีที่ไม่จำเป็นโดยใช้คำสั่ง แต่มีอะไรอีกบ้างที่ฉันควรระวัง? นอกจากนี้มันจะสร้างความแตกต่างใด ๆ หรือไม่หากใช้ directive เดียวกันในไฟล์เดียวเทียบกับไฟล์ส่วนใหญ่ / ทั้งหมด? แก้ไข: โปรดทราบว่าคำถามนี้ไม่ได้เกี่ยวกับแนวคิดที่ไม่เกี่ยวข้องที่เรียกว่าคำสั่งการใช้ซึ่งออกแบบมาเพื่อช่วยจัดการทรัพยากรโดยการทำให้แน่ใจว่าเมื่อวัตถุออกนอกขอบเขตIDisposable.Disposeจะเรียกวิธีการนั้น ดูการใช้ "ใช้" ใน C #
216 c#  assemblies  using 

13
ฉันสามารถโหลดแอสเซมบลี. NET ที่รันไทม์และสร้างอินสแตนซ์ของชนิดที่รู้ชื่อเท่านั้นได้หรือไม่
เป็นไปได้ที่จะยกตัวอย่างวัตถุที่รันไทม์ถ้าฉันมีชื่อ DLL และชื่อคลาสโดยไม่ต้องเพิ่มการอ้างอิงไปยังแอสเซมบลีในโครงการหรือไม่ คลาสใช้อินเทอร์เฟซดังนั้นเมื่อฉันสร้างอินสแตนซ์ของคลาสแล้วฉันจะส่งไปยังอินเทอร์เฟซ ชื่อการประกอบ: Library.dll ชื่อประเภท: Company.Project.Classname แก้ไข:ฉันไม่มีเส้นทางที่แน่นอนของ DLL ดังนั้นAssembly.LoadFileจะไม่ทำงาน DLL อาจอยู่ในรูทแอปพลิเคชัน, system32 หรือแม้กระทั่งโหลดใน GAC
178 c#  assemblies 

8
แนวทางปฏิบัติที่ดีที่สุดสำหรับการใช้แอสเซมบลีแอสเซมบลีคืออะไร
ฉันมีทางออกสำหรับหลาย ๆ โครงการ ฉันกำลังพยายามเพิ่มประสิทธิภาพไฟล์ AssemblyInfo.cs โดยการเชื่อมโยงหนึ่งไฟล์ข้อมูลประกอบกว้างโซลูชั่น อะไรคือแนวทางปฏิบัติที่ดีที่สุดสำหรับการทำสิ่งนี้? แอ็ตทริบิวต์ใดที่ควรอยู่ในไฟล์โซลูชันกว้างและเฉพาะโครงการ / ชุดประกอบ แก้ไข: หากคุณสนใจมีคำถามติดตามสิ่งที่แตกต่างระหว่าง AssemblyVersion, AssemblyFileVersion และ AssemblyInformationalVersion คืออะไร?

6
C #: ทำไมต้องลงนามในการชุมนุม?
ในรหัส C # บางตัวที่ฉันได้ครอบครอง (ใน Visual Studio 2005) ฉันสังเกตเห็นว่าชุดประกอบทั้งหมดถูกเซ็นชื่อด้วย.snkไฟล์เดียวกัน เหตุใดผู้เขียนคนก่อนหน้าจึงลงนามชุดประกอบด้วยวิธีนี้ จำเป็นต้องใช้ชุดประกอบการเซ็นชื่อและจะเกิดอะไรขึ้นหากไม่ลงชื่อ? มีข้อเสียอะไรบ้างในชุดประกอบการเซ็นชื่อ - มันทำให้เกิดความล่าช้าหรือไม่?
146 c#  assemblies 

15
จะแยกชุดประกอบออกจาก GAC ได้อย่างไร?
มีแพ็คเกจที่ฉันต้องจัดการซึ่งติดตั้งแอสเซมบลีตรงเข้าไปใน GAC (เช่นที่ไหนสักแห่งที่ลึกเป็น% windows% / แอสเซมบลี) ฉันจะขับไล่แอสเซมบลีจริง (DLL) จาก GAC เข้าสู่ระบบไฟล์ปกติได้อย่างไร ขอบคุณ.
134 .net  assemblies 

8
วิธีเพิ่มโฟลเดอร์ไปยังเส้นทางการค้นหาแอสเซมบลีที่รันไทม์ใน. NET?
DLLs ของฉันถูกโหลดโดยแอปพลิเคชันอื่นซึ่งเราไม่สามารถกำหนดเองได้ แอสเซมบลีของฉันต้องอยู่ในโฟลเดอร์ของตนเอง ฉันไม่สามารถใส่ลงใน GAC (แอปพลิเคชันของฉันมีข้อกำหนดที่จะใช้งานโดยใช้ XCOPY) เมื่อ DLL รูทพยายามโหลดทรัพยากรหรือพิมพ์จาก DLL อื่น (ในโฟลเดอร์เดียวกัน) การโหลดล้มเหลว (FileNotFound) เป็นไปได้หรือไม่ที่จะเพิ่มโฟลเดอร์ที่ DLLs ของฉันไปยังเส้นทางการค้นหาแอสเซมบลีโดยทางโปรแกรม (จาก DLL ราก) ฉันไม่ได้รับอนุญาตให้เปลี่ยนไฟล์กำหนดค่าของแอปพลิเคชัน
130 .net  search  assemblies  path 

13
ฉันจะดู MSIL / CIL ที่สร้างโดยคอมไพเลอร์ C # ได้อย่างไร ทำไมจึงเรียกว่าการชุมนุม?
ฉันยังใหม่กับการเขียนโปรแกรม. NET C # ฉันกำลังติดตามหนังสือสองสามเล่ม ว่ากันว่าแทนที่จะรวบรวมโดยตรงกับรหัสไบนารี (Native code) รหัสระดับสูงจะถูกแปลงเป็นภาษากลาง (เรียกว่า MSIL หรือที่เรียกว่า CIL) แต่เมื่อฉันรวบรวมฉันได้รับไฟล์ exe / Dll MSIL / CIL นี้มีอยู่ในไฟล์ exe / dll หรือไม่ ฉันต้องการเห็นรหัสภาษากลางนั้น เพียงเพื่อให้รู้สึกถึงการมีอยู่ของมัน วิธีดู? พวกเขากำลังเรียกไฟล์ exe / dll นี้ว่าไฟล์assembly. พวกเขาใช้ "คำแฟนซี" เพียงเพื่อแยกความแตกต่างจากไฟล์ exe / dll ที่มีรหัสไบนารี (โค้ดเนทีฟ) หรือไม่?
130 c#  .net  assemblies 

7
ความแตกต่างระหว่าง LoadFile และ LoadFrom กับ. NET Assemblies?
ฉันกำลังดูเอกสาร msdn และฉันก็ยังสับสนเล็กน้อยว่าอะไรคือความแตกต่างระหว่างการใช้LoadFileและLoadFromเมื่อโหลดแอสเซมบลี ใครสามารถยกตัวอย่างหรือการเปรียบเทียบเพื่ออธิบายให้ดีขึ้นได้ เอกสาร MSDN ทำให้ฉันสับสนมากขึ้น นอกจากนี้ยังReflectionOnlyLoadFromเหมือนกับLoadFromยกเว้นว่าจะโหลดแอสเซมบลีในโหมดสะท้อนแสงเท่านั้น เนื่องจากประสบการณ์. NET ของฉันไม่ได้ดีที่สุดนี่คือคำถามบางส่วนเกี่ยวกับเอกสาร MSDN โดยใช้ LoadFile: 1) การLoadFileตรวจสอบแอสเซมบลีที่มีเอกลักษณ์เหมือนกัน แต่อยู่คนละเส้นทางหมายความว่าอย่างไร ตัวตน (ตัวอย่าง) คืออะไร? 2) ระบุว่าLoadFileไม่โหลดไฟล์ลงใน 'LoadFrom Context' และไม่แก้ไขการอ้างอิงโดยใช้โหลดพา ธ หมายความว่าอย่างไรใครสามารถให้ตัวอย่างได้ 3) สุดท้ายนี้ระบุว่าLoadFileมีประโยชน์ในสถานการณ์ที่ จำกัด นี้เนื่องจาก LoadFrom ไม่สามารถโหลดแอสเซมบลีที่มีอัตลักษณ์เดียวกัน แต่มีพา ธ ต่างกัน มันจะโหลดแอสเซมบลีแรกเท่านั้นซึ่งทำให้ฉันเจอคำถามเดิมอีกครั้งอัตลักษณ์ของแอสเซมบลีคืออะไร?

2
คุณวนลูปแอสเซมบลีที่โหลดในปัจจุบันได้อย่างไร?
ฉันมีหน้า "การวินิจฉัย" ในแอปพลิเคชัน ASP.NET ซึ่งทำสิ่งต่างๆเช่นตรวจสอบการเชื่อมต่อฐานข้อมูลแสดง appSettings และ ConnectionStrings ปัจจุบันเป็นต้นส่วนของหน้านี้จะแสดงประเภทที่สำคัญของ Assembly เวอร์ชันที่ใช้ตลอด แต่ฉันไม่สามารถหาวิธีแสดงเวอร์ชันของชุดประกอบทั้งหมดที่โหลดได้อย่างมีประสิทธิภาพ วิธีใดที่มีประสิทธิภาพที่สุดในการค้นหาแอสเซมบลีที่อ้างถึงและ / หรือโหลดในแอปพลิเคชัน. NET หมายเหตุ: ฉันไม่สนใจวิธีการใช้ไฟล์เช่นการวนซ้ำผ่าน * .dll ในไดเร็กทอรีเฉพาะ ฉันสนใจว่าตอนนี้แอปพลิเคชันกำลังใช้งานอะไรอยู่
120 .net  assemblies 

9
แทนที่เนื้อหาของวิธี C # แบบไดนามิก?
สิ่งที่ฉันต้องการทำคือเปลี่ยนวิธีการดำเนินการของ C # เมื่อมีการเรียกเพื่อให้ฉันสามารถเขียนสิ่งนี้ได้: [Distributed] public DTask<bool> Solve(int n, DEvent<bool> callback) { for (int m = 2; m < n - 1; m += 1) if (m % n == 0) return false; return true; } ในขณะรันไทม์ฉันต้องสามารถวิเคราะห์เมธอดที่มีแอตทริบิวต์ Distributed (ซึ่งฉันทำได้อยู่แล้ว) จากนั้นใส่โค้ดก่อนที่เนื้อหาของฟังก์ชันจะดำเนินการและหลังจากที่ฟังก์ชันกลับมา ที่สำคัญกว่านั้นคือฉันต้องสามารถทำได้โดยไม่ต้องแก้ไขโค้ดที่มีการเรียกใช้การแก้ปัญหาหรือเมื่อเริ่มต้นฟังก์ชัน (ในเวลาคอมไพล์การทำเช่นนั้นในเวลาทำงานเป็นวัตถุประสงค์) ในขณะนี้ฉันได้ลองใช้บิตของโค้ดนี้แล้ว(สมมติว่า t เป็นประเภทที่มีการแก้ปัญหาและ m คือ MethodInfo ของการแก้ปัญหา) : …
114 c#  methods  assemblies  cil  swap 

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