2014-12-05 13 views
5

W jaki sposób wybrać pliki, które chcę skopiować do katalogu wyjściowego mojej kompilacji za pośrednictwem właściwości => Kopiuj zawsze, ale nie byłem w stanie znaleźć sposobu na skopiowanie innego pliku w zależności od typu kompilacji.Skopiuj inny plik do katalogu wyjściowego w celu wydania i debugowania?

Mam dwa oddzielne pliki konfiguracyjne, jeden skonfigurowany do lokalnego rozwoju (tj. Powinien być kopiowany tylko na kompilacji debugowania) i taki, który jest skonfigurowany dla środowiska serwera (tj. Powinien być kopiowany tylko na wersji wydania).

Czy ktoś wie, jak uzyskać ten typ funkcji warunkowej?

+1

sprawdzić odpowiedź Romeo na dole strony: http://stackoverflow.com/questions/8082662/how-to-select-different-app-config-for-several-build-configurations – Bayeni

+0

Spróbuję, ale wygląda na to, że jest to głównie plik VS app.config. Czy to działa, aby skopiować mój własny plik konfiguracyjny, który odczytuje moja aplikacja? – PseudoPsyche

+0

Czy to jest aplikacja, która będzie działać w usługach IIS? (Są funkcje, o których wiem, że są wbudowane, aby to zrobić, ale działają tylko w ASP.NET i podobnych projektach). –

Odpowiedz

5

Obecnie udało mi się osiągnąć pożądaną funkcjonalność za pomocą niewielkiego zmodyfikowaną wersję odpowiedzi w tym poście, że @Bayeni wspólne: https://stackoverflow.com/a/8083060/1428743

ten pracuje obecnie dla mnie, ale jeśli istnieje lepszy sposób, aby przejść o proszę daj mi znać.

<ItemGroup Condition=" '$(Configuration)' == 'Debug' "> 
    <Content Include="local.cfg"> 
     <CopyToOutputDirectory>Always</CopyToOutputDirectory> 
    </Content> 
    </ItemGroup> 
    <ItemGroup Condition=" '$(Configuration)' == 'Release' "> 
    <Content Include="release.cfg"> 
     <CopyToOutputDirectory>Always</CopyToOutputDirectory> 
    </Content> 
    </ItemGroup> 
+0

Jednym z problemów jest to, że skopiuje dwa różne nazwy plików do katalogu docelowego. –

+0

Obecnie obsługuję to za pomocą dyrektywy preprocesora, aby wybrać właściwy plik konfiguracyjny na podstawie typu kompilacji. – PseudoPsyche

0

Dlaczego nie używasz zdarzenia PostBuild i nie wywołujesz xCopy w celu skopiowania potrzebnych plików?

+0

Czy jest jakaś korzyść wynikająca z metody sugerowanej w poście udostępnionym przez @Bayeni? Dodanie warunkowych wpisów "Grupa towarów" z pliku obejmuje plik '.csproj'? – PseudoPsyche

+0

Dodałem odpowiedź na to pytanie, aby pokazać metodę, która obecnie działa dla mnie. Jeśli są jakieś korzyści dla proponowanego rozwiązania, prosimy o komentarz. – PseudoPsyche

+0

To jest podobne do opcji '' ale musisz wybrać wywołanie wielu programów (xCopy) i uzyskać trochę wyjścia z niego (powiedzmy plik dziennika) – Chris