У меня есть следующая настройка в проекте ASP.NET Web API 2 для Visual Studio 2013.Связь между конфигурацией решения, публикацией профиля и преобразованиями web.config
- Web.Develop.config веб-преобразования, чтобы установить параметры приложения значение ключа
- Web.Release.config веб-преобразования, чтобы удалить приложение настройки ключевых
- Develop.pubxml для сопоставления Web.Develop. конфигурации преобразования
- Release.pubxml для отображения на Web.Release.config преобразования
Детали для каждого из них приведены ниже.
<!-- Web.Develop.config (Web Config Transform) -->
<appSettings>
<add key="ReportInputPath"
value="DevelopPath"
xdt:Transform="SetAttributes"
xdt:Locator="Match(key)" />
</appSettings>
<!-- Web.Release.config (Web Config Transform) -->
<appSettings xdt:Transform="Remove" />
<!-- **Develop.pubxml (Publish Profile) -->
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<WebPublishMethod>FileSystem</WebPublishMethod>
<LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
<LastUsedPlatform>x64</LastUsedPlatform>
<SiteUrlToLaunchAfterPublish />
<LaunchSiteAfterPublish>True</LaunchSiteAfterPublish>
<ExcludeApp_Data>True</ExcludeApp_Data>
<publishUrl>Path</publishUrl>
<DeleteExistingFiles>True</DeleteExistingFiles
<ExcludeFilesFromDeployment>packages.config</ExcludeFilesFromDeployment>
</PropertyGroup>
</Project>
<!-- Release.pubxml (Publish Profile) -->
<!-- Contents are identical to Develop.pubxml.
This is used to target the Web.Release.Config transform. -->
Всякий раз, когда я опубликовать приложение через Выпуск опубликовать профиль моего <appSettings/>
элемента успешно удален. Тем не менее, элемент <appSettings/>
удаляется при запуске профиля публикации публикации.
То, что я хочу, чтобы понять:
Почему <appSettings/>
элемент удаляется при запуске Develop опубликовать профиль вместо установки значения ReportInputPath?
И каковы отношения между конфигурациями решений/проектов, публикацией профилей и преобразованием web.config?