C#引用DLL的问题。

Setheo 2009-05-23 09:16:35
我自己用C#写了个DLL,然后我的C#程序中引用这个DLL.
生成程序之后,我把程序放到虚拟机测试.
我把C#写的这个DLL放到SYSTEM32目录下,
但是运行的时候提示找不到指定的文件.
把DLL放到和程序一个目录下的时候,程序就能正常运行.
我现在的问题是,我要怎么做,才能让DLL放到SYSTEM32下面,程序也能正常的找到它并引用它.
...全文
256 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
lixiaopeng880322 2010-07-17
  • 打赏
  • 举报
回复
关注中,这个问题貌似我也遇到过
wangkuang5 2009-05-24
  • 打赏
  • 举报
回复
强名称注册呢?
aight 2009-05-24
  • 打赏
  • 举报
回复
添加应用程序寻找程序文件的路径。
学习了。
linlexing 2009-05-24
  • 打赏
  • 举报
回复
C#写的Dll从来不放system32,要放:
C:\WINDOWS\assembly
赵牧野 2009-05-24
  • 打赏
  • 举报
回复
关注中!
CsToD 2009-05-23
  • 打赏
  • 举报
回复
        private void Form1_Load(object sender, EventArgs e)
{
AppDomain.CurrentDomain.AssemblyResolve += new ResolveEventHandler(CurrentDomain_AssemblyResolve);
}

Assembly CurrentDomain_AssemblyResolve(object sender, ResolveEventArgs args)
{
if (args.Name == "你的程序集")//这个名称可能是程序集限定名,稍微处理一下即可
{
return System.Reflection.Assembly.LoadFrom(@"C:\windows\system32\...");
}
return null;
}
欧阳嘉 2009-05-23
  • 打赏
  • 举报
回复
可以使用
AppDomain.CurrentDomain.AppendPrivatePath(string path)

来添加你的应用程序应该寻找程序集的路径。
试一试:
AppDomain.CurrentDomain.AppendPrivatePath(@"C:\Windows\System32")

参考:
http://stackoverflow.com/questions/468243/c-load-assemblies-at-runtime-again
Setheo 2009-05-23
  • 打赏
  • 举报
回复
汗,测试了,注册也没用
zzyzgydotnet 2009-05-23
  • 打赏
  • 举报
回复
注册一下

111,082

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧