Преобразование web.config из web.template.xml не работает

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

Вот что я безуспешно пробовал тестировать

  • Изменение имени файла wpp.targets на случай, если я ошибся в названии проекта. Я знаю, что текущий, который я использую, работает, поскольку он единственный, который заставляет web.config перестраиваться из web.template.xml, это преобразование работает. Не работают только подшаблоны.
  • Пробовал с xdt :Locator="Соответствие (имени )"
  • Пробовал расширение.config вместо.xml, другие наши проекты, где это работает, используют.xml
  • Диспетчер конфигурации настроен на использование конфигурации «Тест» для проекта, над которым я работаю.
  • web.template.Test.xml имеет xdt :Transform="Replace" для раздела, который я хочу заменить
  • web.template.xml имеет заполнитель
  • Попытался удалить раздел «CopyWebTemplateConfig» из wpp.targets, как это было предложено в вопросе о стеке, указанном ниже. В других наших проектах это и раздел "PropertyGroup" закомментированы, и я пробовал обе комбинации.

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

Примечание. Преобразование публикации в некотором роде работает. Он создает файл web.template.xml, содержащий значения из web.template.Test.xml, но не создает файл web.config.xml, как указано в wpp.targets. Так что это скорее проблема с работой преобразования сборки.

У кого-нибудь есть идеи, чего не хватает?

wpp.targets




  
  
    
  

  
    
      $(PrepareForRunDependsOn);
      UpdateWebConfigBeforeRun;
    
  

  
  
    
    
  

  
  
    
      
    
    
  

web.template.xml




             
    
   ....
  
   ....
  
  
  ....

web.template.Test.xml




  
   ...
  

Вывод MSBuild

Target "UpdateWebConfigBeforeRun: (TargetId:143)" in file "C:\...\Project.wpp.targets" from project "C:\...\Project.csproj" (target "PrepareForRun" depends on it):
Task "Message" (TaskId:93)
  Configuration: Test: Web.template.Test.xml (TaskId:93)
Done executing task "Message". (TaskId:93)
Task "TransformXml" (TaskId:94)
  Transforming Source File: Web.template.xml (TaskId:94)
    Applying Transform File: Web.template.Test.xml (TaskId:94)
    Executing Replace (transform line 5, 18) (TaskId:94)
      on /configuration/TestSettings (TaskId:94)
      Applying to 'TestSettings' element (source line 121, 4) (TaskId:94)
      Replaced 'TestSettings' element (TaskId:94)
    Done executing Replace (TaskId:94)
    Output File: web.config (TaskId:94)
  Transformation succeeded (TaskId:94)
Done executing task "TransformXml". (TaskId:94)
Done building target "UpdateWebConfigBeforeRun" in project "Project.csproj".: (TargetId:143)

6
задан Community 23 May 2017 в 12:07
поделиться