|
|
1
49
这是因为托管dll将卷影复制到下的临时位置。NET Framework目录。看见 http://msdn.microsoft.com/en-us/library/ms366723.aspx 了解详情。 不幸的是,非托管dll不会被复制,而ASP。NET进程在需要加载它们时将无法找到它们。 一个简单的解决方案是将非托管dll放在系统路径中的目录中(在命令行中键入“path”以查看计算机上的路径),以便ASP可以找到它们。NET进程。System32目录是 总是 在路径中,因此将非托管dll放在那里总是有效的,但我建议在路径中添加一些其他文件夹,然后在那里添加dll,以防止污染System32目录。这种方法的一个很大的缺点是,您必须为应用程序的每个版本重命名非托管dll,并且可以快速拥有自己的dll地狱。 |
|
|
2
42
作为将dll放入路径中已有的文件夹(如system32)的替代方法,您可以使用以下代码更改进程中的路径值
然后,当LoadLibrary尝试查找非托管DLL时,它也会扫描searchPath。这可能比在System32或其他文件夹中搞砸要好。 |
|
|
3
22
尝试将dll放在\System32\Inetsrv目录中。这是Windows Server上IIS的工作目录。 如果这不起作用,请尝试将dll放在System32目录中,将依赖文件放在Inetsrv目录中。 |
|
|
4
12
除了Matt的回答,这就是我最终在64位服务器2003/IIS 6上使用的方法:
|
|
|
6
4
另一种选择是将本机DLL作为资源嵌入托管DLL中。这在ASP。NET,因为它需要在运行时写入临时文件夹。 The technique is explained in another SO answer . |
|
|
7
2
永远值得 checking the path 环境设置中也有变量。 |
|
|
8
2
我也遇到过同样的问题。我尝试了上述所有选项,复制到system32、inetpub、设置路径环境等,但都没有效果。 通过将非托管dll复制到web应用程序或web服务的bin目录,此问题最终得以解决。 |
|
|
9
2
在为这个问题挣扎了一整天之后,我终于找到了一个适合我的解决方案。这只是一个测试,但这种方法正在奏效。
|
|
|
10
1
直接在XYZ.dll上的部署位置运行DEPENDS。如果这没有发现任何缺失,请使用平台SDK中的fuslogvw工具跟踪加载器错误。此外,事件日志有时包含有关加载DLL失败的信息。 |
|
|
11
0
在Application_start上使用以下命令: (根据需要自定义/bin/x64和bin/dll/x64文件夹)
|
|
|
Guilherme Albertini · DLL中的类 8 年前 |
|
|
Naomi · C#dll资源文件更改语言 8 年前 |
|
|
AidanH · C#DLL语言翻译实现[关闭] 8 年前 |
|
|
subham · DLL函数调用不工作 8 年前 |
|
|
PixelThis · 为什么我的DLL要求我的程序有一个特定的名称? 8 年前 |
|
|
nemo · DLL的“好”调用约定是什么? 8 年前 |