部署预编译
在探索部署预编译主题后,我想增强我的构建过程。现在,我要做的是:
- 使用 Web 一键发布准备网站,例如到
c:\www\app
目录,并且该目录可通过应用程序 (localhost/app
) - 我启动
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:// 获取本地主机/codeapp
。
但是当启动该命令时,我收到有关缺少 global.asax 或 web.config 错误的错误:
C:\code\app\obj\debug\package\packagetmp\web.config(18): 错误 ASPCONFIG:使用时出错 注册为的部分 允许定义='机器到应用程序' 超出应用程序级别。这个错误 可能是虚拟目录引起的 未配置为 IIS 中的应用程序。
郑重声明,我使用应用程序,而不是虚拟目录。
那么有没有办法对普通的网站文件夹进行预编译呢?
After exploring Precompilation for Deployment topic I want to enhance my build process. Now, what I do is:
- prepare web site using Web One Click Publish, for instance to
c:\www\app
directory, and that directory is available in IIS via app (localhost/app
) - I launch
aspnet_compiler.exe -v app c:\www\appprecompiled -f
Now I have ready precompiled application in c:\www\appprecompiled
and everything is fine. However my application is quite big, and Publishing it (step 1) take about 5 minutes from scratch. So I wonder if it is possible to avoid step one , and perform step 2 (precompilation) with source folder pointing to solution folder. I tried something like this:
aspnet_compiler.exe -v codeapp c:\code\app -f
Where c:\code\app
is the folder with web.config etc files, basically it's a project with web site and that folder is avaliable via http://localhost/codeapp
.
But when launching that command, I get errors about missing global.asax or web.config errors:
C:\code\app\obj\debug\package\packagetmp\web.config(18):
error ASPCONFIG: 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.
And for the record, I use Application, not Virtual Directory.
So is there a way to perform precompilation on a plain web site folder?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我用过
来自 http://msdn。 microsoft.com/en-us/library/ms227976(v=VS.80).aspx 并在执行之前删除了 obj 文件夹,并且预编译有效:)
I used
from http://msdn.microsoft.com/en-us/library/ms227976(v=VS.80).aspx and removed obj folder prior to executing it, and precompilation works :)