Heim  >  Artikel  >  Backend-Entwicklung  >  Detaillierte Grafik- und Texterklärungen einiger Fallstricke, die in .NET Core auftreten

Detaillierte Grafik- und Texterklärungen einiger Fallstricke, die in .NET Core auftreten

黄舟
黄舟Original
2017-09-21 11:48:522871Durchsuche

Vor kurzem habe ich nach dem Upgrade von .NET Core auf 2.0 angefangen, immer mehr zu basteln, bin aber auf viele Fallstricke gestoßen, deshalb werde ich sie hier aufzeichnen.

Die erste Gefahr ist die bedingte Kompilierung

Wenn wir einige Methoden schreiben, fügen wir normalerweise einige Ausgabeprotokolle für den Debug-Modus hinzu, damit wir sie überprüfen können, und auch für Release The Der Modus fügt einige spezifische Parameter hinzu oder ändert sie, aber heute bin ich beim Schreiben auf diese Grube gestoßen. #if !DEBUG #endif Der Code in der Mitte kann nicht geändert werden. Er ist immer grau Ich fange an zu zweifeln. Unterstützt .NET Core in VS 2017 keine bedingte Kompilierung?

Also habe ich ein neues Konsolenprogramm erstellt und Folgendes getestet, aber festgestellt, dass es immer noch funktioniert:

Sie können hier sehen, dass ich offensichtlich kein Debug bin Umgebung, aber #if DEBUG ist immer noch eine normale Farbe! Nachdem ich F5 direkt ausgeführt hatte, stellte ich fest, dass das Ergebnis über meiner Überraschung lag VS aktualisiert, also habe ich ein Projekt mit dem alten Format des .net Frameworks erstellt und festgestellt, dass das alte wieder gut ist

Die zweite Gefahr sind einige Dateien darunter .NET Core MVC kann nicht heruntergeladen werden

 

Ich habe eine Website mit .NET Core MVC erstellt. Anfangs war sie ziemlich gut, aber dann wurde sie mit einer App ausgestattet, also habe ich Ich habe die APK-Datei direkt auf die Website heruntergeladen, den Namen in app.apk geändert und dann http://127.0.0.1/app.apk aufgerufen. Es wurde die Meldung „404 nicht gefunden“ zurückgegeben 🎜>

Da es immer noch viele iis gibt, dachte ich sofort, dass es durch das tägliche Hinzufügen von Mime verursacht wurde, also ging ich zur iis-Site, um es hinzuzufügen , und stellte fest, dass es existierte

Ich war einen Moment verwirrt, also durchsuchte ich den Anfragefilter, um zu sehen, ob es dort verboten war, stellte aber fest, dass es nutzlos war, Also habe ich die Datei in app.apk.zip geändert und es ausprobiert und festgestellt, dass die Zip-Datei heruntergeladen werden kann

Die dritte Falle ist die Try-Datei von .NET Core 2.0 MVC

Ab 2.0 scheint es, dass die Ansichtsdatei direkt in eine DLL-Datei gepackt wird. Nach der Veröffentlichung handelt es sich nicht mehr um eine SHTML-Datei wie bei einer herkömmlichen MVC, sondern sie wird in eine DLL-Datei kompiliert. Die Benennungsregel ist der Projektname.PrecompiledViews.dll

Der vierte Fallstrick .NET Core-Referenz-DLL-Problem

uns In der Vergangenheit wurden einige häufig verwendete Funktionen immer in einer separaten Klassenbibliothek zusammengefasst und Zur Projektverwendung in eine DLL kompiliert, aber dies scheint in .NET Core-Projekten nicht zu funktionieren.

Zuerst habe ich eine neue Klassenbibliothek für die öffentliche Klassenbibliothek zur Lösung hinzugefügt, um auf das Projekt zu verweisen Die öffentliche Klassenbibliothek war dabei nichts Ungewöhnliches, aber als ich eine andere vs. erstellte und das Projekt in hinzufügte, ist es normal, Code in VS zu schreiben, nachdem ich auf die DLL der öffentlichen Klassenbibliothek und den Code verwiesen habe Eingabeaufforderungen sind ebenfalls . Sobald ich jedoch F5 zum Debuggen drücke, erscheint eine Falle und meldet, dass der Typ oder Namespace nicht gefunden werden kann

Die Lösung besteht darin, die öffentliche Klassenbibliothek zu packen, um ein NuGet-Paket zu generieren

Dann fügen Sie Referenzen hinzu, indem Sie NuGet-Pakete verwalten. aber in vielen Fällen möchte ich einige Klassenbibliotheken nicht auf nuget.org stellen, ich kann die generierten Nuget-Pakete in die Microsoft Visual Studio Offline Packages

Platzieren Sie es im Verzeichnis, das den Microsoft Visual Studio Offline Packages entspricht

Das obige ist der detaillierte Inhalt vonDetaillierte Grafik- und Texterklärungen einiger Fallstricke, die in .NET Core auftreten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn