ASP.NET MVC 3和App_Code文件夹

Mir*_*ine 17 entity-framework-4 asp.net-mvc-3

在ASP.NET Webform中,App_Code是放置代码并在运行时使用它的标准文件夹.但我认为这个文件夹在ASP.NET MVC中有所不同,我的问题是:

  • 我应该把我的代码(扩展方法,助手,...)放在ASP.NET MVC中.当我将代码存储在App_Code文件夹中时,我不能使用主题,controller但它们可以正常工作views.

  • 关于Entity Framework,同样的问题,我应该把edmxtt文件放在哪里.我没有使用Code-First

更新:

某些搜索后,终于我创建了一个新的类库在我的解决方案项目,代码是在所有可用的controllersviews.我仍然不知道为什么App_Code控制器中没有代码

小智 33

我有同样的问题,我的类Utility.cs在我的MVC项目中无法识别.我将构建操作"内容"更改为"编译",这解决了我的问题.希望有所帮助.

  • 这违背了App_Code的目的.存在App_Code,您可以将代码文件放在那里,并让它们在运行时动态编译.甚至没有让他们成为项目的一部分而单独设置Compile Build操作就可以了. (3认同)
  • 如果我在我的项目中这样做,我得到:"以下方法或属性之间的调用是模糊的" (2认同)

Eri*_*sch 12

App_Code在Web站点项目中是必需的,因为它具有特殊含义.这意味着"不要将这些文件提供给Web浏览器".在ASP.NET MVC中,大多数情况下文件不直接提供给浏览器,因此不需要App_Code.您可以在任何所需的文件夹中放置所需的代码文件,因为这些文件被编译为DLL,而不是通常发布到网站本身.

使用独立库也是一个很好的解决方案.