如何将项目添加到除自身之外的所有解决方案项目?
Posted
技术标签:
【中文标题】如何将项目添加到除自身之外的所有解决方案项目?【英文标题】: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 中尚不可用,因为它被提前导入
【参考方案1】:
感谢 stijn 评论,我找到了解决方案:
<ItemGroup>
<ProjectReference
Include="..\Analyzers\GlobalAnalyzers\GlobalAnalyzers.csproj"
Condition="!$(MSBuildProjectDirectoryNoRoot.Contains('Analyzers/'))">
<PrivateAssets>all</PrivateAssets>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
<OutputItemType>Analyzer</OutputItemType>
</ProjectReference>
</ItemGroup>
【讨论】:
以上是关于如何将项目添加到除自身之外的所有解决方案项目?的主要内容,如果未能解决你的问题,请参考以下文章
将 TapGestureRecognizer 添加到除 UICollectionView 单元格之外的整个视图
apache htaccess 不会将 https://www 添加到除 inside.php 之外的任何页面