C#中引用dll的问题 15

C#中引用dll,一般直接添加引用,dll就在exe的目录下,看着有点乱,想将引用的dll归类到各个文件夹下引用,网上说dllimport可以,但是引用路径不能用Syst... C#中引用dll,一般直接添加引用,dll就在exe的目录下,看着有点乱,想将引用的dll归类到各个文件夹下引用,网上说dllimport可以,但是引用路径不能用System.Environment.CurrentDirectory+"\\lib\\XXX.dll";这样就报错。
还有一个问题,winform的窗体封装到DLL中用dllimport调用怎么显示dll的窗体,求详细的方法!
或者怎样,让引用的dll可以放在其他的文件夹下。
展开
 我来答
阳光的雷咩咩
2014-07-14 · TA获得超过1.4万个赞
知道大有可为答主
回答量:2.3万
采纳率:66%
帮助的人:7813万
展开全部

需要明确的是你现在讨论的dll是用什么语言写的,或者说是不是.net平台下写的。

  • 如果是,则不需要dllimport,放debug文件夹下并直接引用是比较好的,而且用不着类似你上面用代码来指定路径。

  • 如果不是,则需要dllimport。

追问
C#写的dll,但是都放在debug下,似乎乱了点虽然不是很多,有没有方法放在其他文件夹下??
追答
你可以建立一个文件夹,然后放进去,再引用啊。当然你部署的时候也要一样把此文件夹放在debug旁边才行。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
miniappmLWLo11g6JeNA
2014-07-14 · 超过63用户采纳过TA的回答
知道小有建树答主
回答量:107
采纳率:0%
帮助的人:115万
展开全部
1.分类是可以的,直接增加个应用程序配置文件,在assemblyBinding下增加节点
<probing privatePath="Drivers" />,如下例
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<probing privatePath="Drivers" />
</assemblyBinding>
</runtime>
2.我的理解:你是想做动态加载dll?这是一种很Open的开发,类似于工厂模式,需要约定,利用的核心类还是Assembly ,这个需要提前想好架构
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
国少367
2014-07-14 · TA获得超过131个赞
知道答主
回答量:108
采纳率:50%
帮助的人:115万
展开全部
1. 请把dll放到项目文件夹下...这是最靠谱的办法...
2. 考虑PE文件dll有x86和x64两种制式 .net程序编译时也要指定cpu 用any cpu会有不可预料的风险
3. 如果程序编译使用x86 对于64位系统 你需要把dll放到x:\windows\syswow64里 因为system32存放的是64位的应用程序和库
希望对你能有所帮助。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2014-07-14
展开全部
调用窗体直接new,然后Show
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式