2012-03-26 3 views
2

Im пытаюсь построить мои плагины, которые сидят в отдельной директории в корне.Build Все проекты в каталоге

<ItemGroup> 
    <PluginProjectFiles Include="$(MSBuildStartupDirectory)..\..\Plugins\**\*.csproj"/> 
    </ItemGroup> 
    <Target Name="BuildPlugins"> 
    <MSBuild Projects="@(PluginProjectFiles)" Targets="Clean;Build" Properties="Configuration=Release" /> 
    <Message Text="Dir: $(MSBuildStartupDirectory)" /> 
    </Target> 

Хотя имейте проблемы. Моя сборка запускает цель «BuildPlugin», но не создает мои файлы проекта. Я действительно не хочу создавать каждый проект отдельно, если я могу его избежать.

Любые идеи были бы замечательными. Спасибо,

ответ

2

См. Мою резолюцию ниже.

<PropertyGroup> 
    <SrcFolder>$(MSBuildProjectDirectory)\..\..</SrcFolder> 
    </PropertyGroup> 
    <ItemGroup> 
    <PluginProjectsFiles Include="$(SrcFolder)\Plugins\Plugin.*\*.csproj" /> 
    </ItemGroup> 
    <Target Name="BuildPlugins"> 
    <Message Text="Building Plugins" /> 
    <MSBuild Projects="@(PluginProjectsFiles)" Targets="Clean;Build" Properties="Configuration=Release" /> 
    <Message Text="Plugins Built" /> 
    </Target> 

Затем я изменил приписывать мои DependsOnTargets на моей основной цели построения для моей цели "BuildPlugins. Надеюсь, это помогает кому-то, поскольку это вызывает у меня значительную боль.