我有一个.Net / C#解决方案,其中包含两个项目:
单元测试项目引用Web项目,并使用测试框架对其执行一些单元测试。
在Visual Studio 2017中,所有这些构建都完美运行,web api运行完美,我的单元测试也是如此。
当我来构建是通过命令行(本地或自己的构建服务器)使用MSBuild时,单元测试项目报告......
错误CS0103:当前上下文中不存在名称“WebApi”[c:\ Code \ UnitTests.csproj]
......根本找不到WebApi项目!
两个项目都配置为.Net V4.5.2和“任何CPU”。
我尝试了各种各样的方法:
我正在使用
构建它们c:\ Program Files(x86)\ MSBuild \ 14.0 \ Bin \ msbuild.exe“C:\ Code \ MyProject.sln / t:Rebuild / p:Configuration = Release
此外,单元测试项目可以毫无问题地引用其他.Net类库和其他ASP.NET Web API项目,因此它必须与ASP.NET Web API项目而不是单元测试项目本身有关。
我注意到当msbuild编译单元测试项目时,它会显示 csc.exe 编译部分的命令行,它将包含对其他项目的所有引用,但从不包括Web API项目,因此msbuild必须:
更新:Web API项目已于2 - 3年前添加到解决方案中(可能是VS2013 / 5),但本周使用VS 2017添加了单元测试项目,但我也尝试了VS2015并出现了相同的错误。
还有其他想法吗?