gpt4 book ai didi

vb.net - 从项目引用中获取类型出现在智能感知中的问题

转载 作者:行者123 更新时间:2023-12-04 17:05:10 25 4
gpt4 key购买 nike

我收到一个编译器错误,指出未定义“Acme.Business.User”。

我有一个名为“Acme.Business”的类库项目,它以“Acme.Business”作为程序集名称和根命名空间。没有一个类使用“Namespace”关键字,所以它们都应该存在于命名空间“Acme.Business”中。

我还有一个名为“Acme.Web”的类库项目,它有一个对“Acme.Business”的项目引用。同样,“Acme.Web”是项目名称、程序集名称和根命名空间。

这是奇怪的部分。如果我向“Acme.Web”添加一个类,我可以输入“Imports Acme”。在顶部,看到两个命名空间都像您期望的那样出现在智能感知中,但是如果我尝试执行“Dim x as New Acme.Business.User”,那么智能感知中不会显示“业务”,并且我收到一条错误消息“Acme.Business.User”未定义。

我看不出我做错了什么!请帮忙。谢谢。

最佳答案

我认为您可能误解了项目默认命名空间的工作方式。默认命名空间是一个项目文件设置,它只是告诉 Visual Studio 在向项目添加新类文件时要向每个文件添加什么命名空间。如果您已经从代码文件中删除了所有这些命名空间,那么该命名空间中就不存在您的类型。

这意味着 Acme.Business 程序集中的所有类型都位于全局命名空间中,这可能不是您想要的。为了获得所需的行为,您需要将命名空间重新添加到代码文件中,因为这是编译器使用该命名空间创建类型名称的唯一方法。

关于vb.net - 从项目引用中获取类型出现在智能感知中的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/562027/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com