Visual Studio如何专门处理App_Code文件夹?

时间:2013-08-28 02:41:31

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

当在其中进行或检测到更改时,Visual Studio如何处理App_Code文件夹?不是IIS或ASP.NET。

每当我将代码文件保存在网站项目的大型App_Code文件夹中时,我希望更好地了解Visual Studio长时间冻结的原因。或者,我可以问:为什么Visual Studio在处理同样大的类库中的文件时不会出现这些相同的冻结?

理想情况下,我希望看到Microsoft提供的关于在Visual Studio中处理App_Code文件夹的问题的官方文档,以及与处理类库有何不同之处。

3 个答案:

答案 0 :(得分:5)

  

App_Code文件夹未明确标记为包含文件   用任何一种编程语言编写。相反,ASP.NET推断   哪个编译器根据文件调用App_Code文件夹   包含的内容。如果App_Code文件夹包含.vb文件,则ASP.NET使用   Visual Basic编译器;如果它包含.cs文件,ASP.NET使用C#   编译器,等等。

     

如果App_Code文件夹仅包含编程所在的文件   语言含糊不清,例如.wsdl文件,ASP.NET使用默认值   用于Web应用程序的编译器,如编译中所建立的   应用程序Web.config文件或机器级别的元素   Web.config文件。编译器被命名为构建提供程序和构建   在扩展名中为每个文件扩展名指定了提供程序   元件。

请在此处查看documentation

答案 1 :(得分:1)

它在单独的程序集中重新编译此文件夹中的所有代码,然后在项目中引用此程序集。

您应该知道,如果您将这些文件包含在项目中可编译,则可能会出现双重引用。在后一种情况下,文件同时在一个单独的程序集(带有临时名称)中编译,该程序集被引用,并且也在bin文件夹中编译。这是恐怖表演的开始......

答案 2 :(得分:0)

有关App_Code文件夹的这些性能说明略有过时但可能仍适用于项目类型:

  

2)保持/ app_code目录中的文件数量很少。如果你   我最终在这个目录中有很多类文件   建议你改为向VS添加一个单独的类库项目   解决方案并在课程中移动这些课程   库项目的编译速度比编译中的类要快   / app_code目录。如果您只是一个问题,这通常不是问题   / app_code中的少量文件,但如果你有很多   目录或几十个文件,你将能够获得速度   通过将这些文件移动到单独的类库中进行改进   项目,然后从您的网站引用该项目。   还有一点需要注意的是,无论何时从源头切换   在VS HTML设计器中设计 - 视图,设计师导致   / app_code目录在设计器表面加载之前编译。   这样做的原因是您可以托管其中定义的控件   / app_code在设计师中。如果您没有/ app_code目录,   或者只在其中定义了一些文件,页面设计者将是   能够更快地加载(因为它不需要执行大的   汇编第一)。

- http://weblogs.asp.net/scottgu/archive/2006/09/22/Tip_2F00_Trick_3A00_-Optimizing-ASP.NET-2.0-Web-Project-Build-Performance-with-VS-2005.aspx