Pytanie Używanie pakietu nuget do wdrażania pojedynczego pliku


Chcę utworzyć pakiet nuget z jednym plikiem. Czy istnieje sposób na spakowanie pojedynczego pliku, a następnie poinstruowanie pliku o tym, gdzie powinien on zostać umieszczony w projekcie Visual Studio?

Udało mi się stworzyć plik nuspec i spakować pakiet zawierający nuget, który zawiera dany plik. Jednakże nie można zainstalować wewnątrz opakowania.

Dokładniej: mam plik konfiguracyjny, który powinien być taki sam w wielu projektach. Chcę móc zainstalować pakiet nuget, który można zainstalować, aby umieścić plik konfiguracyjny w poprawnej lokalizacji.

Plik Nuspec właśnie teraz określa podstawy dotyczące metadanych. Następnie uruchamiam pakiet nuget z tym plikiem Nuspec i plikiem konfiguracyjnym w katalogu. W rezultacie otrzymujemy pakiet nuget z plikiem konfiguracyjnym, który można odinstalować.

Oto, co mam teraz w pakiecie nuget:

enter image description here

i plik nuspec:

<?xml version="1.0"?>
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
  <metadata>
    <id>StyleCopSettings</id>
    <version>1.0.1</version>
    <title>StyleCopSettings</title>
    <authors>Clearspan</authors>
    <owners>Clearspan</owners>
    <description>StyleCopSettings</description>
  </metadata>
</package>

11
2018-04-23 13:28


pochodzenie


Opublikuj plik nuspec. Pytania bez wyraźnego oświadczenia o problemie i wystarczającej ilości kodu do odtworzenia i rozwiązania problemu zostają zamknięte - w rzeczywistości jest blisko tego powód. Nie ma wątpliwości, czy możesz wdrażać pliki, czy też nie - z definicji są to pakiety nuget. Albo nie określiłeś docelowej ścieżki w swoim nuspec albo ścieżka jest zła. - Panagiotis Kanavos
@Panagiotis Kanavos dzięki za poinformowanie mnie. Dodałem dodatkowe informacje, które mam dostępne. - Jake
Proszę opublikować zawartość nuspec plik. Że jest definicją, z której zbudowany jest pakiet nuget. Czek doktorzy, jaka jest wartość target atrybut twojego file element? - Panagiotis Kanavos
Obecnie jest to po prostu metadane, jak widać z eksploratora pakietów i wyjaśniłem. Nie wiem, jak automatycznie uruchomić skrypt, aby zrobić to, czego potrzebuję. Oto plik nuspec: pastebin.ca/2979470 - Jake
Czy powinienem móc określić skrypt z pliku nuspec? Nie rozumiałem, że działają w ten sposób. - Jake


Odpowiedzi:


Problem polega na tym, że nie odwołujesz się do danego pliku w swoim Nuspec. Edytowałem twoją nuspec w następujący sposób.

<?xml version="1.0"?>
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
  <metadata>
    <id>StyleCopSettings</id>
    <version>1.0.1</version>
    <title>StyleCopSettings</title>
    <authors>Clearspan</authors>
    <owners>Clearspan</owners>
    <description>StyleCopSettings</description>
  </metadata>
  <files>
        <file src="$pathToYourFile$\styleCopSettings.txt" target="content\Settings" /> 
   </files>
</package>

Aby dodać plik do projektu za pośrednictwem pakietu, musisz go dodać do katalogu zawartości twojego pakietu target="content\Settings". Katalog zawartości pakietu nuget działa jak katalog główny projektu, w którym zostanie zainstalowany pakiet (źródło). Tak więc, określając kolejne katalogi w naszym celu, możemy umieścić plik w określonym miejscu. W powyższym przykładzie styleCopSettings.txt plik zostanie umieszczony w katalogu Ustawienia dla dowolnego projektu, który korzysta z tego pakietu. Katalog ustawień zostanie dodany jako część instalacji.

Po tym, jak nazwiesz paczkę nugetów na twojej nuspeci, powinieneś skończyć z czymś takim

nupkg view

Kiedy spożyjesz pakiet, otrzymasz następujące.

example


9
2018-04-23 17:07



To było to - zadziałało. To tyle! - Jake
Świetna rada! "Treść" uratuj mi dzień! Dzięki! - GRGodoi