ASP.NET Web 项目有按需编译选项吗?

问题描述 投票:0回答:2

我刚刚开始使用已从 VB.NET 网站转换为 C# Web 项目的 ASP.NET 应用程序,我发现使用 C# 的开发时间比使用 VB.NET 的开发时间要长得多。

当我在 C# 代码隐藏文件中编辑一行简单的代码时,我必须手动重新编译整个站点才能看到更改的结果。在网站中,我可以编辑隐藏文件的代码,然后在浏览器中执行它以查看更改的结果,而无需进行编译(或者右键单击并选择编译页面)。

有没有一个选项可以只编译一页?如果没有,是否可以采取一些措施(除了获取更多硬件或将项目转换回网站之外)来加快开发/调试过程?

澄清

在 ASP.NET (VB) 网站项目中,我可以在代码隐藏中进行编辑,单击“保存”按钮,然后打开浏览器并导航到该页面以立即查看更改(或至少在 5 秒内) 。在 ASP.NET (C#) 的 Web 应用程序项目中,我发现我必须编译整个网站才能在浏览器中查看实时更改(这个过程需要 2 分钟以上)。

c# asp.net vs-web-application-project
2个回答
3
投票

您的 .aspx 和 .ascx 应通过 CodeFile 而不是 CodeBehind 引用其代码隐藏文件。然后代码隐藏将根据需要进行编译。

<%@ Page Language="C#" AutoEventWireup="true" EnableViewState="true" CodeFile="myPage.aspx.cs" Inherits="myPage" %>

而不是

<%@ Page Language="C#" AutoEventWireup="true" EnableViewState="true" CodeBehind="myPage.aspx.cs" Inherits="myPage" %>

但也有一些缺点:

  • CodeBehind 页面不能使用 CodeFile 控件(但 codefile 页面可以使用任何类型的控件)
  • 引用代码文件控件有点复杂
  • 您将失去与 .designer.cs 的同步,并且必须重新切换到代码隐藏一秒钟才能重新同步。

从长远来看,CodeFile 将为您节省大量时间。


0
投票

您可以随时按

Ctrl + Shift + B
构建您的解决方案。

右键单击并

Exclude
您不想包含的任何项目/文件夹/文件。

编辑:必须完整构建 Web 应用程序项目,但 Visual Studio 仅构建那些已更改的文件,因此这对您来说不会太慢。

在 Web Site 项目中,每当您默认运行或调试任何页面时,Visual Studio 都会完全编译网站项目 - 但是 - 您可以更改构建项目选项以在运行或调试时仅编译当前页面。

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.