假设我在一个解决方案中有3个cs项目,并在这3个csproj文件中导入了Common.props文件。
以下是我的Common.props文件,它将位于解决方案级别,解决方案中的每个项目都将导入此Common.props文件。我试图弄清楚如何通过命令行设置Build服务器上的Externals属性,并调用一个也位于解决方案级别的自定义CI.Build文件。对于MSBuild来说,这很新颖,我搜索了各种答案,但没有找到100%符合我的意愿的解释。
以下是我的Common.props文件,它将位于解决方案级别,解决方案中的每个项目都将导入此Common.props文件。我试图弄清楚如何通过命令行设置Build服务器上的Externals属性,并调用一个也位于解决方案级别的自定义CI.Build文件。对于MSBuild来说,这很新颖,我搜索了各种答案,但没有找到100%符合我的意愿的解释。
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" DefaultTargets="Build">
<PropertyGroup>
<Externals Condition="'$(Externals)'==''">..\..\..\Externals\</Externals>
</PropertyGroup>
<ItemGroup>
<ThirdPartyLibs Include="$(OutputPath)\*.dll" />
</ItemGroup>
<Target Name="BeforeResolveReferences">
<PropertyGroup>
<AssemblySearchPaths>$(Externals);$(AssemblySearchPaths)</AssemblySearchPaths>
</PropertyGroup>
</Target>
<Target Name="BeforeBuild">
<Message Text="$(Externals)"></Message>
</Target>
<Target Name="AfterBuild">
<Message Text="After Build______"></Message>
</Target>
<Target Name="CleanDlls" AfterTargets="Clean">
<Delete Files="@(ThirdPartyLibs)"></Delete>
</Target>
</Project>