MSBuild - 带有 *name 到输出文件夹的项目

MSBuild - Projects with *name to output folder

我正在尝试使某些项目输出文件夹的过程自动化,目前我正在为我的网站使用的每个项目编写这些行:

<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>

有什么方法可以自动搜索 Module.* 并在所有重复名称的地方使用?这是一个独立的项目。

是的!只需制作项目,然后在利用它们的元数据 (https://docs.microsoft.com/en-us/visualstudio/msbuild/msbuild-well-known-item-metadata) 的同时迭代它们。像这样的东西(对任何错误表示歉意 - 在 phone 上输入)。

<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>