gpt4 book ai didi

visual-studio - 命名空间浏览在工具和导入中正常工作,但在代码窗口中不能正常工作(导入行除外)

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

我发布了这个问题,但仍然没有得到答案,所以我想我会链接到该问题的以下视频文件...抱歉,我尝试了 upload the video到videos.yahoo.com 但降级的视频无法观看。所以这里是一个 direct link to the avi file托管在我的网站上。

问题总结
我有一个控件项目...GoodMins.MeetingMgr.Winforms.Controls。
它有一个对 GoodMins.MeetingMgr.BizObjects 的项目引用。
在 GoodMins.MeetingMgr.Winforms.Control 的任何代码文件中,我都可以
*添加一个导入到 GoodMins.MeetingMgr.BizObjects 并且智能感知成功浏览命名空间路径。
*在同一个文件中 CLASS 声明中,我无法再成功浏览 GoodMins.MeetingMgr.BizObjects 命名空间。
*但我可以浏览 MeetingMgr.BizObjects(它应该是一个无效的命名空间)。它没有找到根 GoodMins 命名空间。

问题是,当我对设计器中的文件进行更改时……visual studio 会重新生成设计器文件中的代码并使用正确的命名空间。但是会出现编译错误,因为 Visual Studio 无法识别该命名空间。

帮助...今晚我花了大约 3 个小时来解决这个问题,但无济于事。

有更多细节的老问题。

问题

我刚刚注意到我的项目中有一些奇怪的东西导致了一些编译时问题。如果您想深入了解问题的底线,请阅读问题底部的粗体文本。阅读所有行为细节。

我有控件项目,在该项目中我引用了另一个 bizobjects 项目。

我使用我的控件项目的数据源 View 来创建对象以放置在控件上,并创建了 AttendeesBindingSource。所有这些都可以正常工作。

在编译时,虽然我在控件的 DESIGNER 文件中收到错误:

Me.AttendessBindingSource.DataSource = GetType(GoodMins.MeetingMgr.BizObjects.Attendees)

这在 GoodMins.MeetingMgr.BizObjects.Attendees 下有一条小波浪线,带有警告“未定义类型‘GoodMins.MeetingMgr.BizObjects.Attendees’”

更多信息
我已经想出了如何解决错误。

我只是删除了 GoodMins。从引用。换句话说......到VS我可以改变上面的行
Me.AttendessBindingSource.DataSource = GetType(GoodMins.MeetingMgr.BizObjects.Attendees)


Me.AttendessBindingSource.DataSource = GetType(MeetingMgr.BizObjects.Attendees)

我可以编译。当我对控件进行一些更改时,会恢复代码并且我无法再次编译。

仅供引用,数据源 View 窗口将 GoodMins.MeetingMgr.BizObjects 的完整命名空间显示为我要添加的父级

仅供引用,如果我尝试添加 Imports 语句(这是一个 vb.net 项目)Intellisense 将找不到 GoodMins.MeetingMgr.BizObjects 项目。但它会找到项目 MeetingMgr.BizObjects。

仅供引用,对象浏览器在“查看命名空间”模式下显示 GoodMins.MeetingMgr.BizObjects 命名空间,但不显示 MeetingMgr.BizObjects 命名空间。

最后一条信息。我在 BizObject 项目中进行命名空间的方法是从项目属性中删除命名空间声明,并在每个类文件周围放置一个显式命名空间声明为“命名空间 GoodMins.MeetingMgr.BizObjects”...“结束命名空间”我很后悔这样做并且我可能有一天会改变它,但现在我坚持它。

所以这里是我的问题的底线......为什么所有内置到 Visual Studio 的工具都想使用 GoodMins.MeetingMrg.BizObjects 的完整命名空间,但代码窗口中的智能感知无法识别完整的命名空间,但会识别一个MeetingMgr.BizObjects 的截断命名空间。

我到处找我知道要找的地方,但无法弄清楚这一点。

赛斯

最佳答案

在 VB 中定义命名空间有点奇怪。一切都会自动成为默认命名空间(在项目属性中定义)的一部分。添加命名空间语句时,不会像在 C# 中那样添加默认命名空间。

例如,如果您的默认命名空间是 GoodMins然后,

 Namespace MeetingMgr
End Namespace

实际上会被翻译为 GoodMins.MeetingMgr .如果您将命名空间定义为
 Namespace GoodMins.MeetingMgr
End Namespace

那么这将与 GoodMins.GoodMins.MeetingMgr 相同.

关于visual-studio - 命名空间浏览在工具和导入中正常工作,但在代码窗口中不能正常工作(导入行除外),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1080061/

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