Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ';类别';不包含';方法';_C#_Asp.net_Methods - Fatal编程技术网

C# ';类别';不包含';方法';

C# ';类别';不包含';方法';,c#,asp.net,methods,C#,Asp.net,Methods,在班上,我有一些方法,效果很好。例如,现在我想添加新方法 public void ExampleMethod() { } 那我就叫它 Employee employee = new Employee(); employee.ExampleMethod(); ExampleMethod在点后显示的IntelliSense中存在,当我点击F12时,它也会将我重定向到该方法,但在启动项目时,我遇到一个错误:“Employee”不包含“ExampleMethod”的定义,并且找不到

在班上,我有一些方法,效果很好。例如,现在我想添加新方法

public void ExampleMethod()
{         
}
那我就叫它

Employee employee = new Employee();
employee.ExampleMethod();
ExampleMethod在点后显示的IntelliSense中存在,当我点击F12时,它也会将我重定向到该方法,但在启动项目时,我遇到一个错误:“Employee”不包含“ExampleMethod”的定义,并且找不到接受“Employee”类型的第一个参数的扩展方法“ExampleMethod”(是否缺少using指令或程序集引用?)


我不知道为什么会出现此错误,因为所有其他早期方法都可以正常工作。问题出在哪里?

有三种可能性:

1) 如果您引用的是旧DLL,则无法使用它。所以您必须引用新的DLL

2) 如果您在不同的名称空间中使用它,并尝试使用其他名称空间的dll,则它不会引用此方法

3) 您可能需要重建项目


我认为第三种选择可能是你的原因。请发布更多信息以了解您的确切问题。

使用命名空间名称创建类可能会解决您的问题

namespace.Employee employee = new namespace.Employee(); 
employee.ExampleMethod();

我也有同样的问题。结果是我引用的项目没有生成。
当我转到visual studio中的build configuration manager并启用参考项目时,问题得到了解决。

我在使用多个共享代码的项目的解决方案时也遇到了同样的问题。 原来我忘了更新第二个项目文件夹中的DLL


我的建议是仔细查看错误列表窗口中的“project”列,确保project也使用了正确的DLL。

我也遇到了同样的问题。我在Properties文件夹中的
AssemblyInfo.cs
中更改了程序集的版本。但是,我不知道为什么会发生这个问题。可能编译器不明白这个
dll
是新的,只是更改了汇编的版本。

今天我遇到了一个问题,症状与您描述的完全相同。我关闭了所有文件并重新启动了VS,结果发现一些文件从解决方案资源管理器中消失了

以下解决了我的问题:通过在解决方案资源管理器中选择当前项目,顶部栏上会出现一个小图标
Show all files
。右键单击文件并选择
Include In Project
即可


我刚刚遇到了这个问题;这个问题似乎与这里发布的其他答案不同,所以我会提到它,以防对某人有所帮助


在我的例子中,我在一个程序集(“A”)中定义了一个内部基类,在第二个程序集(“B”)中定义了一个内部派生类,还有一个测试程序集(“test”)。我使用
InternalsVisibleToAttribute
将组件“B”中定义的内部构件暴露在“TEST”中,但忽略了对组件“A”进行测试。这产生了顶部提到的错误,没有进一步的问题指示;使用
InternalsVisibleToAttribute
将程序集“A”公开给“TEST”解决了此问题。

如果您使用的是另一个项目中的类,则该项目需要重新构建和创建dll。确保在上选中该项目的“生成”
Visual Studio中的生成->配置管理器。因此,引用项目将重新构建和更新dll。

我遇到了相同的问题,“重建解决方案”和“清理解决方案”都不起作用。我通过检查我的dll引用解决了这个问题。

当我遇到同样的错误时

dotnet restore
解决了。从:

dotnet restore
-恢复项目的依赖项和工具


你能发布你的完整员工等级吗?“全部清理+重建”可能有助于尝试在GACClean中手动更新您的程序集,并且重建成功!非常感谢:D4)OP可能被某种类型的类歧义所混淆,并引用了来自不同assemply/项目的不正确的Employee类+1.+1->不要将实体框架数据库表命名为与类相同的名称。。。Doh.我只需要清理和重建,di需要清理和重建解决方案,而不仅仅是项目。我在每次类调用之前手动添加了名称空间。这对我很有用。谢谢你对项目专栏的建议。在ASP.NET中,Global.asax被认为是与您的其他代码不同的项目,是吗?因此不能从Global.asax调用内部/友元方法。很烦人,为我工作。。谢谢兄弟