3 回答
TA贡献1890条经验 获得超9个赞
根据您提供的错误消息:
Error CS0118: 'Auto' is a namespace but is used like a type (34, 27)
您似乎有一个名为Auto. 想象以下示例:
namespace MyApp.Auto
{
class Test
{
}
}
namespace MyApp
{
class Auto
{
}
class MyTest
{
private Auto test;
}
}
因为您可以从MyApp命名空间中看到一个名为的类Auto和一个名为Auto(namespace MyApp.Auto或者简单地namespace Auto)的命名空间,所以 C# 不确定您想要哪个。因此,它迫使您在选择其中一个时具体化。
最简单的解决方案是将MyApp.Auto命名空间更改为其他名称。
TA贡献2011条经验 获得超2个赞
问题似乎与 VS2017 或它第一次创建项目的方式有关。
在启动全新项目(ASP Core 2.2,Web API,启用 https 并禁用 docker)并使用相同的类时,问题不存在。
TA贡献1828条经验 获得超4个赞
这不是解决方法,而是用正确的代码示例(以及原因)进行解释。
namespace Mini.Models
{
public class Auto
{
// code and stuff
}
}
namespace Mini.Models
{
public class Airplane
{
// code and stuff
}
}
namespace Mini.Auto
{
public class OtherAirplane
{
// code and stuff
}
}
namespace Mini
{
using Mini.Models;
using namespaceAuto = Auto ; /// this also not fix the issue.
class NamespaceIssue
{
void execute()
{
var autoObject = new Auto(); // Error
var planeObject = new Airplane(); // Same folder but not referencing Models in front of it
// other code
}
}
}
现在你可以看到一些在你有“Mini.Auto”命名空间的代码中,这是沙发问题。
我测试了 VS 2015 有同样的问题。也许我们必须向 VS 团队报告,或者这是设计使然。
- 3 回答
- 0 关注
- 169 浏览
添加回答
举报