部署预编译

发布于 2024-10-18 07:56:37 字数 896 浏览 4 评论 0原文

在探索部署预编译主题后,我想增强我的构建过程。现在,我要做的是:

  • 使用 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

清音悠歌 2024-10-25 07:56:37

我用过

aspnet_编译器-p
物理或相对路径 -v / 目标路径

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

I used

aspnet_compiler -p
physicalOrRelativePath -v / targetPath

from http://msdn.microsoft.com/en-us/library/ms227976(v=VS.80).aspx and removed obj folder prior to executing it, and precompilation works :)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文