2
假設我在解決方案中有3個cs項目,並且我將這個Common.props文件導入到所有3個csproj文件中。MSBuild如何傳遞參數來設置屬性值?
這是我的Common.props文件,將坐在解決方案級別,我的解決方案中的每個項目將導入此Common.props文件,我想弄清楚如何可以通過構建服務器上設置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>
你嘗試過谷歌搜索[C#傳遞參數的MSBuild(https://www.google。 com/search?q = c%23 +傳遞參數+ to + MSBuild&oq = c%23 +傳遞參數+ to + MSBuild&aqs = chrome..69i57j69i58.342j0j4&sourceid = chrome&es_sm = 122&ie = UTF-8) – MethodMan 2014-12-02 23:29:31
是的,我很困惑,不確定是否需要將csproj文件導入生成文件,然後設置此Externals屬性或i f我可以使用屬性開關/ p設置Externals屬性命令行?就像我之前說過的那樣,我讀的東西對我來說是100%的感覺。 – OutOFTouch 2014-12-03 00:02:55
你可以用/ p選項啓動msBuild來傳遞參數:MSBuild.exe/p:Externals =「c:\ Temp」 – Troopers 2014-12-03 10:25:20