我想让 web.config 转换在本地工作,但显然只有在部署时才会发生转换。
有没有人知道在不经过“重建”过程的情况下运行 msbuild 目标“TransformWebConfig”的方法,并且还指定和输出目录来吐出转换后的 web.config?
编辑:使用赛义德的回答,我创建了一个.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
您还可以在工具栏上添加一个按钮来运行此批处理和/或分配一个快捷键来执行。