将文件包含转换为虚拟包含的实用程序






4.50/5 (2投票s)
一个将文件包含转换为虚拟包含的工具。
引言
今天我需要将几年前开发的一个 ASP 应用程序迁移到新的托管提供商。上传所有文件后,我发现应用程序在包含方面出现了一个错误。
Active Server Pages, ASP 0131
Disallowed Parent Path
此错误是由 IIS 中的配置引起的,许多托管提供商使用这种配置,它不允许使用相对路径包含到父文件夹的类型为 file 的包含,例如:<#include file="../../path_to_include">
。唯一的解决方案是将所有这些包含替换为具有绝对路径的虚拟包含,例如:<#include virtual="/path_to_include">
。这是一个非常令人讨厌的过程,因为基本上你必须手动编辑每个文件和包含,因为绝对路径取决于包含页面的路径和包含页面的路径。如果您有一个包含数百个文件的 Web 应用程序,就像我一样,这不可行。 关于此错误的完整描述请参见此处。
因此,我开发了一个小型工具来为我完成此操作。您提供一个起始文件夹,该文件夹应该是您的应用程序的根文件夹,它会搜索所有 .asp 文件,将 file="" 相对路径替换为 virtual="" 绝对路径。
使用代码
它是用 C# .NET 2.0 编写的控制台应用程序。要运行它,只需将其复制到某个位置,打开命令提示符,然后执行
ConvertFile2Virtual.exe path
其中 path 是您的根路径,例如“c:\projects\client website\”。请注意,路径用双引号括起来,因为路径包含空格并且以尾随反斜杠结尾。
我希望这对其他人有用。
历史
- v1.0 - 初始版本。