Sie müssen eine Referenz zu System.Runtime hinzufügen ... wenn sie auf Azure-Websites bereitgestellt werden

9

Die Site kann lokal gut ausgeführt werden, wird jedoch von der Windows Azure-Website-Hostingumgebung ausgeschlossen.

  

CS0012: Der Typ 'System.Object' ist in einer Assembly definiert, auf die nicht verwiesen wird. Sie müssen der Assembly 'System.Runtime, Version = 4.0.0.0, Culture = neutral, PublicKeyToken = b03f5f7f11d50a3a'

einen Verweis hinzufügen

Das ist also eine berüchtigte Nachricht und hat eine bekannte Lösung;

%Vor%

Ich verstehe, dass die ASP.NET-Seiten / Ansichten zu einem anderen Zeitpunkt als die Controller und andere Logik kompiliert werden (das vNext wird sich schließlich damit befassen), und dass das Obige eine Referenz für die Seitenkompilierungsseite hinzufügt von Dingen.

Aber meine Frage ist: Warum funktioniert das auf meinem Entwicklungscomputer, aber benötigt diese zusätzliche Konfiguration in der WAWS-Umgebung, von der Sie denken, dass sie perfekt eingerichtet wurde?

Ich würde gerne wissen, was anders ist, was in der Zielumgebung fehlt, so dass der Verweis auf eine portable -Bibliothek (portabel, was bedeutet, dass sie in einer Vielzahl von Umgebungen "einfach funktioniert") tatsächlich etwas kaputt macht.

Außerdem, warum, wenn ich eine PCL referenziere, wird System.Object plötzlich nicht in Mscorlib gefunden. Es war einmal, dass ich das alles verstand und dann wurde alles verwirrend.

    
Luke Puplett 05.12.2014, 19:18
quelle

1 Antwort

0

PCL verweist auf system.runtime.dll, nicht auf mscorlib.dll, und wenn asp.net Ihre Ansichtsseite kompiliert, wird der Verweis auf system.runtime.dll nicht hinzugefügt. In Ihrem Fall löst der C # -Compiler den Fehler aus. Aber nicht sicher, warum das Problem nur in der WAWS-Umgebung auftritt.

    
mattfei 03.09.2015 23:55
quelle