Próbuję zautomatyzować proces folderu wyjścia projektów, w tej chwili piszę te linie dla każdego projektu, który używa mojej strony:

<Target Name="BuildPlugin" BeforeTargets="Build">
  <MSBuild Projects="..\Module.Products\Module.Products.csproj" Targets="Publish" Properties="Configuration=$(Configuration);PublishDir=$(OutputPath)/plugins/Module.Products" />
  <MSBuild Projects="..\Module.Sales\Module.Sales.csproj" Targets="Publish" Properties="Configuration=$(Configuration);PublishDir=$(OutputPath)/plugins/Module.Sales" />     
</Target>

Czy jest jakiś sposób, jaki mogę zautomatyzować, aby wyszukać moduł. * I używać we wszystkich tych miejscach, w których powtarza się nazwa? Jest to samodzielny projekt.

1
AdrianoAE 17 grudzień 2019, 00:50

1 odpowiedź

Najlepsza odpowiedź

Tak! Po prostu wykonaj przedmioty, a następnie iteres nad nimi, wykorzystując swoje metadane (https://docs.Microsoft.com/en-us/visualStudio/msbuild/msbuild-well-known-item-metadata). Coś takiego (przepraszam za wszelkie błędy - wpisując to na telefonie).

<Target Name="BuildPlugin" BeforeTargets="Build">
  <ItemGroup>
    <ProjectFiles Include="..\*\*.csproj" />
  </ItemGroup>
  <MSBuild Projects="%(ProjectFiles.Identity)" Targets="Publish" Properties="Configuration=$(Configuration);PublishDir=$(OutputPath)/plugins/%(ProjectFiles.Filename)" />
 </Target>
0
weir 6 styczeń 2020, 03:55