.NET Core MSTest执行失败:路径包含非法字符
解决.NET Core MSTest运行时“Illegal characters in path”错误
我之前碰到过完全一样的问题!这个报错的核心原因几乎都是项目放在OneDrive同步目录下导致的——OneDrive的同步机制或者路径里的空格/潜在特殊字符,会让Visual Studio的测试运行器在解析路径时触发非法字符异常。
给你几个实测有效的解决办法:
- 最直接的方案:把你的
Thing.Tests项目(连同对应的主项目)从OneDrive文件夹移到本地非同步的路径,比如C:\Users\james\Documents\Visual Studio 2017\Projects(避开OneDrive的同步目录)。移动完成后重新打开项目,再尝试运行测试,大概率就能正常执行了。 - 如果不想移动项目,可以清理测试缓存试试:
- 关闭Visual Studio
- 删除测试项目目录下的
bin和obj文件夹 - 重新打开项目,右键点击测试项目,依次选择「清理」→「生成」,之后再运行测试
- 额外检查:确认项目路径里有没有除空格之外的其他非法字符(比如中文、
&、*这类特殊符号),如果有的话,重命名对应的文件夹去掉这些字符。
我当时就是把项目移出OneDrive后,测试立刻就能正常运行了,你可以先试试第一个方案!
内容的提问来源于stack exchange,提问作者James Esh




