我们正在尝试将 IIS 设置为 WebDAV 服务器,使用在 IIS 中创建的新“应用程序”,可在http://服务器名称/共享/。此“应用程序”指向本地服务器上的一个文件夹,该文件夹也通过 Windows 共享作为 \servername\Shares 进行共享。(我继续在“应用程序”两边使用引号,因为这里没有编写自定义代码,它只是配置 IIS 应用程序以指向本地文件夹。)
此本地文件夹有一个名为“bin”的子文件夹,该文件夹始终可通过 \servername\Shares\bin 访问。其中有很多供我们的用户使用的 DLL 和 EXE,有些来自 MS,有些是开源/免费的,有些是我们自己的。如果不影响大量用户,我们就无法移动此文件夹。
不幸的是,这个“bin”文件夹被 IIS 视为 IIS/ASP 应用程序的“bin”文件夹,并且 IIS 正在尝试加载文件夹中的所有 DLL。访问http://服务器名称/共享出现以下错误:
Could not load file or assembly 'msvcm80' or one of its dependencies. An attempt was made to load a program with an incorrect format.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.BadImageFormatException: Could not load file or assembly 'msvcm80' or one of its dependencies. An attempt was made to load a program with an incorrect format.
我们不希望 IIS 从此“bin”目录加载此 DLL 或任何其他 DLL。我尝试设置如下 web.config 以不加载 DLL,但不起作用:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.web>
<compilation>
<assemblies>
<remove assembly="*" />
</assemblies>
</compilation>
</system.web>
<system.webServer>
<directoryBrowse enabled="true" />
</system.webServer>
</configuration>
有什么建议么?
答案1
您可以去配置其应用程序池,使其完全不使用 .NET Framework。这样可以停止从 bin 文件夹加载内容的行为。