[解決済み] 同じソリューションで2つの異なるバージョンのlog4netを参照しています。
質問
私は NHibernate 2.1.2.400 を使用しており、log4net 1.2.10.0 を参照しています。 同じプロジェクトで、私は単に会計SDKも使用していますが、悲しいことに、それはまだlog4net 1.2.9.0を使用しています。
したがって、log4net 1.2.10.0 を参照すると NHibernate は動作しますが、simplySDK は動作しません。 また、その逆も然りです...。
問題のほとんどは、log4net がアセンブリ キーを変更したことに起因していると推測しています。私は、バインディング リダイレクトを使用してみましたが、成功しませんでした。
私は log4net 1.2.9.0 を使用するために NHibernate を再コンパイルすることを検討していますが、それは間違ったことのように思えますし、私の感触では Simply Accounting はすぐに log4net 1.2.10.0 を使用するために彼らの SDK を更新することはないでしょう。
これを処理する最善の方法は何でしょうか。まったく解決できないのでしょうか。
どのように解決するのですか?
私は、以下の方法で解決しました。 同様の質問に対する回答
あなたのプロジェクトに2つのフォルダを作成し、1つはlog4netの各バージョンに対応します。ソリューションにファイルを追加することによって、対応するフォルダに各log4net.dllを配置します(参照の追加ではありません)。 出力ディレクトリにコピーするプロパティを常にコピーするように設定することで、ビルド時に自動的に出力フォルダにコピーされるようになります。
次に、app.config ファイルに以下のような内容を追加して変更します。
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="log4net" publicKeyToken="681549d62126b7b8" />
<codeBase version="1.2.9.0" href="log4netv1.2.9.0\log4net.dll" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="log4net" publicKeyToken="1b44e1d426115821" />
<codeBase version="1.2.10.0" href="log4netv1.2.10.0\log4net.dll" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="log4net" publicKeyToken="669e0ddf0bb1aa2a" />
<codeBase version="1.2.11.0" href="log4net.dll" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
sn -T [assemblyName]を使用すると、アセンブリの公開鍵トークンを取得することができます。
関連
-
[解決済み】XAMLにSystem.Stringを埋め込む
-
[解決済み】警告。同じ依存アセンブリの異なるバージョン間で競合が見つかりました。
-
[解決済み] ファイル *.mdf をデータベースとして添付できません。
-
[解決済み] WPFで角丸ボタンを作成する/作るには?
-
[解決済み] SQL Server Compact EditionデータベースのLINQ to SQLで、"Row not found or changed "例外を解決するにはどうすればよいですか?
-
[解決済み] Windowsイベントログで参照される「フレームワークのバージョン」とは何ですか?
-
[解決済み] .NET WebRequestを使用してsharepointにファイルをアップロードすると、409/Conflict HTTPエラーが発生する理由?
-
[解決済み] 権限 '*' を持つ SSL/TLS の安全なチャネルを確立できませんでした。
-
[解決済み] LINQクエリでToList()とToArray()のどちらを呼び出すのが良いですか?
-
[解決済み] MSB3247 の解決 - 同じ依存アセンブリの異なるバージョン間で競合が見つかりました。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Marginのプロパティ順
-
[解決済み] 16進数値0x00は無効な文字です。
-
[解決済み] asp.netでWebサービスのタイムアウト時間を長くする方法は?
-
[解決済み] .Netの配列のLongLengthの目的は何ですか?
-
[解決済み] Nuget接続の試行に失敗しました。"Unable to load service index for source"。
-
[解決済み] DelphiとDelphi.NETの違いについて
-
[解決済み] Moq Callbackについて教えてください。
-
[解決済み] 文字列から数字を抽出する正規表現
-
[解決済み] PowerShellで文字列がNULLまたは空であるかどうかを確認するにはどうすればよいですか?
-
[解決済み] Visual Studioのコンパイルエラー "mismatch between processor architecture "を修正するにはどうしたらいいですか?