Это здорово. Я хотел, чтобы файл целей был в проекте, поэтому я сделал это, чтобы получить $ TargetsPath в установке: $ fileInfo = new-object -typename System.IO.FileInfo -ArgumentList $ Project.FullName; $ projectDirectory = $ fileInfo.DirectoryName; $ TargetsFile = 'solutionBinFilesForAdmincenter.targets; $ TargetsPath = $ projectDirectory | Join-Path -ChildPath $ TargetsFile

у создать пакет nuget, который добавляет шаг BeforeBuild к моему csproj, используя пользовательскую задачу MSBuild, которую я создал. В идеале я хочу:

Добавьте новую цель в файл csproj (MyCustomBeforeBuildTarget)Добавьте цель BeforeBuild, если ее там еще нетОтредактируйте атрибут BeforeBuild DependsOnTargets, чтобы включить мою пользовательскую цель

Поэтому после установки мой csproj должен иметь следующее:

<Target Name="MyCustomBeforeBuildTarget" Condition="SomeCondition">
     <MyCustomTask />
</Target>
<Target Name="BeforeBuild" DependsOnTargets="MyCustomBeforeBuildTarget">

</Target>

Также было бы неплохо, чтобы при удалении моего пакета пользовательская цель тоже исчезала, хотя я добавил условие, которое должно заставить ее игнорировать цель, если моя библиотека пользовательских задач отсутствует.

Какой самый простой скрипт установки Powershell nuget, который я могу написать, добавит мою собственную цель? У меня такое ощущение, что скрипты PowerShellВот может быть частью решения, но у меня недостаточно опыта PowerShell, чтобы знать, как на самом деле использовать их для редактирования csproj.

Ответы на вопрос(2)

Ваш ответ на вопрос