我一直有奇怪的问题,想知道是否因为我使用与命名空间同名的类型
本文关键字:命名空间 类型 因为 想知道 一直 问题 是否 | 更新日期: 2023-09-27 17:56:41
>更新:
我最终以一种我意想不到的方式解决了这个问题——这显然不是我认为的命名空间/类型名冲突(当我重新做它并且它以完全相同的方式失败时,令我惊讶)。 我认为这可能是小 VS 错误 - 这是发生的事情:
--> 错误路径
- 我添加了一个 Winforms 项目
- 我添加了对 Lib1 的引用
- Lib1 作为添加的引用出现
- (我修改了我对VS何时"混淆"的估计) 下次编译时,事情会损坏,就好像我从未添加对 Lib1 的引用一样。
->令人惊讶的方式,我最终解决了这个问题:
- 我
- 随机拍摄是因为我很困惑,我决定以(稍微)不同的方式添加库。
- 我没有右键单击"解决方案资源管理器"中的"引用"节点并从"解决方案"选项卡中选择 Lib1,而是从"最近"选项卡中选择了它。 当我添加它
- 时,令我惊讶的是,VS 抱怨它无法添加库
- 原因是我的库设置为 .NET 4,而我的 Winforms 应用程序默认为客户端配置文件。
-> 当我将 WinForms 应用程序切换到 .NET 4 时,该问题已解决
背景/动机:
我是一个孤独的开发人员 - 这就是为什么当我遇到这样的束缚时,我有时会花 20 分钟,如果我无法弄清楚,我会完全解决它。 有时这些问题会再次出现,我又花了 20 分钟,第二次对解决方法感到恼火,这终于让我真的很想弄清楚。 现在的情况就是这样。
问题描述:
我正在编码,在这种情况下,我正在用VS10对 ASP.NET 网站进行原型设计。
- 新项目,ASP.NET 网站:Web1(创建解决方案)
- 添加项目、C# 库、Lib1(添加到解决方案)
- Lib1:添加模型.cs,视图.cs,演示者.cs,...等
- Web1:在默认.aspx中添加数据列表,通过 Lib1 绑定数据
- 测试它是否有效
---> 现在我想看到我的 Lib1 在 winforms 项目中的工作,基本上向自己证明我可以编写不关心 UI 的库代码
- 添加项目,WinformsApp1(添加到解决方案)
- 将 DataGridView 添加到 Form1,通过 Lib1 绑定数据
然后最诡异的事情发生了(至少对我来说):起初,添加对 Lib1 的引用并在 Form1 上实现 IView 接口工作正常,但是一旦 VS 自动填充 IView 的存根,一切都进入状态,就好像我没有添加对 Lib1 的引用一样。 也就是说,编译器告诉我它不知道 IView 的定义,并礼貌地提醒我我可能忘记添加引用,但问题是它正在谈论它刚刚生成的代码,如果没有该引用,它将无法完成。
注意:如果没有人知道这是什么,而我错了,这是孤独开发人员综合症的症状,我将再次研究该示例并发布代码(我只是删除了它)。
接口中有一个与命名空间同名的方法,因此当您填充接口时,编译器无法再区分命名空间和方法。