2012-11-07 9 views
5

Niedawno zacząłem używać Web Deploy z IIS 7 na serwerze i Visual Studio 2012. Mój projekt to aplikacja internetowa ASP.Net MVC 3.Określanie różnych aplikacji z wdrożeniem sieci Web w VS 2012

Ustawiłem wszystko poprawnie i publikacja działa i otrzymuję pożądaną transformację ciągu połączenia, aby serwer docelowy mógł uzyskać dostęp do poprawnej bazy danych.

Jednak istnieje kilka różnych appSettings, które muszą być inne na serwerze niż wartości używane do programowania na komputerze lokalnym.

Powiedzmy, na ten przykład mam web.config rozwoju z następujących czynności:

<appSettings> 
    <add key="CommonName" value="AlwaysTheSame" /> 
    <add key="VariableName" value="LocalValue" /> 
<appSettings> 

i gdy robi opublikowany chcę się następująco na serwerze:

<appSettings> 
    <add key="CommonName" value="AlwaysTheSame" /> 
    <add key="VariableName" value="ServerValue" /> 
<appSettings> 

Myślę, że muszę coś zmienić w pliku .pubxml, który znajduje się w folderze Properties > PublishProfiles, ponieważ wydaje się, że zmieniono ciąg połączenia. Jednak nie znajduję żadnych użytecznych informacji o tym, jak zmodyfikować ten plik, aby odpowiadał moim potrzebom. Jakie zmiany muszę wprowadzić?

Odpowiedz

6

Można użyć transformacji konfiguracyjne, które pozwalają mieć mulitple wersje pliku konfiguracyjnego dla różnych środowisk:

enter image description here

Następnie przy publikacji należy wybrać środowisko, a to zastąpi w internecie. config z konfiguracją środowiskową.

chodzi o utrzymanie jednej wartości spójne różnych typów wdrażania, można po prostu zapisać, że w głównym web.config i przechowywanie pozostałych w web.live.config itp

Aby uzyskać więcej informacji o transformacji konfiguracyjnych, przeczytaj ten świetny blog pisać przez Vishal R. Joshi:

http://blogs.msdn.com/b/webdev/archive/2009/05/04/web-deployment-web-config-transformation.aspx

+1

Hmmm ... to wygląda obiecująco. Będę miał zabawę i zobaczę, jak to działa – musefan

2

Jeśli znasz wartości do wykorzystania na serwerze z góry, a następnie można użyć transformacje web.config.
Jeśli jednak chcesz, aby te wartości były wprowadzane jako parametry podczas procesu wdrażania na serwerze, możesz użyć parametrów Web Deploy, jak opisano w this MSDN article.