2012-10-10 40 views
8

के साथ .NET 4.5 वेब ऐप को तैनात करना मेरे पास एएसपी.नेट एमवीसी 3 एप्लिकेशन काम कर रहा है। परियोजना वीएस 2010 के साथ बनाया गया है और .NET 4.0 को लक्षित करता है। अब मैंने इसे .NET 4.5 पर पुनः लक्षित किया और सफलतापूर्वक पुनः संकलित किया। हमारे परीक्षण सर्वर (Windows 2008 R2 SP1) के लिए यह तैनात करने के लिए कोशिश कर रहा है अब विफल रहता है:वेब परिनियोजन

त्रुटि कोड: ERROR_APPPOOL_VERSION_MISMATCH अधिक जानकारी: अनुप्रयोग पूल है कि आप उपयोग करने के लिए कोशिश कर रहे हैं करने के लिए 'managedRuntimeVersion' गुण सेट है ' v4.0 '। इस एप्लिकेशन को 'v4.5' की आवश्यकता है। और जानें: http://go.microsoft.com/fwlink/?LinkId=221672#ERROR_APPPOOL_VERSION_MISMATCH

सर्वर में .NET 4.5 स्थापित है लेकिन कोई ऐप पूल 4.5 नहीं है (क्योंकि यह इनप्लेस अपग्रेड है और जैसा कि मुझे लगता है कि 4.0 पूल ठीक होना चाहिए)। क्लाइंट मशीन में वीएस 2012 है और इसलिए वेब परिनियोजन 3 (वेब ​​डिप्लॉय 2 पिछला था)। मैंने सर्वर पर वेब परिनियोजन 3 भी स्थापित किया है।

aspnet_regiis के साथ एएसपी.NET को फिर से पंजीकृत करने का प्रयास किया - कोई भाग्य नहीं।

मुझे त्रुटि क्यों मिलती है और मैं इसे कैसे ठीक कर सकता हूं? यह बहुत निराशाजनक है ...

पेज। similar question आर सी के बारे में मिले, लेकिन यह मदद नहीं करता है

अद्यतन:

ऐसा लगता है कि this is a bug माइक्रोसॉफ्ट सीटीपी के बाद से तय नहीं किया है। IgnoreDeployManagedRuntimeVersion संपत्ति ने चाल की थी। कितनी शर्म की बात है!

+0

अपने आप को उत्तर पोस्ट करने के लिए स्वतंत्र महसूस करें। –

उत्तर

5

विंडोज सर्वर 2012 डिफ़ॉल्ट रूप से .NET 4.5 और भी शामिल है (जब वेब सर्वर भूमिका जोड़ा) आईआईएस निम्नलिखित एप्लिकेशन पूल है: DefaultAppPool, नेट v4.5, नेट v4.5 क्लासिक का उपयोग .NET Framework 4.0 (क्योंकि 4.5 4.0 के इनप्लेस अपग्रेड है)। हालांकि, अगर हम Windows Server 2008 पर .NET 4.5 पुनर्वितरण योग्य स्थापित करते हैं जिसमें .NET 4.0 स्थापित है, तो पूल का नाम बदल नहीं है: एएसपी.नेट v4.0, एएसपी.नेट v4.0 क्लासिक। और यही कारण है कि वेब परिनियोजन विफल रहता है।

9

आप परियोजना के लिए इस संपत्ति जोड़ने की कोशिश कर सकते हैं:

<IgnoreDeployManagedRuntimeVersion>True</IgnoreDeployManagedRuntimeVersion> 
+3

... या इसे एमएसबिल्ड (सीआई, आदि के लिए) पास करें .../P: IgnoreDeployManagedRuntimeVersion = True –

2

@kzu: कोशिश कर नहीं, तो इस काम करेंगे।

ऑर्चर्ड सीएमएस इंस्टॉल करते समय भी वही समस्या थी। लक्ष्यीकरण v2.0 रखें। लेकिन सरल समाधान ढूंढें: आईआईएस में, एप्लिकेशन पूल (सभी एप्लिकेशन पूल के साथ सूची) पर, आप दूसरी सेटिंग शीर्ष दाएं सूची पा सकते हैं: "एप्लिकेशन पूल डिफ़ॉल्ट सेट करें .." डिफ़ॉल्ट से 2.0 से 4.0 तक बदलें , voila।

1

आईआईएस
ए के लिए एएसपी.NET पंजीकृत करें। व्यवस्थापक
बी के रूप में सीएमडी चलाएं। सीडी \ windows \ microsoft.net \ framework \ v4.x
सी। Aspnet regiis -i