找回密码
 立即注册
首页 业界区 业界 关于 VS2010 中 ASP.NET MVC2 网站编译任务的几个问题 ...

关于 VS2010 中 ASP.NET MVC2 网站编译任务的几个问题

呶募妙 2025-5-29 19:47:30
 
当你创建了一个 ASP.NET MVC2 的网站应用程序的时候,如果你使用文本方式打开项目文件看一看,就会发现一个有趣的配置选项
 

1.png
 
 
这个选项启用延后的 aspnet_compiler 创建任务,aspnet_compiler程序负责在设计期间编译你的 aspx 页面,并且报告编译过程中的错误。通常情况下,这个程序一般用来在在修改之后,第一次加载之前编译你的站点。以提高访问的速度。在这个特殊的文件夹下可以找到这个程序:
 
%系统文件夹%\Microsoft.NET\Framework\v4.0.30319
 
由于这个选项延后了编译任务,所以,这就是你可以在页面文件存在错误的情况下调试代码程序,而不会看到错误,直到页面的时候才会出现错误的原因。
 
如果你将这个选项设置为 true,那么,你将发现将会花费更多的时间来编译你的网站,你的每一个 aspx 文件都将被编译成一个 dll 文件,这些文件可以在编译的临时文件夹中发现,它们应该位于这个位置:
 
%系统文件夹%\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files
 
但是,在 .NET 4.0 下开发的时候,我发现实际位于这个位置
 
c:\Users\用户名\AppData\Local\Temp\Temporary ASP.NET Files
  
继续往下看这个文件,你会看到下面的一段。
 
2.png

 
 
在你将 MvcBuildViews选项设置为真之后,这个编译任务将在你的网站的根目录执行编译任务,
 
第二个问题
如果在你的网站文件夹下存在多个 web.config 文件,比如说在 obj 文件夹中,如果你打包或者发布网站的时候,将会导致一个问题出现。错误信息如下所示:
It is an error to use a section registered as allowDefinition='MachineToApplication' beyond application level. This error can be caused by a virtual directory not being configured as an application in IIS.
 
为了解决这个问题,你可以修改一下项目文件,在 MvcBuildViews 配置之后增加一个如下的设置。
 
false                                    
有权限访问的目录
 
这将会导致 MSDeploy 生成的文件输出到你指定的位置,这样就可以解决这个问题,默认情况下并没有明确设置这个位置。
 
还有一个问题就是默认情况下总是使用 .NET 4.0 的 aspnet_compiler 工具,如果你希望能够使用 ASP.NET 2.0 版的 aspnet_compiler,比如说你的目标是 .NET 3.5,那么,你可以如下设置你的选项。


ToolPath="C:\Windows\Microsoft.NET\Framework\v2.0.50727" 
VirtualPath="temp" 
PhysicalPath="$(ProjectDir)\..\Web" />

 
这个 ToolPath 用来设置 aspnet_compiler 工具所在的目录。
 
最后一个问题,我要说的是看一看 WDP (Web Deployment Projects )
WDP 是一个 Visual Studio 的 Add-In 工具,用来执行 aspnet_compiler 和合并的工具。使用它可以自动化处理设置正确的 ToolPath 路径,并且将发布和打包的 ASP.NET MVC2 的网站应用程序输出到一个相邻的文件夹,使你在发布之后不会得到创建错误,如果需要的话,它还提供了众多的配置选项供你选择,即使直接使用它,在不需要修改项目文件的情况下,也是一个理想的创建 ASP.NET MVC2 程序的解决方案。
如果你感兴趣的话,这是工具的链接,已经发布了 RTW, 注意,不是 RTM, 就是 RTW, Release To Web !
http://www.microsoft.com/downloads/details.aspx?FamilyID=89f2c4f5-5d3a-49b6-bcad-f776c6edfa63&displaylang=en
 
关于这个工具的使用,可以到这里学习:http://blogs.msdn.com/b/webdevtools/archive/2010/04/14/visual-studio-2010-web-deployment-projects-beta-avail-now.aspx
 
这篇文件的原文由  Joe Cartano 发表在:http://blogs.msdn.com/b/webdevtools/archive/2010/05/14/the-aspnet-compiler-build-task-in-visual-studio-2010-asp-net-mvc-2-projects.aspx

来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
您需要登录后才可以回帖 登录 | 立即注册