MS Build中的Write lines to File任务是什么。我正在尝试为我继承的网站设置部署。我不熟悉MS Build内部。我甚至不确定这对所有项目是否是常见的事情,或者是否为该项目特别启用了某些内容。它是什么?
[Package] CallTarget(2s)
[17:10:43] [CallTarget] PackageUsingManifest(2s)
[17:10:45] [PackageUsingManifest] CallTarget
[17:10:45] [CallTarget] GenerateSampleDeployScript
[17:10:45] [GenerateSampleDeployScript] WriteLinesToFile
[17:10:45] [WriteLinesToFile] C:\ Program Files(x86)\ MSBuild \ Microsoft \ VisualStudio \ v10.0 \ Web \ Microsoft.Web.Publishing.targets(3025,23):错误MSB4064:“编码“WriteLinesToFile”任务不支持“参数”。验证任务上是否存在参数,它是可设置的公共实例属性
[17:10:45] [WriteLinesToFile] C:\ Program Files(x86)\ MSBuild \ Microsoft \ VisualStudio \ v10.0 \ Web \ Microsoft.Web.Publishing.targets(3023,5):错误MSB4063:“WriteLinesToFile “无法使用输入参数初始化任务。
答案 0 :(得分:4)
看起来你正在构建.Net 2.0或者至少使用2.0版本的buildtools。您的脚本取决于4.0 msbuild工具版本。
只有WriteLinesToFile的4.0版本具有编码属性。
在Visual Studio中转到Project属性(菜单Project> Project name properties ..),在应用程序选项卡上检查targetFramework为4.0
如果您building from the commandline添加/tv:4.0设置。
答案 1 :(得分:0)
Rene的精彩回答 - 今天救了我的命... :)
在Project标题中强制toolversion也有效:
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"
ToolsVersion="12.0">