为什么visual studio给我类型没有为我的App_Code类定义?

时间:2014-04-23 12:53:30

标签: asp.net visual-studio class reference

"输入' HR.Database'未定义'

在构建项目时,我在错误列表面板的App_Code文件夹中存储了几个类的错误。

这是我用名称空间HR

编写的类

如何引用它或更改项目以识别这些类并删除错误?

我认为我应该引用它但是在尝试添加引用时,项目列表中没有项目。此外,它们是.vb文件而不是.dll

6 个答案:

答案 0 :(得分:10)

在弄清楚这个问题之前,我浪费了一个工作日的大部分时间......

当您向App_Code添加文件时,Visual Studio将“Build Action”属性设置为“Content”,而不是“Compile”将其设置为所有其他类。所以你的类没有编译,然后VS抱怨它找不到它们。据推测,这是VS的说法,即App_Code不是您应该放置应用程序代码的地方,这可能是合理的。

解决方案是右键单击每个文件并将“构建操作”重置为“编译”。每次添加文件时都必须执行此操作。或者您可以提交给VS并将您的源代码放在其他地方。

< /挫折>

答案 1 :(得分:1)

因为它已经晚了3年多了。我遇到了类似的问题。上面的解决方案是完美的。

对于较新的VS IDE版本,请转到App_Code文件的属性,如果将其设置为“内容”,则将“构建操作”更新为“编译”。在较新的VS版本中使用App_Code文件夹可能已过时,但一些较旧的开发人员仍在使用该文件夹。

答案 2 :(得分:0)

用备份替换vbproj和vbproj.user

答案 3 :(得分:0)

我的问题不是特别的App_Code文件夹,但是在双击列表打开文件之前,我在“错误列表”中遇到了“未定义”错误,然后引用将解决,并且如果不执行任何操作,该错误将消失更多,但是当我尝试重建时,所有这些错误将再次出现。

我唯一真正的线索是它们都与同一个项目相关,当我浏览“输出”窗口时,我可以看到.Net框架版本存在冲突。解决版本差异后,错误消失了。

答案 4 :(得分:0)

我因为一个有点愚蠢的原因而遇到了这个问题,但这可能对其他人从我的痛苦中学习有所帮助。 :D

我在测试程序的选项卡中对代码进行了更改,但是该选项卡用于我正在使用的DLL中的VB文件。由于这些更改不是在DLL中进行/编译的,因此无论我多么努力,直到我打开DLL项目,在此处进行更改并重建DLL时,都找不到该类。

答案 5 :(得分:0)

我在Visual Studio 2019中遇到了相同的问题,但是.vb文件在属性>生成操作中已经具有“编译”

我曾尝试重建,清理,删除文件。

如果我将现有的类复制到此文件夹中,则也不会被识别

关闭Visual Studio并重新启动它可以解决此问题,因此VS中存在一个错误,即在重新启动VS之前它不会编译新文件夹中的文件