سؤال

هل هناك أي طريقة لدمج جميع الموارد في ملف exe واحد مثل app.config وملفات DLL المرتبطة بها؟

يبدو أن بعض التطبيقات تقوم بذلك مثل eMule.

لا أريد أن يكون ملف app.config الخاص بي هناك في انتظار التحرير.

شكرًا

هل كانت مفيدة؟

المحلول

بالتأكيد، في Solution Explorer (بافتراض Visual Studio هنا، لأنك لم تذكر ذلك) Right-click و Properties للملف (الملفات) التي تريد تضمينها.

يجب أن يكون هناك خيار ل Build Action التي يمكنك ضبطها على Embedded Resource.

نصائح أخرى

يمكنك بالطبع تضمين الموارد.انتقل إلى خصائص التطبيق وحدد علامة التبويب "الموارد".جميع الموارد المضافة فيها ستكون في الملف الثنائي الرئيسي.

لماذا لا يوجد app.config هناك في انتظار التحرير؟تحتوي العديد من حزم البرامج الاحترافية على ملفات تكوين وملفات ini متاحة بحرية لتحريرها.

يا صاح ، لهذا السبب هو ملف التكوين!من المفترض أن يسمح لك بتغيير الطريقة التي يعمل بها التطبيق على d-fly b!

إذا كنت قلقًا بشأن إعداداتك، والتي لا ينبغي تغييرها، فجرب مساحة تخزين أخرى أو فئة أو قاعدة بيانات أو سجل أو ملف ثابت وما إلى ذلك، أو احتفظ بنسخة طبق الأصل في مكان ما والتي يمكن استخدامها لتحل محل النسخة التالفة.

دمج ملفات dll - ILMerge

لا يستحق دمج ملف التكوين ذلك، لأنه من المفترض أن يكون وسيلة لتعديل سلوك التطبيق دون إعادة ترجمته.إذا لم تكن بحاجة إلى ذلك - فما عليك سوى ترميز كل شيء (إما الكود أو كموارد مضمنة).

إذا كنت لا تزال بحاجة إلى إمكانية التكوين، فيمكنك إخفاء الملف في ملف تعريف المستخدم.

انظر على سبيل المثال، http://www.codeproject.com/KB/cs/SystemConfiguration.aspx

إذا كنت لا تريد تغيير الإعدادات، فقم بنقلها إلى الكود بدلاً من config.

وأنا أتفق مع بعض المستخدمين.إنه يهزم غرض "التكوين" حقًا.ما عليك سوى ترميز كافة المعلومات الموجودة في فصل دراسي مشترك، ثم استدعاء "الإعدادات" ثم الرجوع إلى ما شابه

_serverIP = settings.MailServerIP

العناصر الوحيدة التي ينبغي أخذها في الاعتبار هي الملفات المساعدة (التي تتعلق بشيء ما، على سبيل المثال)، والصور، وملفات dll التابعة لجهات خارجية (رغم أنني لست متأكدًا من ذلك)... على سبيل المثال لا الحصر.

المشكلة في ملفات .net app.config هي أن تعديلها يمكن أن يغير طريقة عمل التطبيق.

لا يمثل تضمين الموارد مشكلة، إنه الملف المحدد الذي أشعر بالقلق بشأنه.

لقد استخدمت Thinstall كبرنامج تقليص المحاكاة الافتراضية للتطبيق من قبل:

https://thinstall.com/help/index.php?_netsupport.htm

هذا يفعل ما تريد، أي.يجمع كل تبعيات تطبيقك في ملف واحد قابل للتنفيذ، بما في ذلك ملف .configs.

من الأفضل أيضًا أن تقوم بالبحث عن أدوات تقليص البرامج الأخرى.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top