【问题标题】:Precompilation for Deployment部署预编译
【发布时间】:2012-03-30 01:36:37
【问题描述】:

在探索了 Precompilation for Deployment 主题之后,我想增强我的构建过程。现在,我要做的是:

  • 使用 Web One Click Publish 准备网站,例如到c:\www\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:\code\app\obj\debug\package\packagetmp\web.config(18): error ASPCONFIG: 使用时出错 注册为的部分 allowDefinition='MachineToApplication' 超出应用层。这个错误 可能是由虚拟目录引起的 没有被配置为 IIS 中的应用程序。

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

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

【问题讨论】:

  • 嗨,是的,它运行。例如,当我从 Visual Studio 运行 Build 然后访问 localhost/codeapp 时,它可以工作。这是你要求的吗?

标签: asp.net aspnet-compiler


【解决方案1】:

我用过

aspnet_compiler -p 物理或相对路径 -v / 目标路径

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

【讨论】:

    猜你喜欢
    • 2013-12-07
    • 1970-01-01
    • 1970-01-01
    • 2014-02-05
    • 2013-06-18
    • 1970-01-01
    • 1970-01-01
    • 2013-02-26
    • 2013-11-04
    相关资源
    最近更新 更多