2017-05-31 2 views
0

Ich habe ein Testprogramme Projekt (nennen wir es Utilities.Test), die eine nuget Paket als Entwicklungsabhängigkeit in seiner project.json Datei angibt:Wie verhindert man die Verbreitung von Entwicklungsabhängigkeiten mit den float-Versionen von project.json?

{ 
    "dependencies": { 
    "devdep": { 
     "version": "*", 
     "type": "build" 
    } 
    }, 
    "frameworks": { 
    "net45": {} 
    }, 
    "supports": {}, 
    "runtimes": { 
    "win": {} 
    } 
} 

I-Paket Utilities.Test als nuget Paket und versuchen, es in einer Testanwendung zu konsumieren (nennen es MyProject.Test), die Version als Floating-Wert in der MyProject.Testproject.json Datei angeben:

{ 
    "dependencies": { 
    "utilities.test": { 
      "version": "*", 
      "type": "build" 
     } 
    }, 
    "frameworks": { 
    "net45": {} 
    }, 
    "runtimes": { 
    "win": {} 
    } 
} 

Wenn ich das tue, ich die folgende Zusammenstellung err erhalten oder: "Unable to resolve devdep (>= x.x.x) for .NETFramework, Version=4.5". Ich habe zwei Wege gefunden, um das Problem zu beheben:

  • Fügen devdep als Referenz (mit Floating-Version) in der MyProject.Testproject.json als auch Datei.
  • Geben Sie eine konkrete Versionsnummer für Utilities.Test in der Datei MyProject.Testproject.json an.

Keine dieser Lösungen ist akzeptabel. Ich dachte, der ganze Sinn eines Pakets als Entwicklungsabhängigkeit sei es, zu verhindern, dass es als Installationsabhängigkeit erfasst wird. Wie verhindere ich, dass bei der Verwendung von Floating-Versionen als Abhängigkeit auftritt?

Antwort

0

Ich löste das, indem ich <developmentDependency>true</developmentDependency> der Nuspec-Datei für Utilities.Test hinzufügte. Dies wurde bereits in der .nuspec-Datei für angegeben, daher bin ich nicht sicher, warum das nicht ausreichen würde, um seine Verbreitung zu verhindern. Völlig unklar ist jetzt auch, was der Zweck der "type": "build" Tags in der project.json für ist - würde jeden Einblick in diese beiden Fragen begrüßen.

+0

danke für die Freigabe Ihrer Lösung hier, Sie könnten es als die Antwort markieren, so könnte es anderen Community-Mitgliedern helfen, die die gleichen Probleme bekommen. –

Verwandte Themen