gpt4 book ai didi

c# - MSBuild如何传递一个参数来设置一个属性值?

转载 作者:行者123 更新时间:2023-11-30 13:56:32 26 4
gpt4 key购买 nike

假设我在一个解决方案中有 3 个 cs 项目,并且我在所有 3 个 csproj 文件中导入了这个 Common.props 文件。

这是我的位于解决方案级别的 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>

最佳答案

使用/p 选项启动 msBuild 以传递参数:

MSBuild.exe /p:Externals="c:\Temp"

MsBuild command line reference

关于c# - MSBuild如何传递一个参数来设置一个属性值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27260877/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com