IDE0130 命名空间与文件夹结构不匹配警告

Posted

技术标签:

【中文标题】IDE0130 命名空间与文件夹结构不匹配警告【英文标题】:IDE0130 Namespace does not match folder structure warning 【发布时间】:2022-01-05 11:33:52 【问题描述】:

我收到此错误消息

警告 IDE0130 命名空间“StockPortal”与文件夹不匹配 结构,应为“StockPortal”。

但命名空间是正确的。有什么解决办法吗? 请同时参考下面的截图

【问题讨论】:

能否提供解决方案文件夹的文件夹结构? @Sasha 请参考附件截图。文件夹结构显示在解决方案资源管理器中 这似乎是一个解决方案结构。例如,我很好奇解决方案文件夹中的文件夹名称是否与项目/命名空间名称不匹配。 “StockPortal”和“StockPortal”的区别。最后是点,不清楚为什么会这样 是的,点就是区别。这就是我问这个问题的原因:) 【参考方案1】:

这只是一个警告,并要求用户将命名空间与相同的文件夹名称匹配。可以忽略此警告。建议使用与文件夹层次结构匹配的命名空间,以便轻松获取文件在文件夹结构中的位置。当用户使用 VS 模板在任何文件夹内创建新文件时,默认情况下会使用文件夹结构命名空间创建文件。推荐但可选。

在您的情况下,StockPortal 项目中没有名为 StockPortal 的文件夹,如果该文件位于 StockPortal 文件夹中并且您正在使用命名空间 StockPortal.StockPortal,则警告将消失。

购买Program.cs一般在源码根目录下。

【讨论】:

如果您注意到 program.cs 不在文件夹中。它在项目中。所以,我提到的命名空间是正确的。但是得到一个错误。这就是 program.cs 解决方案 -> StockPortal (project) -> program.cs 可用结构的方式 它会明智地搜索项目,因此期待 StockPortal 项目中的 StockPortal 文件夹。你可以验证 我创建了一个文件夹并添加了。得到相同的警告,然后将命名空间更改为 StockPortal.StockPortal 并且它成功了。但是我们不能使用这样的命名空间。很奇怪 @Ameer 正如我提到的,使用不同的命名空间是完全可以的。警告只是一个建议 谢谢,但如果有办法解决这个警告会更好。【参考方案2】:

这个问题我也有一段时间了。我安装了 .NET SDK 5.0.404 和 VS 2019、16.11.8、最新版本。

这里提到了:

https://github.com/dotnet/roslyn/issues/55014

这里:

https://github.com/edumserrano/dot-net-sdk-extensions/issues/73

问题(第一个)已关闭,但人们仍然遇到问题。

在修复之前,我通过将以下内容添加到项目文件中来解决它:

<Project ...>
    ...
    <PropertyGroup>
        ...
        <NoWarn>IDE0130</NoWarn>
        ...
    </PropertyGroup>
    ...
</Project>

希望在修复之前有所帮助。

【讨论】:

感谢您的回答。但是你隐藏了警告,当我问这个问题时我知道这种方法。隐藏不是解决方案,我是在问解决方案而不是隐藏警告, 好的。我不明白为什么当人们仍然遇到问题时问题github.com/dotnet/roslyn/issues/55014 被关闭了。但我很确定这是一个将被修复的“错误”。我的意思是,警告是不正确的。命名空间不能以点结尾。

以上是关于IDE0130 命名空间与文件夹结构不匹配警告的主要内容,如果未能解决你的问题,请参考以下文章

命名空间更改 - 找到与名为“Home”的控制器匹配的多种类型

thinkphp5学习——thinkphp5的目录结构与开发规范

XSLT 匹配和命名空间 [重复]

命名空间“Microsoft”中不存在类型或命名空间名“Reporting”(是否缺少程序集引用?)

Blazor:在 Razor 文件中定义命名空间

在 Visual Studio 2017 for MAC 中抑制命名规则冲突 IDE1006