3

我有一个包含多个项目的解决方案,其中一个项目是 Web 应用程序,我希望能够在使用 MSBuild 构建解决方案时使用 web.release.config 转换 web.config。当我打电话

MSBuild "WebProject.csproj" /t:TransformWebConfig /p:Configuration=Release

在 Web 项目中,我将转换后的 web.config 输出到 ...\obj\Release\TransformWebConfig\transformed\Web.config

但是当我尝试打电话时

MSBuild "Solution.sln" /t:TransformWebConfig /p:Configuration=Release

我收到“项目中不存在TransformWebConfig”的错误。有没有你让这个工作,所以如果可能的话它会输出一个转换的 web.config,否则忽略命令的 TransformWebConfig 部分?

4

1 回答 1

5

最简单的方法似乎是将 web 项目 .csproj 文件更改为

<Project ToolsVersion="4.0" DefaultTargets="BuildWithConfig" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

然后添加一个新目标

<Target Name="BuildWithConfig">
    <CallTarget Targets="Build"/>
    <CallTarget Targets="TransformWebConfig"/>
</Target>

然后运行

MSBuild "Solution.sln" /p:Configuration=Release

该文件将输出到 ...\WebProject\obj\Release\TransformWebConfig\transformed

于 2012-08-07T12:08:41.383 回答