Frage Wie verwende ich eine Standardklassenbibliothek in MVC6?


Gibt es eine vernünftige Möglichkeit, eine Standardklassenbibliothek in MVC6 einzubinden? Ich dachte, der Standard-Referenzdialog könnte einen Wrapper erstellen, aber ich habe kein Glück. Die Veröffentlichung als nugget-Paket scheint für laufendes Entwicklungs-Debugging ziemlich unbequem zu sein.

Wenn es keinen Wrapper gibt, gibt es eine eingebaute Möglichkeit, die Standardklassenbibliothek in den neuen Typ zu konvertieren?


5
2017-08-09 03:50


Ursprung


Antworten:


Ich habe bis jetzt ein paar verschiedene Ansätze gesehen (mit dem dnu Dienstprogramm oder Hinzufügen von Referenzen mit VS). Je nachdem, ob Sie eine vorhandene Assembly referenzieren oder ein Non-asp-5-Projekt in Ihrer Lösung referenzieren möchten, ist dies auch ein wenig anders.

Wenn Sie eine Referenz zu einer vorhandenen Assembly hinzufügen möchten, die nicht zu Ihrer Lösung gehört:

  • Benutze die dnu wrap Befehl zum Hinzufügen der Referenz. Sie können eine Eingabeaufforderung für Entwickler öffnen und zu Ihrem Lösungsordner navigieren oder sogar einfach die Paketmanagerkonsole in Visual Studio öffnen.

    Nun, wenn Sie eine Referenz hinzufügen möchten fullPathToYourDll\Foo.dll Sie führen den folgenden Befehl aus (wobei das Framework-Argument beim Umbrechen einer Assembly benötigt wird und als definiert ist) Zielgerüst der zu verpackenden Baugruppe):

    dnu wrap "C:\fullPathToYourDll\Foo.dll" -f 4.5.1
    

    Dies erzeugt / aktualisiert die wickeln Ordner in Ihrem asp 5 Lösung Ordner, einschließlich einer Datei mySolution\wrap\Foo\project.json das sieht aus wie:

    {
      "version": "1.0.0-*",
      "frameworks": {
        "net451": {
          "bin": {
            "assembly": "../../../FooSln/Foo/bin/Debug/Foo.dll",
            "pdb": "../../../FooSln/Foo/bin/Debug/Foo.pdb"
          }
        }
      }
    }
    

    Aktualisieren Sie abschließend die Datei project.json Ihres asp 5, um einen Verweis auf Ihre umschlossene Assembly einzufügen:

    "frameworks": {
      "dnx451": {
        "dependencies": {
          "Foo": "1.0.0-*",
        }
      }
    },
    
  • Alternativ verwenden Sie VS. Klicken Sie mit der rechten Maustaste auf Referenzen in Ihrem ASP 5-Projekt, wählen Sie Referenz hinzufügen... und dann auf klicken Durchsuche. Navigieren Sie nun zu dem Ordner, der die Assembly enthält, und wählen Sie die DLL-Datei aus.

    Visual Studio wird den Wrap - Ordner für Sie aktualisieren (Erstellen des mySolution\wrap\Foo\project.json) und fügt sogar die Abhängigkeit in Ihre project.json hinzu (Die in Ihrem asp 5-Projekt).

Wenn Sie in Ihrer Lösung einen Verweis auf ein Nicht-ASP 5-Projekt hinzufügen möchten:

  • Benutze die dnu wrap Befehl zum Hinzufügen der Referenz.

    Der Prozess ist dem vorherigen Szenario des Hinzufügens einer Referenz zu einer vorhandenen Assembly sehr ähnlich. Wenn Sie jetzt einen Verweis auf ein Nicht-ASP 5-Projekt in Ihrer Lösung hinzufügen möchten, führen Sie den folgenden Befehl aus:

    dnu wrap ".\myNonAsp5Project\MyNonAsp5Project.csproj"
    

    Wie beim Hinzufügen eines Verweises zu einer bestehenden Assembly wird dies das / erzeugen wickeln Ordner in Ihrem asp 5 Lösung Ordner, obwohl diesmal die Datei mySolution\wrap\MyNonAsp5Project\project.json ist etwas anders, da es ein Projekt und nicht eine Assembly umschließt:

    {
      "version": "1.0.0-*",
      "frameworks": {
        "net451": {
          "wrappedProject": "../../MyNonAsp5Project/MyNonAsp5Project.csproj",
          "bin": {
            "assembly": "../../MyNonAsp5Project/obj/{configuration}/MyNonAsp5Project.dll",
            "pdb": "../../MyNonAsp5Project/obj/{configuration}/MyNonAsp5Project.pdb"
          }
        }
      }
    }
    

    Auch hier müssen Sie die project.json-Datei Ihres asp 5 manuell aktualisieren, um einen Verweis auf Ihre umschlossene Assembly einzufügen:

    "frameworks": {
      "dnx451": {
        "dependencies": {
          "MyNonAsp5Project": "1.0.0-*",
        }
      }
    },
    
  • Alternativ verwenden Sie VS. Klicken Sie mit der rechten Maustaste auf Referenzen in Ihrem ASP 5-Projekt, wählen Sie Referenz hinzufügen.... Jetzt erweitern Projekte Wählen Sie auf der linken Seite das Projekt und klicken Sie auf OK.

    Visual Studio wird den Wrap-Ordner aktualisieren (Erstellen) mySolution\wrap\MyNonAsp5Project\project.json) und fügt sogar die Abhängigkeit in Ihre project.json hinzu (Die in Ihrem asp 5-Projekt).

PS. Ich habe in letzter Zeit auf Win10 aktualisiert und Sachen installiert / deinstalliert und irgendwie habe ich eine Umgebungsvariable bekommen Plattform = MCD. Dies wird von MSBuild als Standard-Plattform genommen und kann Ihnen einige Schmerzen bereiten. Insbesondere habe ich den Fehler erhalten Fehler beim Auflösen der Referenzen wenn ich die dnu wrap Befehl zum Wrappen einer csproj-Datei. (Wie im Inneren es verwendet msbuild, um die csproj-Verweise aufzulösen).


15
2017-08-09 11:22