代码之家  ›  专栏  ›  技术社区  ›  Andras Zoltan

AspNetCompiler MSBuild任务中的VirtualPath-它是否必须等于最终部署的虚拟路径?

  •  3
  • Andras Zoltan  · 技术社区  · 14 年前

    我使用一个定制的部署项目脚本,它类似于publish右键单击菜单,但是我已经定制了它来执行文件重命名和各种其他操作。它工作得非常好,并且大大简化了发布过程。

    因此,我一直在尝试将AspNetCompiler MSBuild任务(使用PhysicalPath属性指向中间发布文件夹)注入到部署脚本中,对于“VirtualPath”选项我有一个问题。

    尽管在这个预部署阶段网站不在IIS中,但仍然需要为“VirtualPath”属性提供一个值。我见过 here aspnet\u compiler.exe上关联的-v开关在解析编译期间整个站点使用的“~”根虚拟路径时使用此值。

    必须 在部署时成为应用程序的虚拟根目录,否则它将无法工作。

    不过,我已经尝试过了,在这个选项中传递类似“/fake/fake”的内容,然后将我的一个母版页更改为通过应用程序根url而不是相对url引用css,即使部署到“/site”而不是“/fake/fake”的虚拟路径,它仍然有效。

    1 回复  |  直到 14 年前
        1
  •  5
  •   Andras Zoltan    14 年前

    我已经分析了预编译的代码,似乎预编译器会自动将应用程序根路径解析为相对路径,而不管您如何设置VirtualPath。我还尝试将相同的预编译站点部署到目标服务器上的不同虚拟路径,但没有中断。

    所以我有足够的信心说:不,这个值是多少并不重要。

    毫无疑问,肯定会有我可能错过的东西-但直到我被证明是错的,我会假设我是对的!