2016-05-25 6 views
0

Ich schreibe ein Nuget-Paket, das einige Inhaltsdateien bereitstellt.nuget Texteingabedatei bei der Installation ändern

Ich möchte, dass sie geändert werden, um die Versionsnummer und den Installationspfad zu enthalten.

Ich fand this, aber es scheint nur Konfigurations-und Quelldateien zu ändern.

Ich bemerkte install.ps1 Skripte, aber sie sehen nur in der Lage, das Zielprojekt und seine Elemente zu transformieren.

Was passiert, wenn ich eine Textdatei zu dem Projekt hinzufügen möchten:

You just installed package $packageName version $version in $installPath 

in

nach der Installation verwandelt
You just installed package myPackage version 1.0.12.12 in packages/myPackage-1.0.12.12 

Antwort

0

In der Tat install.ps1 Skript ausgeführt wird, nachdem die Inhaltsdateien kopieren. Und es ist ausgeführt, nachdem die Inhaltsdateien Csproj beigefügten wurden:

Added file 'myfile.txt' to folder 'mypackage\content'. 
Added file 'mypackage.nupkg' to folder 'mypackage'. 
Successfully installed 'mypackage'. 
Added file 'myfile.txt'. 
Added file 'myfile.txt' to project 'myproject' 
>> PowerShell scripts are being executed from 'tools' (not framework-specific) 
Executing script file 'init.ps1` 

Das bedeutet, können Sie was auch immer Ihre statischen Dateien aus dem Skript bearbeiten (sie Zugriff) aus dem $project Parameter ~:

param($installPath, $toolsPath, $package, $project) 
$myFile = $project.ProjectItems.Item("myfile.txt") 
$filePath = $myFile.Document.FullName 
$content = Get-Content -Path "$filePath" 

Ich kenne den kanonischen Weg nicht, um die Paketversion von diesem Skript zu bekommen, aber es ist Teil des Parameters $installPath.

Hoffe, das wird jemandem helfen

Verwandte Themen