2012-04-19 94 views
1

我刚刚开始使用已经从VB.NET网站转换为C#Web项目的ASP.NET应用程序,并且发现使用C#的开发时间比VB.NET长得多。是否有ASP.NET Web项目(C#)的按需编译选项?

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

我的问题是,有没有一个选项编译JUST THE ONE PAGE?如果没有,有什么可以做的(除了获得更多硬件或将项目转换回网站)来加速开发/调试过程?

澄清

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

+1

这是ASP.NET Web站点和Web应用程序项目之间的差异,我想知道? – tomfanning 2012-04-19 07:56:45

+0

@tomfanning:好像是。 – abatishchev 2012-04-19 07:57:38

+1

@abatishchev这使得它成为一个与语言无关的问题,因此这个问题需要重新解释。 – tomfanning 2012-04-19 08:01:37

回答

0

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

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

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

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

enter image description here

+0

当你说排除,你的意思是从项目中排除文件? – NightOwl888 2012-04-19 10:37:21

+0

看我上面的编辑。 – Widor 2012-04-19 10:48:30

+0

当我发布这个问题时,我不知道该项目除了被转换为C#之外,还被转换为一个Web项目。我重新提出了这个问题。你提到一个Web项目必须完全编译 - 有没有办法解决这个问题? – NightOwl888 2012-04-19 15:12:53

0

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

<%@ 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" %> 

也有一些缺点,但:

  • 代码隐藏页面无法使用的CodeFile控制(不过的CodeFile页面可以使用任何类型的控件)
  • 引用代码文件控件有点复杂
  • 你会lo se与.designer.cs同步,并且必须重新切换到代码隐藏以再次重新同步。

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

+0

我认为你[错](http:// msdn。 microsoft.com/en-us/library/ydy4x04a.aspx)。您可以在WebApp中使用CodeBehind,在WebSite中使用CodeFile。和[不能混合](http://msdn.microsoft.com/en-us/library/dd547590.aspx)。 – abatishchev 2012-04-19 08:39:41

+0

@abatishchev我相信我对Web应用程序是正确的,因为我每天在混合CodeFile和CodeBehind的项目上工作。我只是在一个全新的使用vs2010创建的ASP.NET Web应用程序上测试它,运行在IIS 7.5上,将默认页面的代码隐藏改为代码文件。它像一个魅力。 – jbl 2012-04-19 09:29:03