SolutionFilterBuilder 1.0.3
dotnet tool install --global SolutionFilterBuilder --version 1.0.3
此包包含一个可以从 shell/命令行调用的 .NET 工具。
dotnet new tool-manifest # if you are setting up this repo dotnet tool install --local SolutionFilterBuilder --version 1.0.3
此包包含一个可以从 shell/命令行调用的 .NET 工具。
#tool dotnet:?package=SolutionFilterBuilder&version=1.0.3
NuGet 团队不提供对该客户端的支持。请联系 维护人员 以获得支持。
nuke :add-package SolutionFilterBuilder --version 1.0.3
NuGet 团队不提供对该客户端的支持。请联系 维护人员 以获得支持。
SolutionFilterBuilder
SolutionFilterBuilder 是一个用于从 Visual Studio 解决方案创建解决方案过滤器的 DotNet 工具,由 MSBuild 项目属性控制。
轻松创建解决方案过滤器,以避免加载不必要的文件,并随时更新过滤器以反映解决方案的变化。
该工具使用 MSBuild 逻辑来控制哪些项目应包含在过滤器中,为您提供了高级别的灵活性。
所有将属性 IncludeInSolutionFilter
设置为 true
的项目都包含在指定的过滤器中,以及它们的所有引用项目。还提供了一个 SolutionFilterName
属性,以便能够根据过滤器名称编写 MSBuild 条件。
您可以通过将 IncludeInSolutionFilter
属性添加到项目文件中为单个项目标记。
- 在任何过滤器中包含项目和所有引用
<IncludeInSolutionFilter>true</IncludeInSolutionFilter>
- 仅当过滤器名称为
Setup.slnf
时包含项目
<IncludeInSolutionFilter Condition="'$(SolutionFilterName)'=='Setup'">true</IncludeInSolutionFilter>
您可以通过在 Directory.Build.targets 文件中添加条件属性来约定地包含多个项目
- 在
Test.slnf
中包含所有测试项目
<IncludeInSolutionFilter Condition="'$(IncludeInSolutionFilter)'=='' AND '$(IsTestProject)'=='True' AND '$(SolutionFilterName)'=='Test'">true</IncludeInSolutionFilter>
- 在
Something.slnf
中包含所有以Something
结尾的项目
<_IsSomeProject>$(MSBuildProjectName.ToUpperInvariant().EndsWith("SOMETHING"))</_IsSomeProject>
<IncludeInSolutionFilter Condition="'$(IncludeInSolutionFilter)'=='' AND $(_IsSomeProject) AND '$(SolutionFilterName)'=='Something'">true</IncludeInSolutionFilter>
- 在
Apps.slnf
中包含所有可执行文件
<IncludeInSolutionFilter Condition="'$(IncludeInSolutionFilter)'=='' AND '$(OutputType)'=='Exe' AND '$(IsTestProject)'!='true' AND '$(SolutionFilterName)'=='Apps'">true</IncludeInSolutionFilter>
安装
dotnet tool install solutionfilterbuilder -g
用法
build-slnf [options]
选项
-i, --input <input> The path to the solution file that is the source for the filter.
If no solution is specified, it tries to find a single one in the current directory.
-o, --output <output> (REQUIRED) The name of the solution filter that is created.
An existing file will be overwritten without confirmation.
--version Show version information
-?, -h, --help Show help and usage information
示例
从当前目录的解决方案构建解决方案过滤器 Test.sln
。
build-slnf -o Test
产品 | 版本 兼容的和额外的计算目标框架版本。 |
---|---|
.NET | net8.0兼容。 net8.0-android已计算。 net8.0-browser已计算。 net8.0-ios已计算。 net8.0-maccatalyst已计算。 net8.0-macos已计算。 net8.0-tvos已计算。 net8.0-windows已计算。 |
此包无依赖项。