And*_*tan 3 .net asp.net web-deployment .net-3.5
这是VS 2008和.Net 3.5.
我使用自定义部署项目脚本,类似于发布右键单击菜单,但我已经自定义了文件重命名和各种其他零碎.它工作得非常好,并且大大简化了发布过程.
我本周末在我们的一个现场网站上发现了一个问题,如果该网站被预编译就会被阻止(长篇故事).
所以我一直在玩AspNetCompiler MSBuild Task(使用PhysicalPath属性指向中间发布文件夹)到部署脚本中,我有一个关于'VirtualPath'选项的问题.
尽管在此预部署阶段该网站不在IIS中,但您仍需要为"VirtualPath"属性提供值.我在这里看到,aspnet_compiler.exe上的关联-v开关使用此值来解析编译期间整个站点中使用的"〜"有根虚拟路径.
所以,我认为这意味着你在这里传递的任何东西必须是部署时应用程序的虚拟根,否则它将无法工作.
但是,我试过这个,在这个选项中传递类似'/ fake/fake'之类的内容,然后通过app-rooted url而不是相对来改变我的一个主页面来引用一个css,它甚至在部署时仍然有效到'/ site'的虚拟路径而不是'/ fake/fake'.
那么对此有什么明确的答案呢?我是否需要担心此VirtualPath值与IIS中站点的最终部署位置完全相同?我希望不是,因为我真的不希望我的部署项目知道目标Web服务器的虚拟层次结构,以防它需要更改.
我已经分析了预编译的代码,无论你设置什么样的VirtualPath,预编译器似乎都会自动将应用程序根路径解析为相对路径.我也尝试将相同的预编译站点部署到目标服务器上的不同虚拟路径,并且没有任何中断.
因此,我有足够的信心能够说:不管这个价值是什么并不重要.
毫无疑问,我肯定会错过一些东西 - 但直到我被证明是错的,我才会认为我是对的!
| 归档时间: |
|
| 查看次数: |
861 次 |
| 最近记录: |