65.9K
CodeProject 正在变化。 阅读更多。
Home

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

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.50/5 (2投票s)

2007年11月4日

CPOL

1分钟阅读

viewsIcon

26740

downloadIcon

146

一个将文件包含转换为虚拟包含的工具。

Screenshot - ConvertFile2Virtual.jpg

引言

今天我需要将几年前开发的一个 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 - 初始版本。
© . All rights reserved.