में टी 4 एमवीसी जेनरेट कोड के साथ संकलन त्रुटि हम एएसपी.Net 4 & एमवीसी 3 फ्रेमवर्क के साथ एक वेब अनुप्रयोग विकसित कर रहे हैं। मैंने NuGet के माध्यम से T4MVC स्थापित किया है और सभी दृश्य, नियंत्रक और स्थैतिक सामग्री सफलतापूर्वक मजबूत प्रकार के रूप में उत्पन्न की जाती हैं।एक एमवीसी 3 प्रोजेक्ट
लेकिन, जब मैं इस परियोजना को संकलित करने का प्रयास करें, तो इसे जनरेट फ़ाइल T4MVC.cs में एक त्रुटि है, जो जन्म देती है:
[GeneratedCode("T4MVC", "2.0"), DebuggerNonUserCode]
public class T4MVC_ViewResultBase : System.Web.Mvc.ViewResultBase,
IT4MVCActionResult
{
public T4MVC_ViewResultBase(string area, string controller, string action):
base() {
this.InitMVCT4Result(area, controller, action);
}
protected override void FindView(System.Web.Mvc.ControllerContext context){}
public string Controller { get; set; }
public string Action { get; set; }
public RouteValueDictionary RouteValueDictionary { get; set; }
}
:
'T4MVC_ViewResultBase.FindView(System.Web.Mvc.ControllerContext)':
return type must be 'System.Web.Mvc.ViewEngineResult' to match overridden member
'System.Web.Mvc.ViewResultBase.FindView(System.Web.Mvc.ControllerContext)'
इस स्रोत उत्पन्न कोड है त्रुटि का कहना है कि:
protected override void FindView(System.Web.Mvc.ControllerContext context) { }
होना चाहिए:
protected override ViewEngineResult
FindView(System.Web.Mvc.ControllerContext context) { }
लेकिन फिर यह एक और संकलन त्रुटि उठाता है, क्योंकि इस विधि को कोड वापस करना चाहिए।
हम आधार वर्ग यह विरासत में , से System.Web.Mvc.ViewResultBase चेक करते हैं, यह वास्तव में FindView() वाणी ViewEngineResult वापसी प्रकार के साथ:
public abstract class ViewResultBase : ActionResult
{
...
protected abstract ViewEngineResult FindView(ControllerContext context);
}
किसी को भी इस मिल गया है त्रुटि? क्या यह एमवीसी संस्करण के साथ कुछ करने के लिए है, क्या हम एमवीसी 3 का उपयोग कर रहे हैं?
बहुत बहुत धन्यवाद! सेर्गी
हम्म। यह मुश्किल है। नहीं, संस्करण के साथ कुछ भी नहीं, t4mvc मेरे mvc3 ऐप के लिए ठीक काम करता है। आशा है कि डेविड एबो इस जवाब देंगे =) – gideon