Set-Inhalt-Dateien "lokal kopieren : immer" in ein nuget-Paket

Generiere ich ein nuget-Paket aus einem Projekt mit diesem Befehl in den post-build-Ereignis. die variable %conf% eingestellt ist, die richtige Konfiguration (debug oder release) und %1 ist der Projektname (z.B. "MyCompany".MyProject").

nuget pack -Prop Configuration=%conf% "%1.csproj" -exclude *.sql -IncludeReferencedProjects

Dieses Paket ist für unsere eigene Verwendung nur, es wird nie veröffentlicht werden, auf nuget. Es endet in unserem privaten repository.

In das Projekt, es ist eine Datei, die eingestellt ist, um generate action : content und copy local : always. (Mein visual studio ist in Französisch, so bin ich mir nicht 100% sicher, dass der traduction). Nennen wir es importantfile.xml.

In der erzeugten Paket, dass ich am Ende mit dieser Struktur :

- content
    - importantfile.xml
- lib
    -net45 (.NetFramework,Version=v4.5)
        -MyCompany.MyProject.dll

Was in Ordnung ist, ich will importantfile.xml werden im Paket bereitgestellt, weil, na ja, diese Datei ist wichtig!

Wenn ich installieren Sie das package in einem anderen Projekt importantfile.xml bereitgestellt wird, der an der Wurzel des Projekts. Das ist OK. Aber es ist nicht auf copy local : always.

Ich brauche importantfile.xml zu copy local : always in diesem Projekt, wo ich die Installation meines Pakets.

Wie kann ich das erreichen?

Hinweise :

Ich kann set copy local : always auf die Datei einfach nach der Installation des Pakets, das ist keine große Sache. Ich würde mit ihm Leben, wenn spätere updates des Pakets lassen würde diese Eigenschaft als-ist, was nicht der Fall ist. Bei der Aktualisierung des Pakets copy local genullt zu never (wie gesagt hier).

Gibt es eine nuspec-Datei in dem Ordner des Projekts, hier ist es :

<?xml version="1.0"?>
<package >
  <metadata>
    <id>$id$</id>
    <version>$version$</version>
    <title>$title$</title>
    <authors>$author$</authors>
    <owners>$author$</owners>
    <requireLicenseAcceptance>false</requireLicenseAcceptance>
    <description>$description$</description>
    <copyright>Copyright 2014</copyright>
    <tags>some random tags</tags>
  </metadata>
</package>
Warum willst du CopyToOutputDirectory Immer? In meiner Erfahrung Immer, ist nie die richtige Wahl sein, es bricht inkrementelle builds, indem Sie Sie zu bauen, zu jeder Zeit.

InformationsquelleAutor Johnny5 | 2014-01-15

Schreibe einen Kommentar