MS构建将行写入文件

时间:2012-08-28 21:30:53

标签: .net-4.0 msbuild msbuild-task msbuild-4.0

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 “无法使用输入参数初始化任务。

2 个答案:

答案 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">

请参阅:https://msdn.microsoft.com/en-us/library/bb383985.aspx