2010-05-10 12 views
10

मैं तैनात करने के लिए ASP.NET MVC 2 परियोजना (VS2010) विन सर्वर 2008 R2प्रकार 'System.Web.Mvc.ViewUserControl <SOMETYPE>'

यह देव मशीन पर पूरी तरह से काम करता है कोशिश कर रहा हूँ लोड नहीं कर सका। लेकिन अजीब त्रुटि सर्वर 2008 R2 पर होता है: .ascx फ़ाइल हैडर सामान्य प्रकार का उपयोग करता है जब:

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<MyProj.Web.Models.RangeViewModel>" %> 

सर्वर रिपोर्ट प्रकार 'System.Web.Mvc.ViewUserControl < MyProj.Web.Models लोड नहीं कर सका। RangeViewModel > '।

लेकिन जब मैं की तरह

public class AA : System.Web.Mvc.ViewUserControl<MyProj.Web.Models.RangeViewModel> 
{ 
} 

.cs फ़ाइल प्रकार में कहीं घोषित करने और में <% @ नियंत्रण हैडर बजाय इसका इस्तेमाल। फिर यह काम करता है जैसा कि यह करना चाहिए।

मैं कुछ याद आ रही है?

अद्यतन

मैं दो कदम (सर्वर पर) में एप्लिकेशन को तैनात:

  1. (.NET 4 के लिए) कमांड लाइन MSBuild का उपयोग कर स्रोत से वी.एस. समाधान के पुनर्निर्माण
  2. लॉन्च कस्टम MSBuild कार्य (इसके लिए publih.msbuild फ़ाइल है) जो दो लक्ष्यों को निष्पादित करता है: लक्ष्य = "संकल्प संदर्भ; _CopyWebApplication"
+0

क्या मिला तुम्हें कैसे की तैनाती कर रहे हैं? –

+0

ने अपना प्रारंभिक पोस्ट – Evgenyt

+0

अपडेट किया है क्या आपने 'इनहेरिट्स = "सिस्टम की कोशिश की है। Web.Mvc.ViewUserControl'1 [[MyProj.Web.Models.RangeViewModel]]" '? –

उत्तर

0

सर्वर पर एएसपी.नेट एमवीसी स्थापना गड़बड़ हो सकती है। मैं एमवीसी अनइंस्टॉल करने और वेब प्लेटफार्म इंस्टॉलर के साथ पुनर्स्थापित करने का सुझाव देता हूं। जब भी मैंने डाउनलोड की गई सेटअप फाइलों का उपयोग किया, तो मुझे भी समस्याएं आईं, इसलिए मैंने सब कुछ हटा दिया और वेब प्लेटफार्म इंस्टॉलर के साथ चला गया।

एक और सुझाव नया ताजा सर्वर बॉक्स बनाना होगा - आभासी हो सकता है - और वहां आज़माएं।

इसके अलावा समाधान पुनर्निर्माण भी उस वेब.कॉन्फिग को ठीक करने और जांचने में मदद कर सकता है।

यह भी प्रयास करें कि MvcDiagnostics.aspx उपकरण किसी असामान्यता को दिखाता है या नहीं। this ब्लॉग पोस्ट

देखें कि कुछ भी मदद करता है या नहीं।

14

मुझे लगता है कि व्यू इंजन में इनहेरिट विशेषता में दृढ़ता से टाइप की गई बेस क्लास को संकलित करने में समस्याएं हैं।

<pages 
     validateRequest="false" 
     pageParserFilterType="System.Web.Mvc.ViewTypeParserFilter, System.Web.Mvc, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" 
     pageBaseType="System.Web.Mvc.ViewPage, System.Web.Mvc, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" 
     userControlBaseType="System.Web.Mvc.ViewUserControl, System.Web.Mvc, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"> 
     <controls> 
      <add assembly="System.Web.Mvc, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" namespace="System.Web.Mvc" tagPrefix="mvc" /> 
     </controls> 
     <!-- rest of your pages section --> 
</pages> 
+0

हाँ, वही, लेकिन एमवीसी 2 – Evgenyt

+0

ओह हाँ - एमवीसी 2 के लिए यह "संस्करण = 2.0.0.0" होना चाहिए। सैद्धांतिक रूप से - यदि एमवीसी प्रोजेक्ट ठीक से बनाया गया है और प्रकाशित किया गया है तो "पेज" अनुभाग का यह tweaking neccesary नहीं है। व्यावहारिक रूप से, जब विभिन्न संस्करणों और एमवीसी के निर्माण के बीच माइग्रेट करना प्रोजेक्ट – PanJanek

+1

की मरम्मत करने का सबसे आसान तरीका है, तो इसी तरह - यदि आप एक नया "क्षेत्र" तैनात करते हैं और क्षेत्र के 'web.config' को कॉपी करना भूल जाते हैं तो आपको यह त्रुटि दिखाई दे सकती है। बस मेरे साथ हुआ। – bendytree

5

क्यों नहीं खोजा जा सका लेकिन निम्नलिखित मदद की (web.config):

<pages 
     pageParserFilterType="System.Web.Mvc.ViewTypeParserFilter, System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" 
     pageBaseType="System.Web.Mvc.ViewPage, System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" 
     userControlBaseType="System.Web.Mvc.ViewUserControl, System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"> 

प्रारंभ में पाया मैं एक ही मुद्दा है और इस के लिए Web.Config की "पृष्ठों" खंड को अद्यतन करने में मदद की थी asp.net mvc 1

+0

आपकी प्रोजेक्ट या उसके निर्माण में कुछ गड़बड़ है क्योंकि एएसपी.नेट एमवीसी एप्लिकेशन के लिए वेब या कॉन्फ़िगरेशन में स्थानीय या सर्वर पर काम करने की आवश्यकता नहीं है। – mare

+0

@mare आप एक शोध में सही हैं, इसकी आवश्यकता नहीं होनी चाहिए, लेकिन एक उदाहरण में हम वर्णन किए गए पृष्ठों को टैग किए बिना ऐप निष्पादित नहीं कर पाए। असली समस्या जानने के लिए Would प्यार, mayby ​​machine.config कुछ कर रहा है? – Jafin

1

के समान इसी तरह की समस्या थी।

  1. ब्रैकेट्स और प्रकार के नाम के बीच आवश्यक स्थान हैं।
  2. अपने मॉडल प्रकार के लिए कास्ट मॉडल की आवश्यकता है।

यहाँ मैं

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl <MyNamespace.MyModel>" %> 
<%@ Import Namespace="MyNamespace" %> 
<% var model = (MyModel)Model; %> 

<h1><% model.MyField %></h1> 
संबंधित मुद्दे