Почему web deploy не использует правильное преобразование web.config?

#asp.net #webdeploy

#asp.net #webdeploy

Вопрос:

Я пытаюсь опубликовать в VS 2012, используя конфигурацию сборки под названием «CI», но когда я выполняю публикацию, преобразование «Release» (web.Release.config) используется в web.config. Как мне применить вместо него web.CI.config? Я думал, что это будет автоматически.

Я провел несколько экспериментов, которые подтверждают это.

Кто-нибудь видел это? Это (исправленная) ошибка?

Комментарии:

1. 4 года спустя (используя VS 2015) и все еще сталкивался с этой проблемой. Принятый ответ сработал для меня.

Ответ №1:

Иногда конфигурации путаются в зависимости от того, как вы добавили конфигурацию. Чтобы исправить это, закройте Visual Studio, откройте файл вашего решения (.sln) в текстовом редакторе. В GlobalSection(ProjectConfigurationPlatforms) = postSolution разделе вы можете увидеть что-то вроде этого

{427E2FA3-1BAE-4A03-A712-C951ECEC45A3}.CI|Any CPU.ActiveCfg = Release|Any CPU
{427E2FA3-1BAE-4A03-A712-C951ECEC45A3}.CI|Any CPU.Build.0 = Release|Any CPU

Обратите внимание, что CI равно Release . Измените приведенное выше на

{427E2FA3-1BAE-4A03-A712-C951ECEC45A3}.CI|Any CPU.ActiveCfg = CI|Any CPU
{427E2FA3-1BAE-4A03-A712-C951ECEC45A3}.CI|Any CPU.Build.0 = CI|Any CPU

Перезагрузите решение в Visual Studio и повторите попытку публикации.

Комментарии:

1. Абсолютно правильный ответ. Тем не менее, я обнаружил кучу этих ошибок (одного и того же шаблона) и должен был убедиться, что исправил их все. Вы знаете, сохранилась ли эта проблема в версии 2013 или она была исправлена?

2. Это происходит во всех visual studios. Когда вы создаете новую конфигурацию, вы получаете опцию «Копировать настройку из», обычно в конечном итоге мы выбираем одну из существующих конфигураций. Вот когда мы получаем эти странные настройки в файле sln. Я думаю, что если мы выберем опцию create empty, эта проблема не возникнет.

3. Спасибо за предупреждение. Это настолько типично для Microsoft, что у меня кружится голова. Мне пришлось использовать configuration manager для явного создания конфигурации «Stage», чтобы мой web.stage.config фактически использовался во время публикации.