Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net ClickOnce/程序集绑定重定向不适用于Log4Net.DLL_.net_Crystal Reports_Log4net_Clickonce_.net Assembly - Fatal编程技术网

.net ClickOnce/程序集绑定重定向不适用于Log4Net.DLL

.net ClickOnce/程序集绑定重定向不适用于Log4Net.DLL,.net,crystal-reports,log4net,clickonce,.net-assembly,.net,Crystal Reports,Log4net,Clickonce,.net Assembly,我已经做了第二天了,我几乎要放弃了。我读过许多与不同库相关的线程,这些库依赖于不同的Log4Net.dll版本、ClickOnce部署和程序集绑定重定向,到目前为止,我发现的答案/建议都不适合我。希望这里有人能给我们一个启示:) 我试图解决的问题: 我们有一个内部winforms应用程序.NET 4.0,它使用Crystal Reports,并使用ClickOnce进行部署 我不得不进行一些重大的重构,并将Log4Net引入其中一个模块,特别是使用Crystal reports的模块。和往常一样

我已经做了第二天了,我几乎要放弃了。我读过许多与不同库相关的线程,这些库依赖于不同的Log4Net.dll版本、ClickOnce部署和程序集绑定重定向,到目前为止,我发现的答案/建议都不适合我。希望这里有人能给我们一个启示:)

我试图解决的问题:

我们有一个内部winforms应用程序.NET 4.0,它使用Crystal Reports,并使用ClickOnce进行部署

我不得不进行一些重大的重构,并将Log4Net引入其中一个模块,特别是使用Crystal reports的模块。和往常一样,在我的开发机器上,以及部署到未安装Crystal的测试机器上时(或者在安装Crystal的情况下——只会发生不同的错误),一切都很好,安装在不同的点失败-要么就在开始下载之前,要么就在尝试下载Log4Net.dll的点上(参见下面的图片)

我的问题的罪魁祸首是Crystal reports使用了(出于一些我无法找到的疯狂原因)Log4Net.dll的早期版本(1.2.10.0),而我使用的版本是1.2.13.0

我尝试过但没有奏效的方法:

我已经尝试了很多事情,但我已经记不清了,但我将尝试概述我采取的一些主要方法,也许有人会看到我失败的地方:

  • 升级至.NET的Crystal Reports的最新版本
  • 将Log4Net.dll的两个版本都添加到项目中(项目中的不同文件夹),并使用本文中的自定义程序集:在同一文件夹中使用同一程序集的不同版本
  • 程序集绑定重定向(最新)
我的项目设置:

从逻辑的角度来看,我认为(可能是错误的)在这种情况下正确的方法应该是使用程序集绑定重定向让Crystal使用最新的Log4Net.dll,但我的设置不起作用,我不确定是什么

-参考资料:

-绑定重定向

这里需要知道的一点是,1.2.13.0版本的publicKeyToken与1.2.10.0不同,这里assemblyIdentity中列出的publicKeyToken是1.2.10.0版本的publicKeyToken

我也试过这个

-发布设置和安装错误:

使用包含(自动)选项,安装程序似乎找不到DLL:

使用包含(强制包含)选项,安装程序尝试下载DLL两次,或者看起来是这样:


您无法重定向到具有不同密钥的版本,并且

但是,您可以从中获得使用旧密钥签名的log4net 1.2.13版本,这将有助于重定向工作