为了清晰而编辑(并更新了我对问题的了解) 我已经工作了几天,似乎无法让它工作。 我们使用安装了Windows SDK 7.1的构建服务器来运行MSbuild(没有可视工作室)。我们运行了许多MSBuild项目文件来构建不同的应用程序而没有问题。我的应用程序的MSBuild工作正常,直到我添加了Web.Config转换。现在它只是复制各种web.config(.debug.config,.release.config)而不是实际执行转换。
我们的构建命令是
msbuild projectfile.proj / p:label = sourceTree_Label / fl
projectfile.proj内部是一个msbuild任务
<Target Name="ProjectName" DependsOnTargets="otherProject">
<PropertyGroup>
<ReleasePublishArgs>Configuration=Release;OutputPath=$(ReleaseOutputDir)\$(ProjectNameReleaseAssemblyName)_$(Major)_$(Minor)_$(Build)_$(Revision);</ReleasePublishArgs>
</PropertyGroup>
<!-- Release Build Section -->
<Message Text="Creating Project for Release..." />
<MSBuild
Projects="$(ProjectBaseDir)\$(ProjectFile)"
Targets="Clean"
Properties="Configuration=Release" />
<MSBuild
Projects="$(ProjectBaseDir)\$(ProjectFile)"
Targets="Rebuild"
Properties="$(ReleasePublishArgs)" />
</Target>
根据我的阅读,MSBuild应该只处理转换。但是,它对我不起作用。那么我是否需要修改.csproj文件,projectfile.proj或初始MSBuild命令(或者我在机器上缺少某种类型的库)?
注意:由于法律和IT限制我无法将第三方系统(SlowCheetah)导入我们的公司基线