Ustaw pliki zawartości na „kopiuj lokalnie: zawsze” w pakiecie nuget
Generuję pakiet nuget z projektu za pomocą tego polecenia w zdarzeniu po zbudowaniu. zmienna%conf%
jest ustawiony na właściwą konfigurację (debugowanie lub wydanie) i%1
to nazwa projektu (np. „MojaFirma.Mój projekt”).
nuget pack -Prop Configuration=%conf% "%1.csproj" -exclude *.sql -IncludeReferencedProjects
Ten pakiet jest przeznaczony wyłącznie do naszego użytku, nigdy nie zostanie opublikowany na nuget. Kończy się w naszym prywatnym repozytorium.
W projekcie jest plik, który jest ustawiony nagenerate action : content
icopy local : always
. (Moje studio wizualne jest w języku francuskim, więc nie jestem w 100% pewien traduktu). Nazwijmy toimportantfile.xml
.
W wygenerowanym pakiecie otrzymuję tę strukturę:
- content
- importantfile.xml
- lib
-net45 (.NetFramework,Version=v4.5)
-MyCompany.MyProject.dll
Co jest w porządku, chcęimportantfile.xml
do wdrożenia w pakiecie, ponieważ ten plik jest ważny!
Kiedy instaluję pakiet w innym projekcie,importantfile.xml
jest wdrożony w katalogu głównym projektu. W porządku. Ale nie jest ustawiony nacopy local : always
.
potrzebujęimportantfile.xml
byćcopy local : always
w tym projekcie, gdzie instaluję mój pakiet.
Jak mogę to osiągnąć?
Uwagi:
I mogą zestawcopy local : always
w pliku zaraz po zainstalowaniu pakietu to nic wielkiego. Chciałbym z tym żyć, jeśli późniejsze aktualizacje pakietu pozwolą tej właściwości jako takiej, która nie ma miejsca. Podczas aktualizacji pakietucopy local
jest resetowany donever
(jak wspomnianotutaj).
W folderze projektu znajduje się plik nuspec, tutaj jest:
<?xml version="1.0"?>
<package >
<metadata>
<id>$id<?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>
lt;/id>
<version>$version<?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>
lt;/version>
<title>$title<?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>
lt;/title>
<authors>$author<?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>
lt;/authors>
<owners>$author<?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>
lt;/owners>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<description>$description<?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>
lt;/description>
<copyright>Copyright 2014</copyright>
<tags>some random tags</tags>
</metadata>
</package>