40 votes

Bibliothèque de classes portable dans MVC 4 / Razor avec Visual Studio 2012 RC?

depuis de travail avec Visual Studio 2012 RC, nous obtenons un HttpCompileException lors de l'utilisation d'une classe, d'une bibliothèque de classes portable (.net 4.5 et métro profil) au sein d'un rasoir de vue.

Exception: (l'allemand à l'anglais traduit sur google, désolé)

System.Web.HttpCompileException (0x80004005):     
c:\Users\user\AppData\Local\Temp\Temporary ASP.NET        
Files\root\1995167a\126b7c4d\App_Web_index.cshtml.1fbcdbb1.zaniprm5.0.cs(29):

error CS0012: The type 'System.Object' is not in a referenced assembly is 
defined. Add a reference to the Assembly "System.Runtime, Version = 4.0.0.0, 
Culture = neutral, PublicKeyToken = b03f5f7f11d50a3a" added.   

at
System.Web.Compilation.AssemblyBuilder.Compile()   
System.Web.Compilation.BuildProvidersCompiler.PerformBuild()    
System.Web.Compilation.BuildManager.CompileWebFile(VirtualPath virtualPath)
...

Structure de la Solution:

  • Portable De La Bibliothèque De Classes.net 4.5 et métro profil)
    • public class Utilisateur { ... }
  • MVC 4 (.net 4.5)
    • Référence à la Bibliothèque de classes Portable
    • Rasoir-Vue
      • @modèle de l'Utilisateur

Depuis Visual Studio 2012 RC ajoutant une référence "du Système.Runtime" n'est plus possible.

60voto

Daniel Plaisted Points 11183

Dans le fichier Views \ Web.config, ajoutez le code suivant dans la section <system.web> :

 <compilation debug="true" targetFramework="4.5">
    <assemblies>
        <add assembly="System.Runtime, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
    </assemblies>
</compilation>
 

Vous devrez peut-être également faire référence à un ensemble d'autres assemblages, en fonction du type utilisé par votre code portable. Vous pouvez soit ajouter chacun d'eux lorsque vous rencontrez une erreur, soit ajouter la liste complète des assemblys dans C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5\Facades .

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X