Я хочу, чтобы преобразования web.config работали локально, но, по-видимому, преобразования происходят только при развертывании.
Кто-нибудь знает способ запускать цель msbuild "TransformWebConfig" без прохождения процесса "rebuild", а также указать и вывести каталог, куда выплевывать преобразованный web.config?
EDIT: используя ответ Sayed, я создал файл .bat
для выполнения задачи для меня:
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Msbuild.exe "D:\Demo\Transformation.proj" /t:TransformWebConfig
copy /Y "D:\Demo\Web.config" "D:\MyProject\Web.config"
del ""D:\Demo\Web.config"
"Transformation.proj" - это копия фрагмента кода Sayed в ответе ниже. Просто укажите источник, цель и назначение для преобразования. Новый файл, в данном случае, преобразованный "web.config" будет находиться в каталоге "D:\Demo". Я просто копирую его, чтобы перезаписать мой проект web.config и, наконец, удалить сгенерированный файл в папке "demo".
Кроме того, я создал макрос для запуска этого командного файла и выполнил преобразование для меня:
Public Module DoTransform
Sub RunTransformBatchFile()
Try
Process.Start("D:\Demo\RunTransform.bat")
Catch ex As System.Exception
MsgBox(ex.Message)
End Try
End Sub
End Module
Вы также можете добавить кнопку на панели инструментов для запуска этой партии и/или назначить комбинацию клавиш.