【问题标题】:MS Build Write Lines to FileMSBuild 将行写入文件
【发布时间】:2012-08-28 21:30:53
【问题描述】:

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

【问题讨论】:

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


    【解决方案1】:

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

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

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

    如果您是 building from the commandline,请添加 /tv:4.0 设置。

    【讨论】:

      【解决方案2】:

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

      在项目标题中强制工具版本也可以:

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

      见:https://msdn.microsoft.com/en-us/library/bb383985.aspx

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-03-02
        • 1970-01-01
        • 1970-01-01
        • 2012-01-19
        • 2016-03-02
        相关资源
        最近更新 更多