2017-04-25 2 views
6

Ich versuche einen guten Weg zu finden, meine Roslyn Analyzer Projekte in NuGet zu packen. Es erfordert eine spezielle NuGet-Paketstruktur mit .dll in \analyzer\, nicht \lib\.Appveyor niget analyzer

Damit dies funktioniert, muss ich nuget pack <name>.nuspec anrufen, nicht nuget pack <name>.csproj. Aber wenn ich nuspec verwende, wird $ version $ tag ignoriert.

Scheint, dass meine einzige Option ist, die Version in .nuspec bei jeder Neuerstellung manuell zu aktualisieren. Was ist richtig und richtig Weg, dies zu erreichen?

+1

Ist gleich und beide .nuspec und CSPROJ im selben Ordner sind? – ilyaf

+0

ist gleich, Dateien im selben Ordner vor der Kompilierung. (Es ist das gleiche Projekt, das Sie mir vorher geholfen haben). – Leotsarev

+0

@ilyaf Ich hoffe heimlich auf Hilfe von dir :-) – Leotsarev

Antwort

0

richtige Weg ist:

  1. Anruf NuGet packen .nuspec von CSPROJ
  2. Pass Version von Assembly als Parameter extrahiert.
  3. Machen Sie Appveyor Update-Version auf Wiederaufbau
  4. Konfigurieren Sie Appveyor zu erfassen. Nupkg `s zu Artefakten und schieben Sie es.

Siehe https://github.com/leotsarev/hardcode-analyzer als Beispiel