我正在寻找以某种方式使用MSBuild构建的可能性,我可以在多个项目中使用一种配置。
以下是我要分享的配置:
<ItemGroup>
<MySourceFiles Include="$(TargetDir)\*.*"/>
</ItemGroup>
<Target Name="Prepare" BeforeTargets="BeforeBuild">
<Message Text="Preparing folders..." Importance="high" />
<MakeDir Directories="$(SolutionDir)Build\$(Configuration)" />
<MakeDir Directories="$(SolutionDir)Build\$(Configuration)\Plugins" />
<Message Text="Folders prepared..." Importance="high" />
</Target>
<Target Name="AfterBuild">
<Message Text="$(AssemblyName) - Copying output" Importance="high" />
<Copy SourceFiles="@(MySourceFiles)" DestinationFolder="$(SolutionDir)Build\$(Configuration)" SkipUnchangedFiles="false" />
<Message Text="$(AssemblyName) - Copying finished" Importance="high" />
</Target>
如你所见。它只需检查/创建 Build / Debug 文件夹并在那里复制所有编译的文件。我需要多个项目。
是否可以在某些外部xml或proj文件中加载配置并从那里加载它?我想在将来防止更新可能出现的问题。
感谢您的帮助
答案 0 :(得分:0)
您可以使用
<Import Project="myProj.targets">
在每个项目中,myProj.targets包含您显示的代码。
但是,引用ProjectDir
和喜欢而不是SolutionDir
可能更好,因为并非所有项目都有相应的解决方案,即使他们这样做,您也可能希望使用它们,就好像它们没有。无论如何,这样你的项目是独立的,不需要解决方案。