التخريب، المراجع الخارجية، الثنائيات، وMSBuild / البصرية ستوديو

StackOverflow https://stackoverflow.com/questions/223184

سؤال

ولدي مشروع التي تم تخزينها في مستودع التخريب.

في هذا المستودع، في مجلد مختلف، ولدي مجموعة من المكتبات التي تستخدم في العديد من المشاريع بلدي. يتم تخزين هذه المكتبات كملفات الثنائية، أي. عام، وفوسفات، وفي أكس دلل.

إليك تخطيط سبيل المثال:

<repo-url>
    \Libraries
        \SQLite
        \SystemHooks
        \Moq

في المشروع تطبيق، وإضافة "ليبس" الدليل، ثم إضافة إس: الظواهر مرجع العقار إلى هذا الدليل لسحب في المكتبات أحتاج

وعلى سبيل المثال، لهذا المشروع وأنا أعمل عليه الآن، مما دفع هذا السؤال، أنا في حاجة إلى مكتبة SystemHooks، وذلك في بلدي بنية مجلد المشروع التطبيق، يبدو الآن مثل هذا:

SketchingMode         <-- solution folder, other projects here as well
    SketchingMode     <-- app project folder
        libs
            SystemHooks

والشيء الجميل في هذا هو أنني يمكن بسهولة تحديث المكتبات، ومجرد استخدام محدد -rXYZ لتعريف الجهات الخارجية لتجنب سحب في إصدارات أحدث من أنا مستعد لقبول، والتي لا تزال نسخة واحدة فقط من كل ملف / الإصدار في بلدي المخزون.

والشيء السيء، في هذه الحالة بالذات، هو أن واحدة من ال DLL في الدليل SystemHooks (2 إذا أريد فوسفات كذلك) يحتاج ليتم نسخها إلى دليل الإخراج، وليس المشار إليه من قبل المشروع.

تعمل

والمراجع كالمعتاد، ولكن بمجرد أن علامة واحدة من الملفات في هذا الدليل بأنه "المحتوى" و "نسخ دائما" أو "نسخ إذا أحدث"، ثم يتم نسخ يبس وSystemHooks بنية الدليل أيضا إلى دليل الإخراج.

وعلى هذا النحو، بعد بناء، يا بنية الدليل على القرص يبدو مثل هذا:

SketchingMode         <-- solution folder, other projects here as well
    SketchingMode     <-- app project folder
        libs
            SystemHooks
        bin
            Debug               <-- main build output here
                libs
                    SystemHooks <-- 1-2 files in here

وهذه هي الطريقة الوحيدة لتجنب هذا استخدام بعد بناء خطوات وأضيف البيانات اللازمة نسخة؟ أم يمكنني بطريقة أو بأخرى قرص ملف المشروع لتجنب نسخ هيكل كامل من هذا القبيل؟

ومجرد أن يكون واضحا، في الدليل بن \ تصحيح، أنا لا أريد طبقة أخرى من يبس \ SystemHooks هناك، وجميع الملفات حاليا يتم نسخها إلى سلة \ تصحيح المجلد \ يبس \ SystemHooks يجب أن يكون نسخها إلى مجلد سلة \ التصحيح بدلا من ذلك.

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

المحلول

وماذا عن التحقق من الدليل يبس إلى مستوى <م> الحل بدلا من المشروع؟ وهذا هو ما نقوم به منذ المجالس مكتبة تميل إلى استخدامه في مشاريع متعددة؛ أن وضع مباشرة داخل دليل المشروع واحد لا تجعل لأحد الموارد تقاسمها للغاية.

SketchingMode solution
  SketchingMode proj
    bin
      Debug
      Release
  Libs
    SystemHooks
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top