DOBON.NETプログラミング道掲示板
HOME
HELP
新規作成
新着記事
ツリー表示
スレッド表示
トピック表示
発言ランク
ファイル一覧
検索
過去ログ
[ スレッド内全4レス(親記事-4 表示) ] <<
0
>>
■34495
/ 親記事)
メジャーバージョンの異なるLog4netライブラリを参照したい
▼
■
□投稿者/ なおし
一般人(1回)-(2020/07/09(Thu) 09:55:04)
環境/言語:[Windows10, C#, .NET Framework 4.5.2]
分類:[.NET]
単独で実行可能なWindows Fromsアプリケーションを開発しています。
開発にあたり、複数のライブラリを利用しているのですが、これらに異なるバージョンのLog4netライブラリを参照するものが含まれています。
・参照DLL:AAA.dll が、log4net の 1.2.10.0 を参照する。
・参照DLL:BBB.dll が、log4net の 2.0.8.0 を参照する。
この状況で、新しいバージョンの 2.0.8.0 の log4net を参照して実行すると、
----------------
System.IO.FileLoadException: ファイルまたはアセンブリ 'log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=1b44e1d426115821'、またはその依存関係の 1 つが読み込めませんでした。見つかったアセンブリのマニフェスト定義はアセンブリ参照に一致しません。 (HRESULT からの例外:0x80131040)
ファイル名 'log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=1b44e1d426115821' です。'log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=1b44e1d426115821'
----------------
とエラーとなってしまいます。
ネットで調べて、同じような目に遭っている
https://www.it-swarm.dev/ja/.net/%E5%90%8C%E3%81%98%E3%82%BD%E3%83%AA%E3%83%A5%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%81%A7log4net%E3%81%AE2%E3%81%A4%E3%81%AE%E7%95%B0%E3%81%AA%E3%82%8B%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E3%82%92%E5%8F%82%E7%85%A7%E3%81%99%E3%82%8B/969316636/
を参考に、app.config を以下のように変更したものの、発生するエラーに変化がありません。
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" />
</startup>
<runtime>
<assemblyBinding xmlns="urn:schemas-Microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="log4net" publicKeyToken="1b44e1d426115821" culture="neutral" />
<codeBase version="1.2.10.0" href="log4net.1.2.10/log4net.1.2.10.dll" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
これらAAA.dll, BBB.dllの何れも、私共の会社で作成しているものではないため、参照先log4netのバージョンを変更してリビルド、ということが難しい状況にあり、苦慮しております。
何か指定の仕方にあやまりがあるのでしょうか。
お気づきのことがありましたら、ご指摘いただけると幸いです。
マルチポストを報告
Javascriptを有効にしてください
この投稿がマルチポスト(全く同じ内容の投稿が別の掲示板に投稿されている)の場合は、以下のフォームをご利用いただくと、報告の投稿が簡単に行えます。
このフォームに必要事項を入力後、「返信フォームに入力する」ボタンをクリックすると、このページの下にある
返信フォーム
の項目が自動的に埋まります。実際に投稿するには、その後、返信フォームの「送信」ボタンをクリックしてください。
このフォームを利用しても返信フォームが埋まるだけですので、後で書き直してから投稿することもできます。
「マルチポストされている場所」には、マルチポストされている場所のURLを入力してください。複数のURLを改行区切りで入力することができます。
マルチポストされている場所
オプション
マルチポスト先の投稿が、別人によるいたずらである可能性が高い
違反を報告
Javascriptを有効にしてください
この投稿が掲示板のルールに違反しており、何らかの対処が必要であると思われる場合は、以下のフォームを利用して管理人に報告することができます。
マルチポストの報告は、
返信フォーム
の上にある「マルチポストの報告」リンクをご利用ください。
この機能の悪用は絶対にしないでください。
悪用されたと管理人が判断した場合は、予告なしで厳しい対処がなされる可能性があります。
確認等の目的で、入力されたメールアドレス宛に返信メールが送信される可能性があります。メールの受信ができないメールアドレスは入力しないでください。
下のフォームが使用できない場合は、
メールフォーム
を使って管理人にご報告ください。
お名前(必須)
メールアドレス(必須)
本文(必須)
(違反理由など)
引用返信
削除キー/
編集
削除
■34496
/ ResNo.1)
Re[1]: メジャーバージョンの異なるLog4netライブラリを参照したい
▲
▼
■
□投稿者/ 魔界の仮面弁士
大御所(1285回)-(2020/07/09(Thu) 11:59:05)
■
No34495
に返信(なおしさんの記事)
> app.config を以下のように変更したものの、
その定義だと、dependentAssembly 要素が 1 組しかないようですね。
1.2.10.0 向けと 2.0.8.0 向け用それぞれに
//dependentAssembly/assemblyIdentity[@name="log4net"]
のノードを用意してみては如何でしょう。
https://pie001.hatenablog.com/entry/2016/12/22/100714
https://www.it-swarm.dev/ja/.net/*/969316636/
違反を報告
Javascriptを有効にしてください
この投稿が掲示板のルールに違反しており、何らかの対処が必要であると思われる場合は、以下のフォームを利用して管理人に報告することができます。
マルチポストの報告は、
返信フォーム
の上にある「マルチポストの報告」リンクをご利用ください。
この機能の悪用は絶対にしないでください。
悪用されたと管理人が判断した場合は、予告なしで厳しい対処がなされる可能性があります。
確認等の目的で、入力されたメールアドレス宛に返信メールが送信される可能性があります。メールの受信ができないメールアドレスは入力しないでください。
下のフォームが使用できない場合は、
メールフォーム
を使って管理人にご報告ください。
お名前(必須)
メールアドレス(必須)
本文(必須)
(違反理由など)
引用返信
削除キー/
編集
削除
■34497
/ ResNo.2)
Re[2]: メジャーバージョンの異なるLog4netライブラリを参照したい
▲
▼
■
□投稿者/ Hongliang
大御所(582回)-(2020/07/09(Thu) 13:05:55)
フォルダ構成はちゃんとしていますか?
Releaseのほうだけlog4net.1.2.10\log4net.1.2.10.dllを配置してて
Debugで実行してるとかないですか?
違反を報告
Javascriptを有効にしてください
この投稿が掲示板のルールに違反しており、何らかの対処が必要であると思われる場合は、以下のフォームを利用して管理人に報告することができます。
マルチポストの報告は、
返信フォーム
の上にある「マルチポストの報告」リンクをご利用ください。
この機能の悪用は絶対にしないでください。
悪用されたと管理人が判断した場合は、予告なしで厳しい対処がなされる可能性があります。
確認等の目的で、入力されたメールアドレス宛に返信メールが送信される可能性があります。メールの受信ができないメールアドレスは入力しないでください。
下のフォームが使用できない場合は、
メールフォーム
を使って管理人にご報告ください。
お名前(必須)
メールアドレス(必須)
本文(必須)
(違反理由など)
引用返信
削除キー/
編集
削除
■34498
/ ResNo.3)
Re[3]: メジャーバージョンの異なるLog4netライブラリを参照したい
▲
▼
■
□投稿者/ なおし
一般人(2回)-(2020/07/10(Fri) 10:58:32)
魔界の仮面弁士様、Hongliang様、コメントくださいましてありがとうございます。
まずは魔界の仮面弁士様にご指摘くださいました、両方ちゃんと指定したものの、状況変わらず同じエラーが発生しております。
また、Hongliang様にご指摘くださいました、app.configに指定したパスと、実際のDLLファイルの配置が適切か、についてもあらためて確認しておりました、以下のように適切?に配置している状況となっておりました。
プロジェクト
└bin
└Debug
├log4net.1.2.10
│└log4net.1.2.10.dll
├log4net.dll ※v2.0.8.0 のものです。
├AAA.dll
├BBB.dll
├WindowsFormApplication.exe
├WindowsFormApplication.exe.config
└他DLL
この構成で、app.configの中身は以下となっています。
(ビルドにより作成されるWindowsFormApplication.exe.configも中身同じです)
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" />
</startup>
<runtime>
<assemblyBinding xmlns="urn:schemas-Microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="log4net" culture="neutral" publicKeyToken="669e0ddf0bb1aa2a" />
<codeBase version="2.0.8.0" href="log4net.dll" />
<!-- 以下の指定をいれてもダメでした。 -->
<!-- <bindingRedirect oldVersion="0.0.0.0-2.0.8.0" newVersion="2.0.8.0" /> -->
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="log4net" culture="neutral" publicKeyToken="1b44e1d426115821" />
<codeBase version="1.2.10.0" href="log4net.1.2.10/log4net.1.2.10.dll" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
実行に際し、VisualStudioからのデバッグ実行だけでなく、上記フォルダ内の「WindowsFormApplication.exe」を直接実行しても同じ結果となっています。
どうも、app.configの設定を読んでくれているのか、というそもそもの疑問がわいておりまして、
新しくWindowsFormアプリケーションを最小構成で作成して、リトライしてみます。
取り急ぎ、お礼と現状報告までとさせてください。
結果はまたここでご報告させていただきます。
ありがとうございました。
違反を報告
Javascriptを有効にしてください
この投稿が掲示板のルールに違反しており、何らかの対処が必要であると思われる場合は、以下のフォームを利用して管理人に報告することができます。
マルチポストの報告は、
返信フォーム
の上にある「マルチポストの報告」リンクをご利用ください。
この機能の悪用は絶対にしないでください。
悪用されたと管理人が判断した場合は、予告なしで厳しい対処がなされる可能性があります。
確認等の目的で、入力されたメールアドレス宛に返信メールが送信される可能性があります。メールの受信ができないメールアドレスは入力しないでください。
下のフォームが使用できない場合は、
メールフォーム
を使って管理人にご報告ください。
お名前(必須)
メールアドレス(必須)
本文(必須)
(違反理由など)
引用返信
削除キー/
編集
削除
■34508
/ ResNo.4)
Re[4]: メジャーバージョンの異なるLog4netライブラリを参照したい
▲
▼
■
□投稿者/ なおし
一般人(3回)-(2020/07/15(Wed) 17:30:23)
魔界の仮面弁士様、Hongliang様、ご報告が遅くなりましたが、異なるLog4netの
バージョンを参照するDLLのみで構成したモジュールで色々切り分けたものの、
app.config に記述するやり方では問題を回避することが出来ませんでした。
私共のスキルでは回避できないと判断し、AAA.dll と log4net.dll(1.2.10.0)
を別フォルダに配置し、アプリケーションドメインを別に作りその中で AAA.dll
を読み込んで、プロキシ経由で AAA.dll の機能を利用することにしました。
今のところ問題無いようですので、これで進めようと考えています。
色々とご示唆いただきありがとうございました。
解決
済
み!
違反を報告
Javascriptを有効にしてください
この投稿が掲示板のルールに違反しており、何らかの対処が必要であると思われる場合は、以下のフォームを利用して管理人に報告することができます。
マルチポストの報告は、
返信フォーム
の上にある「マルチポストの報告」リンクをご利用ください。
この機能の悪用は絶対にしないでください。
悪用されたと管理人が判断した場合は、予告なしで厳しい対処がなされる可能性があります。
確認等の目的で、入力されたメールアドレス宛に返信メールが送信される可能性があります。メールの受信ができないメールアドレスは入力しないでください。
下のフォームが使用できない場合は、
メールフォーム
を使って管理人にご報告ください。
お名前(必須)
メールアドレス(必須)
本文(必須)
(違反理由など)
引用返信
削除キー/
編集
削除
このスレッドをツリーで一括表示
スレッド内ページ移動 / <<
0
>>
このスレッドに書きこむ
入力内容にタグは利用できません。
引用部分(行頭に「>」や「■」が付いている部分)が全体の 80% 以上のコメントは投稿できません。
半角カナは使用しないでください。文字化けの原因になります。
削除キーを覚えておくと、自分の記事の編集・削除ができます。
記事中に No*** のように書くとその記事にリンクされます(No は半角英字/*** は半角数字)。
使用例)
No123 → 記事No123の記事リンクになります(指定表示)。
No123,130,134 → 記事No123/130/134 の記事リンクになります(複数表示)。
No123-130 → 記事No123〜130 の記事リンクになります(連続表示)。
投稿前に必ずお読みください
初めて投稿される方は、必ず「
書き込みのルールについて(12/4/2更新)
」をお読みください。
読むのが面倒、ルールを守りたくないという方は、「
お気楽掲示板
」へ投稿してください。
質問を投稿する場合は、「
質問をする際のアドバイス
」を参考にしてください。
投稿は、明記のない限り、パブリックドメインになります。
マルチポストされた投稿を報告する時は匿名で投稿し、マルチポストされている場所を併記してください。以下のリンクをクリックしていただくと、自動で下のフォームが埋まりますので、その後「送信」ボタンを押してご投稿ください。
マルチポストの報告をする
マルチポストの報告をするが、マルチポスト先の投稿が嫌がらせである(元の投稿者とは別人が行なっている)可能性が高い
(投稿日時に開きがあり、こちらの投稿の方が早い場合は、その可能性が高いです)
Name
/
E-Mail
/
Title
/
URL
/
Comment/ 通常モード->
図表モード->
(適当に改行して下さい/半角10000文字以内)
File
/
アップ可能拡張子=> /
.gif
/
.jpg
/
.png
/.zip
1) 太字の拡張子は画像として認識されます。
2) 画像は初期状態で縮小サイズ250×250ピクセル以下で表示されます。
3) 同名ファイルがある、またはファイル名が不適切な場合、
ファイル名が自動変更されます。
4) アップ可能ファイルサイズは1回
20KB
(1KB=1024Bytes)までです。
5) ファイルアップ時はプレビューは利用できません。
6) スレッド内の合計ファイルサイズ:[0/300KB]
残り:[300KB]
Icon
/
ホイールロボ
くるりロボ
ぱんだ
ふとめネコ
ねずみ
こあら
疑問ねこ
ランダム
管理者用
(画像を選択/
サンプル一覧
)
削除キー
/
(半角8文字以内)
解決
済
み!
BOX/
解決したらチェックしてください!(スレッドを閉じる目的ではチェックしないでください!)
クリエイティブ・コモンズ・ライセンス
を Comment の末尾に挿入するには、以下のリンクをクリックしてください。(Javascript で挿入しているだけです。)
表示(CC BY)
|
表示-改変禁止(CC BY-ND)
|
表示-継承(CC BY-SA)
|
表示-非営利(CC BY-NC)
|
表示-非営利-改変禁止(CC BY-NC-ND)
|
表示-非営利-継承(CC BY-NC-SA)
プレビュー/
クッキーに保存しない/
Mode/
通常管理
表示許可
Pass/
HOME
HELP
新規作成
新着記事
ツリー表示
スレッド表示
トピック表示
発言ランク
ファイル一覧
検索
過去ログ
-
Child Tree
-