命名空间..已经包含了一个定义

时间:2019-01-10 21:01:16

标签: c# .net visual-studio-2017 azure-functions

即使我仅定义了1个OnUnzipHttpTriggered,为什么也会出现此异常?

enter image description here

我进行了全局搜索:

enter image description here

它表明实际上我只定义了以下类之一:

enter image description here

我尝试过的事情:

  1. 重建
  2. 重新启动Visual Studio
  3. 签入代码并获取最新

我为什么会收到此例外?

这是我的VS信息:

enter image description here

2 个答案:

答案 0 :(得分:2)

看看搜索中的 first 结果。它非常清楚地表明DestinationFileNamer.cs具有名称空间AlidadeUtilities.OnUnzipHttpTriggered.Extensions。这就是问题所在,因为该文件的名称空间的类和类(一部分)都是AlidadeUtilities.OnUnzipHttpTriggered

在与类所在的名称空间相同的类中,类的名称不能与名称空间相同。

顺便提一句:以 On 开头的任何内容听起来都像事件处理程序一样。请重新考虑名称。

编辑:

您要创建的类的全名是:
AlidadeUtilities.OnUnzipHttpTriggered

DestinationFileNamer的命名空间是这样的: AlidadeUtilities.OnUnzipHttpTriggered 。扩展

您的问题是这两个粗体部分相同

解决方案:
解决方案是重命名类OnUnzipHttpTriggered或重命名命名空间AlidadeUtilities.OnUnzipHttpTriggered**.Extensions

答案 1 :(得分:1)

找到问题的其他方法:

  1. 生成类图并对其进行检查
  2. 注释该类并检查代码以获取其他引用
  3. 使用查找工具在代码库中查找此符号。我使用AstroGrep。

您可能还具有带有相同扩展名方法的已编译dll(添加的参考)。在这种情况下,您将不得不给您的班别打电话。