2013-12-18 9 views
8

Scenariusz:SlowCheetah: Przekształcone pliki z projektu biblioteki klas nie zostały skopiowane do przywołanych projektów

Mam projekt biblioteki klas z niestandardowymi plikami .config. Build Action dla tych plików konfiguracyjnych jest ustawiona na "Content" i "Copy Always". Ten projekt biblioteczny odwołuje się następnie do co najmniej 4-5 aplikacji konsolowych w ramach tego samego rozwiązania. Po zbudowaniu rozwiązania, moduł biblioteki klas i niestandardowe pliki konfiguracyjne są kopiowane do folderu z przywołanymi folderami projektów.

Próbuję zrobić:

Zastosowanie SlowCheetah przekształcać pliki niestandardowe config

Problem:

Choć SlowCheetah przekształca pliki konfiguracyjne w ramach projektu biblioteki klasy to nie kopiuje przekształcone plik do przywoływanych projektów. to znaczy zawsze kopiuje plik źródłowy/oryginalny.

Znaleziono kilka innych wątków, ale żadne z nich nie było oparte na SlowCheetah, pomocne byłyby wszelkie sugestie. Zauważ, że używam Install Shield Limited Edition, więc rozwiązanie musi działać dla plików .msi/setup. Ponadto nie chcę łączyć plików i stosować transformacji na połączonych plikach, ponieważ wtedy musiałbym wykonać tę samą transformację dla wszystkich projektów referencyjnych.

Dzięki

+1

bug Próbowałem wprowadzenie krok po kompilacji z krytym xcopy do projektu (-ów) konsoli, ale nadal kopiowane wersji nieprzetworzonej . Jedyne, co mogę w tym momencie myśleć to to, że jest to jakiś problem z timingiem. Być może transformacja ma miejsce po post-build ?! –

+0

Mając ten sam problem tutaj, dla mnie jest to plik NLog.config, który również dodałem przekształcenia. Ten sam problem, plik jest przekształcany, ale nie kopiowany. – workabyte

Odpowiedz

0

Biorąc ClassLibararyA odwołuje ClassLibraryB:

  • Zapewnienie configs z obu bibliotek klas nazywanych app.config
  • Konfiguracja transformacje zarówno dla App.configs wykorzystujące SlowCheetah (nawet jeśli tylko dbają o jeden)
  • Zbuduj

Na zewnątrz wstaw folder dla biblioteki ClassLibraryA, znajdziesz ClassLibraryB.dll.config (przekształcona App.config z klasyLibraryB).

+2

OP wspomniał o "niestandardowych plikach konfiguracyjnych", które moim zdaniem nie są plikami app.config.Mam transformację SlowCheah na obu app.configs i zgadzam się, że konfiguracja ClassLibraryB jest transformowana przed skopiowaniem do folderu bin ClassLibraryA. Istnieją jednak inne pliki .config w ClassLibraryB, które mają transformację SlowCheetah. Ich właściwości "Copy to Output Directory" są ustawione na "Copy Always" lub "Copy if Newer". Transformacja jest stosowana przed przejściem do folderu bin ClassLibraryB, ale nie jest stosowana do wersji, która kończy się w folderze ClassLibraryA. Tutaj jest problem. –

0

Wiem, że to nie jest rozwiązanie, ale to jest to, co znalazłem w sprawie, ponieważ mam ten sam problem. Dodanie tego tutaj, ponieważ jest zbyt wiele, aby dodać do komentarza i mam nadzieję, że ostatecznie będzie to odpowiedź po zamknięciu błędu.

Wiem, że powolny gepard jest w trybie konserwacji, ale nadal naprawia błędy i wygląda na to, że Microsoft podejmie projekt, więc mam nadzieję, że to naprawiono.

Znaleźliśmy tę sprawę tutaj, gdzie przyznają, że jest to błąd, ale wydaje się, że naprawili inny problem.

https://github.com/sayedihashimi/slow-cheetah/issues/34

więc otworzył nowy raport tutaj

https://github.com/sayedihashimi/slow-cheetah/issues/174

Powiązane problemy