Visual Studio 2012 Web Deploy Publish игнорирует выбранную конфигурацию для преобразования и сборки

Когда я создаю профиль публикации, у меня есть возможность выбрать, какую конфигурацию я хочу использовать для публикации для этого профиля. Доступны такие параметры, как Debug, Release или любой другой, определенный пользователем, например Staging. Проблема в том, что если я выбираю любую конфигурацию, кроме Release или Debug, скажем, Staging, Visual Studio полностью игнорирует мой выбор и использует Web.Release.config для преобразования и сборки. Я что-то не так делаю или так задумано? Кажется, что Publish распознает только выпуск и отладку как приемлемую конфигурацию. Есть мысли по этому вопросу?

Я использую Visual Studio 2012 RTM.

Обновление 1 ::Выбрана конфигурация «NightlyLive -Любой ЦП»:

Здесь я выбираю свою собственную конфигурацию «NightlyLive» :

enter image description here

. А вот что происходит, когда я публикую:

6>------ Build started: Project: UI.Next, Configuration: Release Any CPU ------
7>------ Publish started: Project: UI.Next, Configuration: Release Any CPU ------
7>Transformed Web.config using [...]\UI.Next\Web.Release.config into obj\Release\TransformWebConfig\transformed\Web.config.

Как видите, он строит проект, используя Release Any CPU (вместо NightlyLive -Any CPU ), а также преобразовывает Web.config, используя Web.Release.config (вместо Web.NightlyLive.config. ).

Обновление 2 ::Имя профиля переименовано в NightlyLive:

Здесь я переименовываю имя профиля с «test» на «NightlyLive».

enter image description here

Вот вывод консоли:

6>------ Build started: Project: UI.Next, Configuration: Release Any CPU ------
7>------ Publish started: Project: UI.Next, Configuration: Release Any CPU ------
7>Transformed Web.config using [...]\UI.Next\Web.Release.config into obj\Release\TransformWebConfig\transformed\Web.config.
7>[...]\UI.Next\Web.NightlyLive.config(23,18): Warning : Argument 'debug' did not match any attributes
7>[...]\UI.Next\obj\Release\TransformWebConfig\transformed\Web.config(78,6): Warning : No attributes found to remove
7>Transformed obj\Release\TransformWebConfig\transformed\Web.config using [...]\UI.Next\\Web.NightlyLive.config into obj\Release\ProfileTransformWebConfig\transformed\Web.config.

Так вот, он все еще строится с использованием Release Any CPU.

Но для Web.config он сначала преобразуется с помощью Web.Release.config, а затем выполняет второе преобразование поверх предыдущего с помощью Web.NightlyLive.config.

Я думаю, что двойное преобразование задумано и имеет смысл. Но тот факт, что вам нужно переименовать имя вашего профиля в имя конфигурации, чтобы принудительно использовать ваш пользовательский файл преобразования, выглядит неправильно.

Обновление 3 ::Добавлен TestSolution

Вы можете скачать урезанное решение из здесь .

Сначала я создал совершенно новое решение vs2012, и все работало нормально. Поэтому я решил разобрать свое текущее решение и загрузить его в качестве тестового примера.

Обратите внимание, что мое решение изначально было решением vs2010, которое я открыл в vs2012, и vs2012 внес необходимые изменения в решение.

Обновление 4 ::Вердикт

Я предполагаю, что мои конфигурации решения были перепутаны. Поэтому, в основном, чтобы решить эту проблему, я удалил все свои настроенные решения и конфигурации проектов и снова создал их вместе с файлами преобразования web.config.

Проблема решена.

9
задан kaptan 23 August 2012 в 01:26
поделиться