2016-01-22 7 views
15

में दूसरे के संकलित संस्करण को तोड़ता है। मेरे पास 30 परियोजनाओं के साथ एक बड़ा समाधान है जिसमें से 2 वेब प्रोजेक्ट्स (एमवीसी और वेबएपीआई) पृष्ठभूमि वर्ग पुस्तकालय परियोजनाओं के समूह के साथ हैं।एक वेब प्रोजेक्ट का निर्माण समाधान

मेरे पास आईआईएस में वेब प्रोजेक्ट होस्ट करने के लिए दृश्य स्टूडियो सेट अप है।

यदि मैं एक साफ निर्माण करता हूं, तो पूरे समाधान के पूर्ण निर्माण के बाद, ब्राउज़र के माध्यम से दोनों परियोजनाओं तक पहुंच ठीक काम करती है। (वे diff फ़ोल्डर्स में हैं और iis में diff 'domains' पर होस्ट किए गए हैं)

यदि मैं कोई कोड परिवर्तन नहीं करता हूं, तो बस 2 वेब प्रोजेक्ट्स में से एक का पुनर्निर्माण करें, दूसरा काम करना बंद कर देता है।

स्पष्ट होने के लिए, वेबएपीआई परियोजना के पुनर्निर्माण के कारण एमवीसी परियोजना में त्रुटियां हैं। और इसके विपरीत।

मुझे जो त्रुटि मिल रही है वह कह रही है कि System.Web.Http.Formatter नहीं मिला है। विस्तार से पता चलता है कि स्थित असेंबली संस्करण संदर्भ संस्करण से अलग है। बिन फ़ोल्डर की जांच से पता चलता है कि यह मामला नहीं है।

+0

क्या आप हमें विस्तार से सही त्रुटि दे सकते हैं। इसके अलावा यदि वीएस का कहना है कि उन संदर्भों में अलग-अलग संस्करण हैं, तो आप यह सुनिश्चित कर सकते हैं कि यह है। क्या आप आईआईएस में एक ही साइट पर उन वेब एपीआई और एमवीसी ऐप को होस्ट कर रहे हैं? – efaruk

+1

मुझे एमवीसी 3.0.0.0 और 3.0.0.1 संस्करण विवादों के बारे में समान समस्याएं थीं, शायद यह संबंधित है? –

+0

साथ शुरू करने के लिए, आप एमवीसी का किस संस्करण का उपयोग कर रहे हैं? आपकी परियोजनाएं किस अन्य पैकेज पर निर्भर करती हैं? – Eniola

उत्तर

8

सुनिश्चित करें कि सभी समाधान के संसाधन अद्यतित हैं। यदि आप Nuget का उपयोग करते हैं, तो सभी परियोजनाओं में सभी संकुल अपडेट करें (पहले बैक अप!)। ऐसा लगता है कि आपके पास एक संस्करण मेल नहीं है, जहां समाधान के लिए आउटपुट निर्देशिका में कॉपी डीएलएल में कार्यक्षमता गुम है। इसमें प्रत्येक प्रोजेक्ट के Web.config में कुछ प्रविष्टियां बदलना शामिल हो सकता है, लेकिन कोड तक पहुंच के बिना, यह सुनिश्चित करना मुश्किल है।

प्रत्येक लाइब्रेरी को अपडेट करने के बाद वापस रिपोर्ट करें, और सुनिश्चित करें कि संस्करण समाधान में सभी परियोजनाओं से मेल खाते हैं।

+1

प्रतिक्रिया के लिए धन्यवाद, मैं इस समय पीसी से दूर हूं, कल सुबह ऐसा करूँगा और प्रतिक्रिया दूंगा। – user230910

+1

एक और बात, सुनिश्चित करें कि आप अपना निर्माण आदेश जांचें। यदि आपकी एमवीसी और वेबएपीआई परियोजनाओं को एक दूसरे के संदर्भ में संदर्भित किया गया है, तो आपको निर्माण आदेश में पहले निर्भर परियोजना का निर्माण करना होगा। इसे स्वचालित रूप से सेट किया जाना चाहिए, लेकिन इस तरह के बड़े समाधान में, चीज़ें बहुत खराब हो सकती हैं। प्रदर्शन बढ़ाने के लिए अपने समाधान को छोटे हिस्सों में तोड़ने पर विचार करें। आपका आउटपुट फ़ोल्डर बहुत छेड़छाड़ होना चाहिए। – Apache

+0

इसके अतिरिक्त, यदि आप NuGet का उपयोग कर रहे हैं, तो सुनिश्चित करें कि आपके द्वारा उपयोग किए जा रहे संकुल के स्थापित संस्करण दोनों परियोजनाओं के लिए समान हैं। – Steve

4

अपाचे और स्टीव के सुझावों के अतिरिक्त, मैं deleting the files in your Temporary ASP.NET Files directory की भी सिफारिश करता हूं। यदि आप उस फ़ोल्डर की सामग्री के लिए here's a good write-up उत्सुक हैं।

+1

धन्यवाद, यह उन चीजों में से एक था जो मैंने मदद मांगने से पहले खुद को कोशिश की थी, इसकी भावी googlers के लिए एक अच्छा सुझाव – user230910

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