C# 我一直有一个奇怪的问题,想知道这是否是因为我使用了和名称空间同名的类型?

C# 我一直有一个奇怪的问题,想知道这是否是因为我使用了和名称空间同名的类型?,c#,reference,C#,Reference,更新: 我最终以一种我没有预料到的方式解决了这个问题——很明显,这并不是名称空间/类型名称冲突,当我重新做时,我感到惊讶,它以完全相同的方式失败了。我想这可能是小虫VS小虫-下面是发生的情况: ->错误路径 我添加了一个Winforms项目 我添加了对Lib1的引用 Lib1作为补充引用出现 下次编译时,我修改了我对VS的估计,当VS被弄糊涂时,事情会变得一团糟,就好像我从未添加对Lib1的引用一样。 ->我最终以令人惊讶的方式解决了这个问题: 我是随机拍摄的,因为我很困惑,我决定以稍微不同的方

更新:

我最终以一种我没有预料到的方式解决了这个问题——很明显,这并不是名称空间/类型名称冲突,当我重新做时,我感到惊讶,它以完全相同的方式失败了。我想这可能是小虫VS小虫-下面是发生的情况:

->错误路径

我添加了一个Winforms项目 我添加了对Lib1的引用 Lib1作为补充引用出现 下次编译时,我修改了我对VS的估计,当VS被弄糊涂时,事情会变得一团糟,就好像我从未添加对Lib1的引用一样。 ->我最终以令人惊讶的方式解决了这个问题:

我是随机拍摄的,因为我很困惑,我决定以稍微不同的方式添加库。 我没有右键单击解决方案资源管理器中的“引用”节点并从“解决方案”选项卡中选择Lib1,而是从“最近”选项卡中选择了它。 当我添加它时,令我惊讶的是,VS抱怨它无法添加库 原因是我的库设置为.NET 4,我的Winforms应用程序默认为客户端配置文件。 ->当我将winforms应用程序切换到.NET 4时,问题得到了解决

背景/动机:

我是一个孤独的开发者——这就是为什么当我遇到像这样的瓶颈时,我有时会花20分钟,如果我不能弄明白,我会完全解决它。有时这些问题会再次出现,我又花了20分钟,第二次对解决方法感到恼火,这最终让我真的很想弄明白。现在就是这样

问题描述:

我正在编写代码,在本例中,我使用VS10制作了一个ASP.NET网站的原型

新项目,ASP.NET网站:Web1创建解决方案 添加项目、C库、Lib1添加到解决方案 Lib1:添加Model.cs、View.cs、Presenter.cs等 Web1:将DataList添加到Default.aspx,通过Lib1绑定数据 测试它是否有效 -->现在,我想看到我的Lib1在winforms项目中工作,基本上证明我可以编写与UI无关的库代码

添加项目,WinformsApp1添加到解决方案 将DataGridView添加到Form1,通过Lib1绑定数据 然后最奇怪的事情发生了,至少对我来说是这样的:首先,添加对Lib1的引用并在Form1上实现IView接口很好,但是一旦VS自动填充IView的存根,一切都会进入一种状态,就好像我没有添加对Lib1的引用一样。也就是说,编译器告诉我它不知道IView的定义,并礼貌地提醒我,我可能忘记添加引用,但关键是它正在谈论它刚刚生成的代码,如果没有该引用,它将无法添加


注意:如果没有人知道这是什么,我错了,这是一种孤独开发者综合症的症状,我将再次研究这个示例,并发布我刚刚删除的代码。

听起来您的接口中有一个与名称空间同名的方法,因此,当您填充接口时,编译器无法再区分名称空间和方法。

那么代码可以编译吗?不,我基本上放弃了,为我制作了一个Lib1-for-me Winforms项目的副本,这是一个糟糕的解决方法,值得一读,既然你提到了名称空间和类型命名:我开始觉得我应该花几周时间来阅读那个家伙的所有帖子:@Anthony,我想你搞定了——如果你把它作为答案,我会记下来的。