Die mvc3-Ansicht kann keinen Namespace laden (Wie verweisen Ansichten auf DLLs)?

  • Ich habe die DLL-Referenzen auf meiner mvc3-Site aktualisiert. Sie sind die gleichen DLLs, aber verschiedene Versionen. Ich tat dies, indem ich sie zuerst löschte und dann die aktualisierten hinzufügte. Alles kompiliert richtig. Zur Laufzeit bekomme ich jedoch Laufzeitfehler von cshtml-Dateien, die nicht auf einige Namespaces verweisen können. Wenn ich diese cshtml-Dateien öffne, zeigt das vs2010 einen Fehler undefinierter Namespaces. ABER die gleichen Namespaces funktionieren gut in Codebehind-CS-Dateien. In der jeweiligen Ansicht web.config Datei. Ich habe es versucht:

       <namespaces>
            ...
            <add namespace="myassembly" />
          </namespaces>
    
    or 
          <controls>
            <add assembly="myassembly, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" namespace="myassembly" tagPrefix="myassembly" />
          </controls>
     

    Ich kann das Problem aus meiner Sicht immer noch nicht beheben. Wenn ich auf die alte dlls-Version zurückgreife, funktioniert ALLES einwandfrei und ich brauche keine Änderung in der Ansicht web.config. Es scheint, als wäre es ein Fall, in dem die Ansicht immer noch versucht, auf die alte DLL-Version zu verweisen. Sie kann sie also nicht finden, wenn ich auf neue Versionen aktualisiere.

    Wie verweisen Ansichten auf DLLs?

    Vielen Dank

    22 November 2011
    River
1 answer
  • Sie müssen die Datei web.config verwenden, die sich im Ordner Views befindet, und nicht im Stammverzeichnis des Projekts.

    28 November 2011
    Mihalis Bagos