2009-10-29 11 views
13

Czy istnieje sposób na ustawienie Visual Studio, aby opublikować wszystkie pliki PDF?Jak ustawić Visual Studio do automatycznego publikowania plików PDF?

Wiem, że każdy plik PDF można ustawić w projekcie z właściwością "Treść" Build Action .

Ale to oznacza robienie tego samego, co 100 razy dla mojego obecnego projektu, czy istnieje sposób na zmianę globalnego ustawienia, aby zrobić to samo?

+0

Publikowanie plików PDF? Co powiesz na umieszczenie plików PDF poza projektem i zmapowanie ich za pomocą folderu wirtualnego na swoim serwerze internetowym? –

+0

Serwery internetowe tak naprawdę nie są problemami, problemem jest pobieranie plików pdf, które są używane, a podręczniki/dokumenty/pliki do pobrania są dodawane do projektu, ale trzeba je ustawić tak, aby po opublikowaniu były przesyłane do serwera. raz tam wszystko w porządku. – TheAlbear

+0

Jak korzystać z selekcji wielokrotnej? Wystarczy kilka kliknięć myszą i gotowe.Lub, jeśli dokumenty PDF są rozłożone w drzewie projektu, otwórz plik projektu w edytorze tekstów i wykonaj globalne wyszukiwanie i zamień. –

Odpowiedz

2

Załóżmy miałeś PDF chcesz wdrożyć poza projektem w C: \ PDF, modyfikować .csproj

<ItemGroup> 
    <Content Include="c:\PDFs\**\*.pdf" /> 
</ItemGroup> 

Jeśli są w folderze „MyPdfs” względna do katalogu głównego projektu

<ItemGroup> 
    <Content Include="MyPdfs\**\*.pdf" /> 
</ItemGroup> 

niektórych dalszych szczegółów na ten temat można znaleźć na stronie: https://stackoverflow.com/a/12202917/37055

1

Możesz edytować swój plik projektu bezpośrednio, aby dodać wymagane elementy <CopyToOutputDirectory>Always</CopyToOutputDirectory> do plików PDF. (Jeśli projekt nie jest pod kontrolą źródła, testy na pierwszej kopii i przechowywanie kopii zapasowych w przypadku, gdy wszystko idzie źle)

5

Dodaj wydarzenie po kompilacji za pomocą następującego polecenia:

xcopy "$(ProjectDir)myPdfs\*.pdf" "$(TargetDir)myPdfs\" /S /Y 

nutą w powyższe polecenie myPdfs to tylko podfolder katalogu projektu, który zawiera wszystkie pliki PDF. Jeśli masz więcej niż jeden z tych podfolderów, musisz uruchomić polecenie dla każdego z nich.

Mam nadzieję, że to działa!

+1

Wygląda na to, że jest to najlepsza opcja. – TheAlbear

15

jest prostszy sposób, musisz upewnić się, że plik jest zawarty w projekcie jako pierwszy, a następnie kliknąć prawym przyciskiem myszy na pliku idź do właściwości, pojawi się opcja "Kopiuj do katalogu wyjściowego", wybierz "Kopiuj zawsze”

Powodzenia

+7

Musisz również ustawić "Build Action" na "Content", to jest najlepsza odpowiedź. – paul

+2

-1 Kopiuj zawsze kopiuje je do katalogu bin. Odpowiedź Vinblada jest poprawna. Zmień działanie kompilacji na treść. – adam0101

+0

Dziękuję @paul .. 'Kopiuj Zawsze' sam nie robi lewy. Ustawienie działania kompilacji rozwiązuje problem. – user1003916

1

CopyToOutputDirectory skopiuje pliki do folderu bin po opublikowaniu. Ustawienie "Build Action" na "Content" spowoduje skopiowanie plików bez potrzeby ustawienia CopyToOutputDirectory. Ale nadal trzeba to zrobić w każdym pliku. Można dokonać zastąpienia regex w pliku projektu z <None Include="XXX.pdf" /> do <Content Include="XXX.pdf" />.

2

Otwórz csproj plik i zmienić:

<None Include="my.pdf"> 

do:

<Content Include="my.pdf"> 
13

Wystarczy prawym przyciskiem myszy na plik, który chcesz dołączyć, wybierz Właściwości, w akcji okno właściwości kompilacji zmiany do treści . Obejmuje to plik podczas publikowania.

+1

Powinna być rzeczywistą odpowiedzią. Dzięki stary. – fuzz

+1

to jest lepsza odpowiedź. – kaptan

Powiązane problemy