2010-11-22 5 views
4

après la mise à niveau, toutes les pages voir modèles en tant qu'objet.mise à niveau de asp.net mvc 2.0 à 3.0 problèmes

Je l'ai mis à jour à l'aide guide de migration here

essentiellement la copie juste quelques scripts, et re-mapping référence d'assemblage mvc à 3,0

Pour une raison quelconque, tous mes contrôles sont maintenant ne voient pas les propriétés sur mes modèles.

voici comment je définir le type de modèle:

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

utilisation:

<%: Html.TextBox("DateFromText", Model.DateFrom.ToShortDateString())%> 

je me compile maintenant les erreurs "objet" ne contient pas la définition pour AnyProperty.

MISE À JOUR

grâce à Slax i résolu le problème de l'objet. A présent l'erreur suivante:

Le type 'System.Data.Objects.DataClasses.ComplexObject' est défini dans un assembly qui n'est pas référencé. Vous devez ajouter une référence à l'assembly 'System.Data.Entity, Version = 4.0.0.0, Culture = neutre, PublicKeyToken = b77a5c561934e089'.

ok .. fixe en ajoutant référence d'assemblage dans web.config:

<add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/> 

Répondre

1

Vous avez probablement des références à la version 2 System.Web.Mvc.dll dans l'un des deux Web.config des dossiers.

+0

vous avez raison .. trouvé 2ème web.config et mis à jour il –

+0

@Sonic: Vous êtes les bienvenus. Vous devriez accepter cette réponse. – SLaks

+0

je vais .. encore avoir un autre problème à comprendre –

2

Vous voulez entrer la commande suivante dans le fichier web.config:

<system.web> 
    <compilation debug="true" targetFramework="4.0"> 
     <assemblies> 
      <add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> 
      <add assembly="System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" /> 
     </assemblies> 
    </compilation> 
Questions connexes