c# - 在 aspx 页面中使用程序集
问题描述
我有一个非常简单的 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
这说它是成功的,但我仍然得到同样的错误。
使用 VS 2017 的开发人员命令提示符的 gacutil 也没有区别。
还在 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");
%>
同样的错误,这没有依赖关系。
拉我的头发 - 有人知道怎么做吗?
解决方案
好的 - 我叫错了树。这就是我需要的。不需要注册dll,只需要把它放在文件夹中:http://localhost/bin
<%@ Page Language="C#" Debug="true" %>
<%@ Import Namespace="MimeKit" %>
推荐阅读
- bash - 如何通过 SSH 连接到启动启动 java 进程的 bash 脚本的服务器,然后在不终止脚本的情况下断开与服务器的连接?
- android - 使用 MockK 模拟改造接口返回 null
- vps - 如何在 VPS 上安全地部署 Fullstack 网站
- linux - 如何调用包含文件路径而不是文件路径末尾的文件的变量的字符串内容?重击/Linux
- javascript - 如何使用 instagram 基本显示 API 或 Graph API
- azure-active-directory - 如果用户存在于广告组中,如何让我的外观跳过?
- c# - httprequestmessage.createresponse() 在 System.net.http 中不存在
- android - 在 Flutter 中按下后如何更改 IconButton 的图标
- python - 在 pdm 文件中搜索关键字并提取该关键字
- angular - 当函数返回新值时,如何更新 Angular 中的子组件?