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

7
ฉันจะระบุพา ธ [DllImport] ที่รันไทม์ได้อย่างไร
ในความเป็นจริงฉันมี C ++ (ทำงาน) DLL ที่ฉันต้องการนำเข้าสู่โปรเจ็กต์ C # ของฉันเพื่อเรียกใช้ฟังก์ชั่น มันจะทำงานเมื่อฉันระบุเส้นทางแบบเต็มไปยัง DLL เช่นนี้ string str = "C:\\Users\\userName\\AppData\\Local\\myLibFolder\\myDLL.dll"; [DllImport(str, CallingConvention = CallingConvention.Cdecl)] public static extern int DLLFunction(int Number1, int Number2); ปัญหาคือมันจะเป็นโครงการที่ติดตั้งได้ดังนั้นโฟลเดอร์ของผู้ใช้จะไม่เหมือนเดิม (เช่น: pierre, paul, jack, mum, dad, ... ) ขึ้นอยู่กับคอมพิวเตอร์ / เซสชันที่ต้องการเปิดใช้งาน ดังนั้นฉันต้องการรหัสของฉันจะเป็นทั่วไปเล็กน้อยเช่นนี้ /* goes right to the temp folder of the …
141 c#  c++  dll  constants  dllimport 

5
การฝัง dll ที่ไม่มีการจัดการลงใน C # dll ที่มีการจัดการ
ฉันมี C # dll ที่มีการจัดการซึ่งใช้ dll C ++ ที่ไม่มีการจัดการโดยใช้ DLLImport ทั้งหมดทำงานได้ดี อย่างไรก็ตามฉันต้องการฝัง DLL ที่ไม่มีการจัดการนั้นไว้ใน DLL ที่มีการจัดการของฉันตามที่ Microsoft อธิบายไว้ที่นั่น: http://msdn.microsoft.com/en-us/library/system.runtime.interopservices.dllimportattribute.dllimportattribute.aspx ดังนั้นฉันจึงเพิ่มไฟล์ dll ที่ไม่มีการจัดการลงในโปรเจ็กต์ dll ที่มีการจัดการของฉันตั้งค่าคุณสมบัติเป็น 'Embedded Resource' และแก้ไข DLLImport เป็นสิ่งที่ต้องการ: [DllImport("Unmanaged Driver.dll, Wrapper Engine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null", CallingConvention = CallingConvention.Winapi)] โดยที่ 'Wrapper Engine' เป็นชื่อแอสเซมบลีของ 'Unmanaged Driver.dll' ที่มีการจัดการของฉันคือ DLL ที่ไม่มีการจัดการ เมื่อฉันวิ่งฉันจะได้รับ: การเข้าถึงถูกปฏิเสธ. …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.