• 全部
  • C#综合技术
  • C#互联网桌面应用
  • AppLauncher
  • WinForm&WPF
  • C#开发新技术
  • 问答

两个项目合在一起,怎么共用一个dll

Aking5018 2021-03-23 04:09:51
main.exe和update.exe两个项目,合在一个文件夹里使用了,但是两个都引用相同的一个dll,怎么办? 复制main.exe的dll,update.exe就无法启动,复制update.exe的dll,main.exe就无法启动,请教大神们该如何是好?
...全文
351 点赞 收藏 11
写回复
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
哎呀哇 04-01
exe.config里面配置一下 dependentAssembly
回复
wtnu200 03-31
如果是通过nuget安装的引用,检查下版本是否一致 如果是直接引用dll的,把两个引用删除,重新从同一个地方的dll引用进去
回复
xuzuning 03-30
分别修改项目属性,将生成exe 文件的路径改成绝对路径,就不会像你这样了,否则就是你引用的 dll 虽然同名,但签名却不一样
回复
不同版本
1,你可以用一个版本
2,改路径,改名,重新引用一次
回复
一样检查方法 https://www.nuget.org/packages/Oracle.ManagedDataAccess/
引用
Version History Version Downloads Last updated 19.11.0 4,692 8 days ago 19.10.1 58,701 2 months ago 19.10.0 64,663 4 months ago 19.9.0 86,050 6 months ago 19.8.0 113,869 8 months ago
也是一个在频繁更新的主,最近两个版本差的不到2个月,那么一个概率是你主项目用的是19.10.1,你的update用的是19.11.0. 解决方法:如果你是在同一个解决方案下,那么直接在nuget管理器里选择合并或升级到相同版本。 如果不在同一个解决方案下,那么在update里的app.config runtime里把runtime版本指定为相同版本 怎么在runtime里写配置自己百度“C# runtime dll版本冲突”
回复
Aking5018 03-23
引用 3 楼 大西瓜大降价一块一斤 的回复:
应该是没问题的,你试下在main.exe生成的dll复制到update.exe项目下再引入调用,最后再三个都放一个文件夹下再执行试试
都不行
回复
Aking5018 03-23
main.exe 主程序和update.exe更新程序都引用了Oracle.ManagedDataAccess.dll来连接oracle数据库。 编译后,两个Release里都有 Oracle.ManagedDataAccess.dll。 单独运行都正常,当我把update.exe的文件都拷贝到main.exe文件夹里后,update.exe就提示找不到Oracle.ManagedDataAccess.dll了。 当我把update.exe里的Oracle.ManagedDataAccess.dll拷贝到main.exe里面覆盖后,update.exe能用了,main.exe又出问题了。 所以请教大神们该如何解决呢!
回复
哎,那个玩意,稳定了2年,又开始疯狂输出了
引用
13.0.1 0 12 hours ago 13.0.1-beta2 7,933 11 days ago 13.0.1-beta1 55,584 2 months ago 12.0.3 105,396,289 2019/11/9
半个月2次,3个月3次
回复
应该是没问题的,你试下在main.exe生成的dll复制到update.exe项目下再引入调用,最后再三个都放一个文件夹下再执行试试
回复
newtonjson这个库在早些年保持着1,2星期就跳几个版本的节奏。往往你一个项目木结束,newtonjson就主版本都从8.9升到14.xx了。(而且很多第3方库也各自引用各自版本的newtonjson)结果就是各个子项目在最终合并的时候各种冲突提示
回复
理论上不会,比如你所有软件还公用system32,gac得dll。也没人说不能用。 当然我看这update.exe比较眼熟,想到你另外一个帖子里说要更新。 1.那问题大概率不是不是不能用,而是你的更新包要更新update要使用得dll 2.小概率是因为dll版本不同,比如newtonjson这种经常变更的dll(netcore以后微软都移除newstonjosn就是因为他更新太频繁,造成各个库的引用的版本冲突),这种你要么需要把项目统一升级到相同版本,要么在runtime里指定使用特定版本
回复
发帖
C#
创建于2007-09-28

10.5w+

社区成员

.NET技术 C#
申请成为版主
帖子事件
创建了帖子
2021-03-23 04:09
社区公告

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