App_Code中缺少Intellisense,用于网站项目中的bin dll

时间:2014-04-29 13:14:01

标签: c# visual-studio-2012 intellisense web-site-project app-code

我在/App_Code/App_Code/[subfolder]创建的任何课程都没有本地智能感知。

那就是 - 我有系统dll的智能感知,比如string。[member]等。但是无法让它重新识别App_Code本地的任何类(包括它自己),或者在/ bin文件夹中引用的dll。

虽然我确实有成员函数范围内的智能感知。 (即局部变量或函数参数)

NB

  • 这是网站项目,而不是Web应用程序项目。
  • 我尝试重置所有Visual Studio设置并清除AppData for VS中的智能感知信息。
  • 我正在使用Visual Studio 2012 ver。 11.0.61030.00更新4
  • 该项目使用的是.NET 4.0
  • 如果我将类移到App_code文件夹之外,它们会在intellisense中完美注册。
  • 没有选项可以将文件的Build设置设置为Compile,因为这是一个网站项目而不是Web应用程序。

2 个答案:

答案 0 :(得分:2)

IMO,您应该将代码移出App_Code。在.net 4.5(和4.0)中,您的后端代码被编译为dll,因此我看不到将代码放入App_Code的任何好处。如果有人提出不同意见,我很有意思。

据说,在根项目下创建一个或多个文件夹,然后将代码放在那里。

MyWebsite
 - DataLayer
     MyDataLayer.cs
Default.aspx

在此示例中,您将能够访问您的课程DataLayer.MyDataLayer

更好的是为您的aspx.cs代码后面的代码创建一个新的库。

答案 1 :(得分:2)

App_Code中的新代码文件将具有构建操作"内容",因此您没有智能感知。 因此,右键单击您的代码文件,然后在属性窗口中单击" Properties",更改" Build Action"到"编译"。

然后重新打开您的代码文件。