Frage an c#, razor, portable-class-library, asp.net, .net-4.5 – Portable Klassenbibliothek in MVC 4 / Razor mit Visual Studio 2012 RC?

40

Seit der Arbeit mit Visual Studio 2012 RC erhalten wir eine HttpCompileException, wenn wir eine Klasse aus einer portablen Klassenbibliothek (.net 4.5- und Metro-Profil) in einer Rasiereransicht verwenden.

Ausnahme: (deutsch nach englisch übersetzt auf google, sorry)

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)
...

Lösungsstruktur:

Portable Class Library (.net 4.5 und Metro-Profil)öffentlicher Benutzer {...}MVC 4 (.net 4.5)Verweis auf Portable Class [email protected] Benutzer

Seit Visual Studio 2012 RC ist das Hinzufügen des Verweises "System.Runtime" nicht mehr möglich.

Können Sie als Problemumgehung die portable Klassenbibliothek so ändern, dass sie zusätzlich zu .NET 4.5 und Metro-Stil auf Silverlight 5 abzielt? Daniel Plaisted

Deine Antwort

1   die antwort
60

Pfad ein<system.web> Sektion:

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

Abhängig davon, welche Typen Ihr portabler Code verwendet, müssen Sie möglicherweise auch auf eine Reihe anderer Assemblys verweisen. Sie können jede einzelne hinzufügen, wenn der Fehler auftritt, oder die vollständige Liste der Assemblys in hinzufügenC:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5\Facades.

@ LukePuplett ein bisschen spät, aber hier ist eine gute Erklärunglyalin.com/2014/04/25/… Wet Noodles
Je nachdem, was Sie in Ihrem Projekt tun, müssen Sie möglicherweise auch dieselbe Zeile zum Stammverzeichnis hinzufügenWeb.Config joshcomley
Dies löste ein ähnliches Problem für mich mit System.Collections.Immutable aboy021
Warum funktioniert das? Luke Puplett
@ WetNoodles Danke. Komisch, wenn du dem Link im Blog folgst, ist das SO meine Frage. Luke Puplett

Verwandte Fragen