在aspx页面中使用程序集

时间:2019-05-22 09:45:22

标签: c# asp.net dll .net-assembly

我有一个非常简单的aspx脚本:

<%@ Page Language="C#" Debug="true" %>
<%@ Assembly Name="MimeKit.dll" %>
<%
Response.Write("test");
%>

MimeKit.dll与该脚本位于同一文件夹中。

我找到答案,告诉我将其放在bin文件夹中。我没有bin文件夹,这只是一个文件-不是在Visual Studio中创建的,也不是项目或应用程序的一部分。

任何人都可以告诉我我需要做什么,这不涉及使用Visual Studio,以便能够使用此dll。

我收到错误消息:

Could not load file or assembly 'MimeKit.dll' or one of its dependencies. The system cannot find the file specified.

我这样运行脚本:

http://localhost/test/mail.aspx

我在http://localhost/bin创建了一个bin文件夹,并将dll放入其中。我还在http://localhost/test/bin创建了一个bin文件夹。我收到同样的错误。

也尝试过:

"C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.7.2 Tools\x64\gacutil.exe" /i MimeKit.dll

表示成功,但仍然出现相同的错误。

gacutil也使用了VS 2017的开发人员命令提示符-没有区别。

还向web.config添加了以下内容:

<runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
        <dependentAssembly>
            <assemblyIdentity name="myAssembly" publicKeyToken="bede1c8a46c66814" culture="neutral" />
            <codeBase version="2.1.0.0" href="http://localhost/bin/MimeKit.dll"/>
        </dependentAssembly>
    </assemblyBinding>
</runtime>

仍然不执行-相同的错误消息。 (请注意:我通过使用gacutil /l MimeKit获得了公钥令牌。

发现MimeKit具有依赖项(BouncyCastle.Crypto.dll),因此尝试使用该依赖项:

<%@ Page Language="C#" Debug="true" %>
<%@ Assembly Name="BouncyCastle.Crypto.dll" %>
<%
Response.Write("test");
%>

相同的错误,并且没有依赖性。

拔头发-有人知道怎么做吗?

1 个答案:

答案 0 :(得分:0)

好的-我在吠错树。这就是我所需要的。不需要注册dll,只需将其放入文件夹http://localhost/bin

<%@ Page Language="C#" Debug="true" %>
<%@ Import Namespace="MimeKit" %>