2012-03-19 13 views
21

excluding a file from the referenced output of an assembly की बजाय, मैं एक जोड़ना चाहता हूं!संदर्भित प्रोजेक्ट की .config फ़ाइल

मेरे पास एक कंसोल एप्लिकेशन प्रोजेक्ट (BuildTest1) है जो एक द्वितीय श्रेणी लाइब्रेरी प्रोजेक्ट (क्लास लाइब्रेरी 1) का संदर्भ देता है। दृश्य स्टूडियो समाधान इस तरह दिखता है:

Solution layout

मैं एक app.config है कि एक वर्ग पुस्तकालय परियोजना है। मैं चाहता हूं कि यह .config फ़ाइल रेफरिंग प्रोजेक्ट के आउटपुट पर कॉपी की गई हो, जैसे कि .dll और .pdb फ़ाइलें हैं। क्लास लाइब्रेरी के लिए कॉन्फ़िगरेशन फ़ाइल को क्लास लाइब्रेरी आउटपुट निर्देशिका में 'क्लास लाइब्रेरी 1.dll.config' के रूप में कॉपी किया गया है

मैंने इसे .exe प्रोजेक्ट की .csproj फ़ाइल में जोड़ने का प्रयास किया है लेकिन ऐसा लगता है कि ऐसा कोई नहीं लगता है अंतर:

<PropertyGroup> 
    <AllowedReferenceRelatedFileExtensions> 
     .pdb; 
     .xml; 
     .config 
    </AllowedReferenceRelatedFileExtensions> 
    </PropertyGroup> 

उत्तर

36

मैं बहुत करीब था ... मैं इस MSBuild ResolveAssemblyReference कार्य है कि Microsoft.Common.targets में ResolveAssemblyReferences लक्ष्य से कहा जाता है करने के लिए नीचे ट्रैक किए गए। यही रेफरेंसकोपी लोकलपैथ आइटम को पॉप्युलेट करता है।

तो फ़ाइलों यह मिलान किया गया था के पैटर्न को देखकर मुझे पता चला कि फाइल एक्सटेंशन .dll.config (बल्कि सिर्फ .config से) चाल किया:

<PropertyGroup> 
    <AllowedReferenceRelatedFileExtensions> 
     .pdb; 
     .xml; 
     .dll.config 
    </AllowedReferenceRelatedFileExtensions> 
</PropertyGroup> 
+3

फॉलोअप के लिए धन्यवाद। बहुत बुरा आप लाइब्रेरी प्रोजेक्ट से इसे दूसरी तरफ कॉन्फ़िगर नहीं कर सकते हैं क्योंकि यह वह है जो दूसरों को इसकी कॉन्फ़िगरेशन फ़ाइल की आवश्यकता होगी। "आप मेरी विन्यास फाइल चाहते हैं, मेरा विश्वास करो" –

+1

मेरे लिए काम किया ... धन्यवाद। !! – Krunal

+1

ओह, यह बहुत बढ़िया है। धन्यवाद! –

संबंधित मुद्दे