MSBuild, можно ли взять вывод UsingTask и использовать его в задаче копирования? - PullRequest
0 голосов
/ 09 апреля 2020

Учитывая: MSBuild, который поставляется с Visual Studio 2019
Я пытаюсь взять вывод из задачи кода и использовать его в CopyTask.

Справочник по встроенным задачам MSBuild Go

<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <!-- This simple inline task displays "Hello, world!" -->
  <UsingTask
    TaskName="HelloWorld"
    TaskFactory="CodeTaskFactory"
    AssemblyFile="$(MSBuildToolsPath)\Microsoft.Build.Tasks.Core.dll" >
    <ParameterGroup />
    <Task>
      <Reference Include="System.Xml"/>
      <Using Namespace="System"/>
      <Using Namespace="System.IO"/>
      <Code Type="Fragment" Language="cs">
<![CDATA[
// Display "Hello, world!"
Log.LogError("Hello, world!");
]]>
      </Code>
    </Task>
  </UsingTask>
</Project>

Каким-то образом взять вывод кода и поместить его в свойство, чтобы я мог использовать его в CopyTask?

  <Target Name="AfterBuild">
    <HelloWorld /> 
    <Copy SourceFiles="" DestinationFiles="<HelloWorld />"
  </Target>

1 Ответ

0 голосов
/ 09 апреля 2020

Благодарим @Joe Sewell за комментарии в OP.

Найден ответ:

Ссылка на статью Go

<UsingTask TaskName="Adder" TaskFactory="CodeTaskFactory" AssemblyFile="$(MSBuildToolsPath)\Microsoft.Build.Tasks.v4.0.dll" >
  <ParameterGroup>
    <A ParameterType="System.Int32" Required="true" />
    <B ParameterType="System.Int32" Required="true" />
    <C ParameterType="System.Int32" Output="true" />
  </ParameterGroup>
  <Task>
    <Code Type="Fragment" Language="cs">
      C = A + B;
    </Code>
  </Task>
</UsingTask>
<Target Name="TestBuild">
  <Adder A="4" B="5">
    <Output PropertyName="Sum" TaskParameter="C" />
  </Adder>
  <Message Text="The sum is $(Sum)" Importance="High" />
</Target>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...