无法复制文件“XXX\packages\ZeroMQ.4.1.0.22\build\i386\libsodium.so”,原因是找不到该文件

这个ZeroMQ是一个消息队列组件,只是在应用到项目中时遇到了不能解决的问题,最后放弃,把其换为了RabbitMQ。但是,在公司的电脑的项目文件夹的bin目录下始终存在两个目录amd64及i386文件夹,并且下面有关于zeromq 的相关dll 文件,在公司几经折腾,删掉了所有项目的引用,并且删除了packages 文件夹下自nuget 下载下的zeromq组件源文件。不会出错,但bin 文件夹下始终有相关文件,由于没有其他的影响,也找不到问题出在那里,于是就没再管他。

而今天在家里想跑其这个项目时却出现了无法复制文件“XXX\packages\ZeroMQ.4.1.0.22\build\i386\libsodium.so”,原因是找不到该文件 的错误。又检查了packages.config 文件中是否有引用,发觉<package id="ZeroMQ" version="4.1.0.22" targetFramework="net452" /> 有这行,删除后,仍然报这个错。这次在网上搜索却找不到能够使用的答案了。进行了各种尝试,错误始终没有消除,最后想到以前处理过一些莫名的问题在csproj 中更改些设置可以解决。于是打开项目的csproj 文件,搜索 zeromq ,碰碰运气, 还真找到有相关的东西。

<Import Project="..\packages\ZeroMQ.4.1.0.22\build\net40\ZeroMQ.targets" Condition="Exists('..\packages\ZeroMQ.4.1.0.22\build\net40\ZeroMQ.targets')" />

删除这一行。

其实在csproj 中还看到相关一行 <Error Condition="!Exists('..\packages\ZeroMQ.4.1.0.22\build\net40\ZeroMQ.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\ZeroMQ.4.1.0.22\build\net40\ZeroMQ.targets'))" />

这个我没删,先跑下程序,看是否能解决,不能解决再删除这行。于是编译,这次顺利编译成功,没有任何错误,并且看了下bin 目录下的 amd64及 i386文件夹,底下的dll 都没了。这次由于出现这个错误,解决了以前没有解决的zeroMQ 相关dll 在bin 文件夹下存在的问题,也算是无心插柳了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值