我想要在构建中包含两个解决方案。解决方案二需要解决方案一中的dll才能成功构建。解决方案二有一个Binaries文件夹,在构建Solution 2之前需要复制解决方案一中的dll。
我一直在尝试AfterBuild Target,希望它会在第一个SolutionToBuild之后复制这些项目,但它不会触发。我猜它可能会在两个解决方案编译后解雇,但这不是我想要的。
<SolutionToBuild Include="$(BuildProjectFolderPath)/../../Main/Framework.sln">
<Targets>AfterCompileFramework</Targets>
<Properties></Properties>
</SolutionToBuild>
<SolutionToBuild Include="$(BuildProjectFolderPath)/../../../Dashboard/Main/Dashboard.sln">
<Targets></Targets>
<Properties></Properties>
</SolutionToBuild>
<ItemGroup>
<FrameworkBinaries Include="$(DropLocation)\$(BuildNumber)\Release\Framework.*.dll"/>
</ItemGroup>
<Message Text="FrameworkBinaries: @(FrameworkBinaries)" Importance="high"/>
<Copy SourceFiles="@(FrameworkBinaries)" DestinationFolder="$(BuildProjectFolderPath)/../../../Dashboard/Main/Binaries"/>
答案 0 :(得分:0)
将两个解决方案中的项目合并为一个解决方案,然后为依赖项目添加项目引用。现在可以自动复制装配体。
解决方案的主要原因是管理项目之间的构建依赖关系。
当我不想在一个项目上进行开发以影响另一个项目的开发时,我会使用两个解决方案。在这种情况下,我将手动复制解决方案一的输出,并根据需要将其作为解决方案二的依赖项进行检查。如果您希望将一个输出自动用作另一个输出,那么您最好只使用一个解决方案。