Используйте сборку на странице aspx - PullRequest
0 голосов
/ 22 мая 2019

У меня есть очень простой скрипт aspx:

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

MimeKit.dll находится в той же папке, что и этот скрипт.

Я нахожу ответы, которые говорят мне, чтобы положить его вПапкаУ меня нет папки 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

Я создалпапку bin в http://localhost/bin и поместите туда dll.Я также создал папку bin в http://localhost/test/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 голосов
/ 22 мая 2019

ОК - я лаял не на то дерево.Это то, что мне было нужно.Не нужно было регистрировать dll, просто нужно было положить его в папку: http://localhost/bin

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