2016-08-09 4 views
1

Очевидно, что я не понимаю проводку файла appdeploy.pubxml.Создание проекта webdeploy, не использующего значения в развертывании iis

Я хочу иметь строку подключения, как это в моем файле web.config:

<add name="TestDB" connectionString="Server=.\SQLExpress;User ID=WebUser;Password=[pass];Initial Catalog=TestDB" providerName="System.Data.EntityClient" /> 

В моем файле appdeploy.pubxml я это:

<PublishDatabaseSettings> 
    <Objects xmlns=""> 
    <ObjectGroup Name="TestDB" Order="1" Enabled="False"> 
     <Destination Path="Data Source=.\SQLExpress;Initial Catalog=TestDB;User ID=WebUser;Password=[Pass];Application Name=EntityFramework" Name="Data Source=.\SQLExpress;Initial Catalog=TestDB;User ID=WebUser;Password=[pass];MultipleActiveResultSets=True;Application Name=EntityFramework" /> 
    </ObjectGroup> 
    </Objects> 
</PublishDatabaseSettings> 

<ItemGroup> 
<MSDeployParameterValue Include="$(DeployParameterPrefix)TestDB-Web.config Connection String"> 
    <ParameterValue>Data Source=.\SQLExpress;Initial Catalog=TestDB;User ID=WebUser;Password=[Pass];Application Name=EntityFramework</ParameterValue> 
</MSDeployParameterValue> 
</ItemGroup> 

Когда я публикую приложение, скопируйте его на тестовый сервер iis и импортируйте его, я получаю диалоговое окно для ввода информации, и оно находится в текстовом поле. Однако, строка соединения в web.config на веб-сервере переписан с:

<add name="TestDB" connectionString="Server=[YourDbServerAddress];User ID=[YourDbLogin];Password=[YourDbPassword];Initial Catalog=[YourDbName]" providerName="System.Data.EntityClient" /> 

Так как информация пункт не соответствует конфиг я имею в appdeploy.pubxml поэтому не получает прошел. Что я делаю не так?

Могу ли я использовать то, что уже существует или если оно не существует, используя значение «По умолчанию»?

ответ

0

Ответ находится в файле преобразования web.release.config. Это то, что настраивает строки в файле web.config. При установке сайта appdeploy управляет опцией меню.