私が追加しました log4net
を私のプロジェクトに追加すると、私のマシンでは問題なく機能しますが、私のアプリケーションのリリースバージョンを同僚に送信すると、彼はこれを受け取っていますFileNotFoundException
:
ファイルまたはアセンブリをロードできませんでした 'log4net、Version = 1.2.13.0、Culture = neutral、PublicKeyToken = 669e0ddf0bb1aa2a'
しかし、奇妙なことは私のapp.config
上記のバージョンのlog4netも使用していません。
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
<sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<section name="BizWizard.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false"/>
</sectionGroup>
他のサードパーティライブラリを使用していますか?多分それらの1つは、log4netのこの特定のバージョンを必要とします。この場合は、アプリケーションのapp.configファイルでアセンブリバインディングを使用して解決できます。
<runtime>
<assemblyBinding xmlns="urn:schemas-Microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="log4net" publicKeyToken="669e0ddf0bb1aa2a" />
<codeBase version="1.2.13.0" href="log4netv1.2.13.0\log4net.dll" />
</dependentAssembly>
</assemblyBinding>
</runtime>
そして、これをlog4netの1.2.13.0バージョンをlog4netv1.2.13.0と呼ばれるサブフォルダに入れます
BindingRedirectを使用して、log4netへのすべての参照を特定の(自分の)バージョンにリダイレクトすることもできます。 http://msdn.Microsoft.com/en-us/library/7wd6ex19(v = vs.110).aspx
同じ問題に出くわした。 LinqToExcelライブラリは、異なるバージョンのlog4netを使用していました。
それを解決するには:
参照で古いlog4netバージョンを削除します。
ツール、Nugetパケットマネージャー、パッケージマネージャーコンソールに移動します。
実行:
インストールパッケージlog4net-バージョン2.0.3
詳細はこちら: