如何修改dotnet test的工作目录,使其在项目根目录运行?
解决dotnet test默认在bin目录运行的问题
有效配置方案
你之前尝试的几个配置项对dotnet test命令不生效,是因为这些配置大多针对VS调试或特定运行场景,而非命令行测试工具。以下是两种可行方法:
方法1:通过.csproj配置指定工作目录
在项目的.csproj文件中添加专门针对测试运行的TestRunWorkingDirectory属性:
<PropertyGroup> <TestRunWorkingDirectory>$(MSBuildProjectDirectory)</TestRunWorkingDirectory> </PropertyGroup>
$(MSBuildProjectDirectory)会自动指向项目根目录,无需硬编码路径。
方法2:命令行参数指定
执行dotnet test时直接通过--working-directory参数指定根目录:
dotnet test --working-directory .
也可以用绝对路径确保准确性:
dotnet test --working-directory /path/to/your/project/root
之前配置不生效的原因
RunWorkingDirectory:仅用于VS的调试启动配置,不作用于测试运行工具。launchSettings.json:仅针对dotnet run这类项目启动场景,不影响dotnet test命令。.runsettings里的SolutionDirectory:该配置是指定解决方案目录,并非测试执行的工作目录,且即便通过--settings参数加载配置,也无法直接修改测试工作目录。
内容的提问来源于stack exchange,提问作者ja2142
相关产品推荐
相关产品推荐

