当在其中进行或检测到更改时,Visual Studio如何处理App_Code文件夹?不是IIS或ASP.NET。
每当我将代码文件保存在网站项目的大型App_Code文件夹中时,我希望更好地了解Visual Studio长时间冻结的原因。或者,我可以问:为什么Visual Studio在处理同样大的类库中的文件时不会出现这些相同的冻结?
理想情况下,我希望看到Microsoft提供的关于在Visual Studio中处理App_Code文件夹的问题的官方文档,以及与处理类库有何不同之处。
答案 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目录, 或者只在其中定义了一些文件,页面设计者将是 能够更快地加载(因为它不需要执行大的 汇编第一)。