W Visual Studio 2010 i nowszych wersjach możesz teraz zastosować transformację do pliku web.config w zależności od konfiguracji kompilacji.
Podczas tworzenia pliku web.config możesz rozwinąć plik w eksploratorze rozwiązań, a zobaczysz dwa pliki:
- Web.Debug.Config
- Web.Release.Config
Zawierają kod transformacji, do którego można się przyzwyczaić
- Zmień parametry połączenia
- Usuń dane śledzenia i ustawienia debugowania
- Zarejestruj strony błędów
Aby uzyskać więcej informacji, zobacz Składnia transformacji Web.config dla wdrażania projektu aplikacji sieci Web na MSDN.
Możliwe jest również, choć oficjalnie nieobsługiwane, zastosowanie tego samego rodzaju transformacji do app.config
pliku aplikacji innej niż internetowa . Zobacz blog Phila Bolduca, w jaki sposób zmodyfikować plik projektu, aby dodać nowe zadanie do msbuild.
Jest to długotrwała prośba w usłudze Visual Studio Uservoice .
Rozszerzenie dla Visual Studio 2010 i powyżej „ SlowCheetah ” dostępny jest, aby dbać o tworzenie przekształcić do każdego pliku konfiguracyjnego. Począwszy od Visual Studio 2017.3, SlowCheetah został zintegrowany z IDE, a bazą kodu zarządza Microsoft. Ta nowa wersja obsługuje także transformację JSON.
Pierre-Alain Vigeant
źródło
Web.Debug.Config
aWeb.Release.Config
, być może trzeba kliknąć prawym przyciskiem myszyWeb.Config
i kliknąćAdd Config Transforms
.<appSettings>
Tag w web.config obsługuje atrybut pliku, który zostanie załadowany zewnętrznego config z jego własnym zestawem klucz / wartość. Zastąpią one wszystkie ustawienia w pliku web.config lub zostaną do nich dodane.Korzystamy z tego, modyfikując nasz plik web.config w czasie instalacji za pomocą atrybutu pliku odpowiadającego środowisku, w którym instalowana jest witryna. Robimy to za pomocą przełącznika w naszym instalatorze.
na przykład;
Uwaga:
źródło
restartOnExternalChanges
który będzie traktował te pliki tak, jakby były plikami web.config. Źródło: learnable.com/books/…Czy zajrzałeś do projektów wdrażania stron internetowych?
http://www.microsoft.com/downloads/details.aspx?FamilyId=0AA30AE8-C73B-4BDD-BB1B-FE697256C459&displaylang=en
Istnieje również wersja dla VS2005, jeśli nie jesteś w 2008 roku.
źródło
Też chciałbym wiedzieć. Pomaga mi to wyodrębnić problem
Następnie przechowuję connectionStrings.config, a także „{host} connectionStrings.config”. Nadal jest to problem, ale jeśli zrobisz to dla sekcji różniących się w dwóch środowiskach, możesz wdrożyć i zaktualizować ten sam plik web.config.
(I nie używam VS, btw.)
źródło
Używam skryptu budowania NAnt do wdrażania w różnych środowiskach. Mam modyfikować moje pliki konfiguracyjne za pomocą XPath w zależności od miejsca, w którym są wdrażane, a następnie automatycznie umieszcza je w tym środowisku za pomocą Beyond Compare .
Konfiguracja zajmuje minutę lub dwie, ale musisz to zrobić tylko raz. Potem pliki wsadowe przejmują kontrolę, gdy idę po kolejną filiżankę kawy. :)
Oto artykuł na ten temat.
źródło
W jednym projekcie, w którym mieliśmy 4 środowiska (programowanie, testowanie, przemieszczanie i produkcja), opracowaliśmy system, w którym aplikacja wybrała odpowiednią konfigurację na podstawie nazwy komputera, na którym została wdrożona.
To działało dla nas, ponieważ:
W tym przypadku działało to dla nas dobrze, ale prawdopodobnie nie działałoby wszędzie.
źródło
Pomoże Ci w tym edytor konfiguracji biblioteki Enterprise Library. Pozwala utworzyć podstawowy plik konfiguracyjny, a następnie delty dla każdego środowiska. Następnie możesz połączyć konfigurację podstawową i różnicę, aby utworzyć specyficzny dla środowiska plik web.config. Spójrz na informacje , które poprowadzą Cię przez to lepiej niż ja.
źródło
Możesz także uczynić to krokiem po kompilacji. Skonfiguruj nową konfigurację, która jest „Wdróż” oprócz debugowania i wydania, a następnie skopiuj krok po kompilacji na poprawnym pliku web.config.
Używamy automatycznych kompilacji do wszystkich naszych projektów, a wraz z nimi skrypt kompilacji aktualizuje plik web.config, aby wskazywał prawidłową lokalizację. Ale to ci nie pomoże, jeśli robisz wszystko z VS.
źródło
Jest to jedna z ogromnych zalet korzystania z pliku machine.config. W mojej ostatniej pracy mieliśmy środowiska programistyczne, testowe i produkcyjne. Możemy użyć pliku machine.config do takich rzeczy jak parametry połączenia (do odpowiedniej maszyny SQL dev / test / prod SQL).
Może to nie być rozwiązaniem dla Ciebie, jeśli nie masz dostępu do rzeczywistej maszyny produkcyjnej (np. Jeśli korzystasz z firmy hostingowej na wspólnym hoście).
źródło
Możesz także użyć rozszerzenia „Transformacja konfiguracji” działa tak samo jak „SlowCheetah”,
źródło