【问题标题】:Error CS7069: Reference to type 'x' claims it is defined in 'y', but it could not be found; MSBuild 14错误 CS7069:对类型“x”的引用声称它在“y”中定义,但找不到;微软构建 14
【发布时间】:2018-04-11 16:09:10
【问题描述】:

我在 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
   {

   }
}

【问题讨论】:

    标签: c# visual-studio visual-studio-2017


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-01
      • 2018-11-23
      • 2018-09-12
      • 2018-10-21
      相关资源
      最近更新 更多