首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MSBuild ItemGroup Condition项目参考

MSBuild ItemGroup Condition项目参考
EN

Stack Overflow用户
提问于 2021-06-09 18:47:09
回答 1查看 59关注 0票数 0

我正在尝试根据ItemGroup条件中的值包括项目引用

这就是我尝试过的。使用BeforeTargets Compile时,它可以识别项目,但不允许我构建项目。

代码语言:javascript
复制
<Target Name="ErpSystemToUse" BeforeTargets="Compile">
    <ReadLinesFromFile File="$(MSBuildProjectDirectory)\..\..\Presentation\Nop.Web\App_Data\erpSystemToUse.txt">
        <Output TaskParameter="Lines" ItemName="ValueTextFile" />
    </ReadLinesFromFile>
    <Message Text="@(ValueTextFile)" Importance="high" />

    <ItemGroup Condition="'@(ValueTextFile)' == 'Twinfield'">
        <ProjectReference Include="..\..\Dimerce.Twinfield\Dimerce.Plugin.Misc.Twinfield\Dimerce.Plugin.Misc.Twinfield.csproj" />
    </ItemGroup>
</Target>

我想要实现的目标有可能实现吗?

EN

回答 1

Stack Overflow用户

发布于 2021-06-10 09:50:32

我有一个项目,我必须检查System.Reflection.Emit的输出。决定仅在定义了适当的常量时才包含包引用

主要不同之处在于,目标在CollectPackageReferences之前执行。尝试更改BeforeTargets

还可以使用InputsOutputs来减少构建时间

代码语言:javascript
复制
  <Target Name="IncludeIlPackReference"
          Inputs="$(DefineConstants)" Outputs="@(PackageReference)"
          BeforeTargets="CollectPackageReferences"
          Condition="$(DefineConstants.Contains('TRACE_GENERATED_IL'))">
    <ItemGroup>
      <PackageReference Include="Lokad.ILPack" Version="0.1.6" />
    </ItemGroup>
  </Target>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67902648

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档