1

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

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

我的问题是,是否有一个选项可以只编译一页?如果没有,是否可以做一些事情(除了获得更多硬件或将项目转换回网站)以加快开发/调试过程?

澄清

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

4

2 回答 2

3

您的 .aspx 和 .ascx 应该通过 CodeFile 而不是 CodeBehind 引用它们的 codehind 文件。然后代码隐藏将按需编译。

<%@ 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 将为您节省大量时间。

于 2012-04-19T08:35:06.477 回答
0

您可以随时按 构建您的解决方案Ctrl + Shift + B

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

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

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

在此处输入图像描述

于 2012-04-19T07:58:48.297 回答