0

什么是 MS Build 中的 Write Lines to File 任务。我正在尝试为我继承的网站设置部署。我对 MS Build 内部结构不是很熟悉。我什至不确定这是否是所有项目的共同点,或者是否为该项目专门启用了某些东西。它是什么?

[包] 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”任务不支持“Encoding”参数。验证该参数是否存在于任务中,并且它是一个可设置的公共实例属性。
[17:10:45][WriteLinesToFile] C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v10.0\Web\Microsoft.Web.Publishing.targets(3023, 5):错误 MSB4063:“WriteLinesToFile " 无法使用其输入参数初始化任务。

4

2 回答 2

4

看起来您正在为 .Net 2.0 或至少使用 2.0 版本的 buildtools 构建。您的脚本取决于 4.0 msbuild 工具版本。

只有 4.0 版本的WriteLinesToFile具有编码属性。

在 Visual Studio 中转到项目属性(菜单项目 > 项目名称属性..),在应用程序选项卡上检查 targetFramework 为 4.0

如果您从命令行构建,请添加 /tv:4.0 设置。

于 2012-08-29T07:25:34.363 回答
0

Rene 的回答很好——它今天救了我的命 :)

在项目标题中强制工具版本也有效:

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

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

于 2015-04-16T16:30:05.140 回答