2012-06-17 19 views
10

पर सफलतापूर्वक एएसपी.नेट एमवीसी 4 आरसी होस्ट करने के लिए कैसे करें मैं मोनो 2.10.8.1 के शीर्ष पर एएसपी.नेट एमवीसी 4 आरसी प्रोजेक्ट होस्ट करने की कोशिश कर रहा हूं।मोनो 2.10.8

Missing method System.Web.Security.FormsAuthentication::get_IsEnabled() in assembly /usr/lib/mono/gac/System.Web/4.0.0.0__b03f5f7f11d50a3a/System.Web.dll, referenced in assembly /tmp/root-temp-aspnet-0/eaee30a1/assembly/shadow/5cf10065/40974e7d_1c664e18_00000001/System.Web.Http.WebHost.dll 

http://www.mono-project.com/Compatibility इस के अनुसार मोनो 2.10.8 में लागू किया जाना चाहिए: जब मैं पहली बार इस एप्लिकेशन का उपयोग मैं निम्नलिखित अपवाद हो रही है। माइक्रोसॉफ्ट ने संपत्ति को .NET Framework 4.0: http://msdn.microsoft.com/en-us/library/system.web.security.formsauthentication.isenabled.aspx

क्या किसी प्रकार का काम-आसपास है, या इस समय मोनो पर एमवीसी 4 होस्ट करना संभव नहीं है?

मुझे ध्यान रखना चाहिए कि Xache4 और mod_mono का उपयोग करते समय मुझे यह समस्या दोनों मिल रही है।

Mono JIT compiler version 2.10.8.1 (Debian 2.10.8.1-1~dhx1~lucid1) 
Copyright (C) 2002-2011 Novell, Inc, Xamarin, Inc and Contributors. www.mono-project.com 
     TLS:   __thread 
     SIGSEGV:  altstack 
     Notifications: epoll 
     Architecture: x86 
     Disabled:  none 
     Misc:   softdebug 
     LLVM:   supported, not enabled. 
     GC:   Included Boehm (with typed GC and Parallel Mark) 

उत्तर

9

टीएल/डॉ: मोनो के तहत चल रहा है MVC4 अभी भी अनुशंसित नहीं है, को चलाने के बजाय MVC3

मोनो संस्करण निम्न है।

लंबी कहानी: उस समय मोनो 2.10.x जारी किया गया था, माइक्रोसॉफ्ट ने एएसपी.NET स्टैक को ओपन सोर्स के रूप में पूरी तरह से रिलीज़ नहीं किया था (रेजर उन घटकों में से एक था जो अभी भी बंद स्रोत थे)।

हाल ही में माइक्रोसॉफ्ट ने अंततः पूर्ण ढेर खोल दिया है, और मोनो ने इसे अपने पेड़ में शामिल किया है, हालांकि यह केवल मास्टर शाखा में हुआ है (और मोनो 2.11.एक्स के केवल पूर्वावलोकन संस्करणों में शामिल हैं)। इसके अलावा, एसिंक एपीआई अभी तक मोनो में लागू नहीं किए गए हैं (और एमवीसी 4 उन पर निर्भर करता है) तो फिर आपके लिए सबसे अच्छा शर्त मोनो 3.0.1 संस्करण के साथ एमवीसी 3 का उपयोग कर रहा है।

यहां तक ​​कि अब कहानी: http://tirania.org/blog/archive/2012/Mar-28.html

+1

उत्तर के लिए धन्यवाद। मुझे इस पृष्ठ पर अपवाद का कारण मिला: http://go-mono.com/status/status.aspx?reference=4.0&profile=4.0&assembly=System.Web उन्होंने इसे अभी लागू नहीं किया है। –

+0

@knocte: मुझे कुछ विवरण याद आ रहे हैं, लेकिन मुझे विश्वास नहीं है कि आपको asp.net mvc 4 के लिए .NET 4.5 की आवश्यकता है, क्योंकि यह एसिंक एपीआई पर निर्भर नहीं है - यहां और पढ़ें: http://stackoverflow.com/ प्रश्न/9548283/कैन-आई-तैनाती-my-asp-net-mvc-4-application-in-net-4/10463662 # 10463662 – corolla

+0

ठीक है, शायद आप एमवीसी 4 का सबसेट लक्षित कर सकते हैं, लेकिन पूरे एमवीसी 4 नहीं? – knocte

1

आप नए XSP सूत्रों

git clone git://github.com/mono/xsp.git 
cd xsp 
./autogen.sh --prefix=/opt 
make 
sudo make install 

इस संस्करण को चलाने के लिए, sudo... पर्याप्त अनुमति की जरूरत है के रूप में संकलित करने के लिए की जरूरत है, अन्यथा आप System.IO.FileNotFoundException संदेश मिल जाएगा।

फिर CS0234: The type or namespace name Helpers does not exist in the namespace System.Web. अपवाद को समाप्त करने के अपने web.config फ़ाइल

<system.web> 
    <compilation debug="true" targetFramework="4.0"> 
     <assemblies> 
     <add assembly="System.Web.Helpers, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />   
     <add assembly="System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />   
     </assemblies> 
    </compilation> 

में ये पंक्तियां जोड़ें।

फिर अपने बिन फ़ोल्डर से इन विधानसभाओं निकाल सकते हैं (अगर उन Windows मशीन प्रपत्र कॉपी कर रहे हैं)

Microsoft.Web.Infrastructure.dll 
System.Net.Http.dll 
System.Net.Http.Formatting.dll 
System.Web.Http.dll 
System.Web.Http.WebHost.dll 

यह Missing method System.Web.Security.FormsAuthentication::get_IsEnabled() अपवाद और कई अन्य could not load type xyz अपवादों को हटा देगा।

3

अब यह संभव है, और वर्तमान मोनो रिलीज और NuGet का उपयोग करके लगभग सीधा है। तथ्य यह है कि एमएस ने NuGet पर एमवीसी 4 सामान डाला है। मैंने नेट 4 & के लिए काम करने वाले टेम्पलेट्स रखे हैं। गीथब https://github.com/chrisfcarroll/AspNetTemplatesForMono पर नेट 4.5। कुछ मिलचास हैं, लेकिन उन्हें नोट्स में संबोधित किया जाता है।

0

कृपया मोनो पर सफलतापूर्वक एमवीसी 4 एप्लिकेशन होस्ट करने के लिए नीचे दिए गए लिंक का पालन करें।

http://www.bgsoftfactory.net/run-asp-net-mvc-4-with-mysql-on-linux/

यह लिनक्स सर्वर पर कदम विन्यास द्वारा कदम प्रदान करता है।

0

निकालें संदर्भ System.Web.Http और System.Web.Http.Host को अगर आप उन्हें (WebAPI पुस्तकालय) की जरूरत नहीं है। आप App_Start फ़ोल्डर और Global.asax में संदर्भ में WebApiConfig.cs दूर करने के लिए आवश्यकता हो सकती है। लेकिन उसके बाद आपकी परियोजना किसी अन्य मुद्दे के बिना काम करेगी।