У меня есть ItemGroup
, определенный как:
<ItemGroup>
<ProtoFiles Include="Protos\*.proto"/>
</ItemGroup>
. Он выдает список всех .proto файлов в каталоге моего проекта.Я хочу, чтобы каждый элемент в группе содержал часть метаданных, в которой указано имя файла, который будет сгенерирован на основе файла .proto .Я знаю, что могу сделать это:
<ItemGroup>
<ProtoFiles Include="Protos\*.proto">
<OutputFile>%(ProtoFiles.Filename).cs</OutputFile>
</ProtoFiles>
</ItemGroup>
Но моя проблема в том, что это не простое сопоставление имени файла .proto для вывода имени файла.Тут есть какая-то хитрая логика, которую мне нужно где-то инкапсулировать и вызывать при назначении метаданных.Мне нужно что-то вроде:
<ItemGroup>
<ProtoFiles Include="Protos\*.proto">
<OutputFile><GetOutputFilename ProtoFilename="%(ProtoFiles.Filename)"/></OutputFile>
</ProtoFiles>
</ItemGroup>
Идея заключается в том, что моя пользовательская задача GetOutputFilename
будет вызвана для получения значения метаданных.
Возможно ли это?Я лаю не на том дереве?