在探索预编译以进行部署之后,我想要增强我的构建过程。现在,我所做的是:
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中的应用程序。
为了记录,我使用的是应用程序,而不是虚拟目录。
那么有没有办法在普通网站文件夹上执行预编译?
答案 0 :(得分:3)
我用过
aspnet_compiler -p physicalOrRelativePath -v / targetPath
来自http://msdn.microsoft.com/en-us/library/ms227976(v=VS.80).aspx并在执行之前删除了obj文件夹,预编译工作正常:)