Ну, я нашел решение. Мое отсутствие понимания в отношении руководства , которое я читал, и процесс сборки означал, что я не задавал правильные вопросы.
У меня была указана эта цель сборки в моем .csproj (как указано вруководство):
<Target Name="NSwag" BeforeTargets="PrepareForBuild" Condition="'$(GenerateCode)'=='True' ">
<Exec Command="$(NSwagExe_Core22) run nswag.json /variables:Configuration=$(Configuration)" />
</Target>
Эта цель выполнялась для каждой целевой структуры , указанной в моем теге <TargetFrameworks>
. Это была задача, которая выполнялась параллельно самой себе и вызывала ошибку в моем вопросе.
После МНОГО поиска в Google я нашел этот вопрос и (следовательно этот ответ ), который дал мне необходимое решение:
В многоцелевых средах я использую BeforeTargets="DispatchToInnerBuilds"
, поэтому моя пользовательская команда запускается только один раз перед каждой сборкой
Такмоя конечная цель сборки была такой простой:
<Target Name="NSwag" BeforeTargets="DispatchToInnerBuilds" Condition="'$(GenerateCode)'=='True' ">
<Exec Command="$(NSwagExe_Core22) run nswag.json /variables:Configuration=$(Configuration)" />
</Target>
Следует также отметить, что это решение может работать не для всех людей, которые ищут свои цели сборки для запуска один раз за сборку. См. комментарий к этой проблеме , который дает аналогичный ответ, но с более подробной информацией о многопроектных решениях.