Ich habe gerade eines meiner Projekte durchgespielt und einige der neuen c # 6-Funktionen wie den Null-Propagierungsoperator handler?.Invoke(null, e)
verwendet, der in Visual Studio erstellt wird. Wenn ich jedoch mein Skript zum Veröffentlichen der NuGet-Pakete ausführe, erhalte ich Kompilierungsfehler, die sagen:
Es scheint, dass NuGet eine ältere Version des Compilers verwendet, aber ich habe mich gefragt, ob irgendjemand eine Umgehung oder Konfiguration kennt, die eingestellt werden könnte, um das Problem zu lösen.
Sieht aus, als hätten Sie diesen Fehler auch im Nuget gefunden, der immer noch nicht behoben ist: Ссылка
Sie können die folgende Problemumgehung verwenden:
Ändern Sie das Skript, um Ihr Projekt mit der korrekten Version von MSBuild zu erstellen - rufen Sie einfach MSBuild.exe
selbst auf, geben Sie den Pfad zur Datei csproj oder sln an und erstellen Sie Ihr Projekt selbst in einer korrekten Konfiguration.
Erstellen Sie eine nuspec-Datei, die Ihr Paket beschreibt ( Ссылка ). Sie können die Nuget-Paket-Explorer-App verwenden. Verwenden Sie die in Schritt 1 erstellten DLLs.
Verwenden Sie nuget pack mypackage.nuspec
, um das Paket zu erstellen.