msbuild - 如何在 MSBuild 中默认任务参数

标签 msbuild

在 mytask.targets 中,我有类似的东西:

<UsingTask TaskName="DoStuff" AssemblyFile="....etc....."/>
<PropertyGroup>
  <RequiredParamDefault>hello</RequiredParamDefault>
</PropertyGroup>

此任务当前有一个必需参数(如有必要,可以从必需参数更改)。

任务使用时:

<DoStuff RequiredParam="$(RequiredParamDefault)" OtherParam="wobble"/>

目前,每次都必须指定 RequiredParam。无论如何,当定义 UsingTask 时,是否可以设置默认值,这样就不必在每次使用 DoStuff 时都指定它?

我知道默认值可以硬编码在程序集中,但我希望能够使用不同的 UsingTask 语句定义不同的默认值。

谢谢。

最佳答案

您不能在 UsingTask 或 Task 中执行此操作,但您可以使用传递给任务的属性。例如。

<Target>
    <PropertyGroup>
        <ReqParam Condition=" '$(ReqParam)'=='' ">Param-Default-Value</ReqParam>
    </PropertyGroup>

    <DoStuff RequiredParam="$(ReqParam)" OtherParam="wobble"/>
</Target>

在这种情况下,我将属性 ReqParam 定义为 Param-Default-Value 仅当该属性还没有值时。这不是您要找的东西,但它可能是您的最佳选择,除非您可以更改任务本身。

关于msbuild - 如何在 MSBuild 中默认任务参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2959854/

相关文章:

.net - 在 Dev 和 Jenkins 机器之间使用不同版本的 MSBUILD.exe

c# - 什么决定了在 msbuild 过程中使用哪个版本的 Typescript?

c# - 引用的库未被复制

c# - 使用 MSBuild 在 Jenkins 中构建 .net 应用程序

msbuild - 更改 msbuild.exe 的工作目录

c# - 创建 msbuild 脚本以使用指定的 app.config 进行构建、发布以及从不同位置进行更新

linux - 如何在 Mac 或 Linux 上的 .NET Core 上构建多目标解决方案?

c# - 使用给定的用户名在远程机器上安装 Windows 服务

git - 如何在我的PS脚本中获取Git commit哈希?

c# - 分配从 MSBuild 中的属性获取的参数值