错误 CS7069:对类型“x”的引用声称它在“y”中定义,但找不到;MSBuild 14

Jos*_*822 6 c# visual-studio visual-studio-2017

我在 Visual Studio 2017 中遇到了一个奇怪的问题。最近我们内部 nuget 包的变化将一个在扩展中使用的类移动到另一个项目/包,但命名空间没有改变。在另一个解决方案中更新新包后,扩展方法开始抛出编译错误。

“对类型 'x' 的引用声称它在 'y' 中定义,但找不到它”

我可以通过更改扩展方法以用作静态调用、使用 Visual Studio 2013 或让 resharper 构建使用 msbuild 12(14 和 15 抛出相同的错误)来获得要构建的解决方案。

我尝试过清除缓存、删除包和恢复、重新启动所有内容以及在单独的文件夹中重新结帐。还查看了其他有相同错误的问题,但他们提到的没有任何效果。

我确实计划让移动课程的团队修复命名空间以匹配项目,但需要几周时间才能完成。

前任:

//In project Company.Auto 
namespace Company.Auto.Extensions
{
   using System;

   public static class Cars
   {
       public static IDictionary<string, Car> DoStuff(this Car car)
       {
       }
   }
}

//Moved to project Company.Stuff.Something.Documents
namespace Company.Auto.Domain
{
   using System;

   public class Car
   {

   }
}
Run Code Online (Sandbox Code Playgroud)

小智 0

我遇到了同样的问题,我单独重建了有问题的应用程序引用的每个库,这似乎已经解决了问题。似乎是某种缓存问题。