部署前预编译

时间:2011-02-17 22:10:12

标签: asp.net aspnet-compiler

在探索预编译以进行部署之后,我想要增强我的构建过程。现在,我所做的是:

  • 使用Web One Click Publish准备网站,例如准备到c:\www\app目录,并通过app(localhost/app)在IIS中提供该目录
  • 我启动了aspnet_compiler.exe -v app c:\www\appprecompiled -f

现在我已在c:\www\appprecompiled准备好预编译应用程序了,一切都很好。但是我的应用程序非常庞大,发布它(步骤1)大约需要5分钟。所以我想知道是否可以避免第一步,并执行步骤2(预编译),源文件夹指向解决方案文件夹。我试过这样的事情:

aspnet_compiler.exe -v codeapp c:\code\app -f

其中c:\code\app是包含web.config等文件的文件夹,基本上它是一个带有网站的项目,该文件夹可通过http://localhost/codeapp获得。

但是在启动该命令时,我收到有关缺少global.asax或web.config错误的错误:

  

C:\代码\应用\ OBJ \调试\包\ packagetmp \ web.config中(18):   错误ASPCONFIG:使用时出错   注册为的部分   allowDefinition的= 'MachineToApplication'   超出应用水平。这个错误   可以由虚拟目录引起   没有被配置为   IIS中的应用程序。

为了记录,我使用的是应用程序,而不是虚拟目录。

那么有没有办法在普通网站文件夹上执行预编译?

1 个答案:

答案 0 :(得分:3)

我用过

  

aspnet_compiler -p   physicalOrRelativePath -v / targetPath

来自http://msdn.microsoft.com/en-us/library/ms227976(v=VS.80).aspx并在执行之前删除了obj文件夹,预编译工作正常:)