【问题标题】:Ho to add project to all solution projects except itself?如何将项目添加到除自身之外的所有解决方案项目?
【发布时间】:2022-01-02 10:03:33
【问题描述】:

我的解决方案中有分析器项目。

我也使用Directory.Build.props 文件。

我想通过所有项目(分析器及其测试除外)引用分析器项目。

我可以使用什么条件?可以得到referencing project吗?

【问题讨论】:

  • 您可以使用正在构建的项目$(MSBuildProjectFile),但这不是超级通用的(尽管对于您的情况可能没问题);另一种方法是找出哪个属性将分析器项目与另一个项目区分开来,另一方面,该属性可能在 Directory.build.props 中尚不可用,因为它被提前导入

标签: c# msbuild roslyn-code-analysis


【解决方案1】:

感谢 stijn 评论,我找到了解决方案:

    <ItemGroup>
        <ProjectReference 
          Include="..\Analyzers\GlobalAnalyzers\GlobalAnalyzers.csproj" 
          Condition="!$(MSBuildProjectDirectoryNoRoot.Contains('Analyzers/'))">
            <PrivateAssets>all</PrivateAssets>
            <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
            <OutputItemType>Analyzer</OutputItemType>
        </ProjectReference>
    </ItemGroup>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-18
    • 2017-07-11
    相关资源
    最近更新 更多