- - PR -
構成ファイルの記述について
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2006-08-10 16:38
構成ファイルの記述について教えて下さい
開発環境:Visual Studio 2005 共通のアセンブリを作成してローカルコピーをせずにEXEを起動したいため 以下のようにEXE側の構成ファイルを記述しました. (GACには配置しておりません) しかし起動するとSystem.IO.FileNotFoundExceptionが発生してしまいます. 共通のディレクトリはサブディレクトリに存在するわけではありませんので フルパスで指定しています. Fuslogvw.exeでをログを見ると 「アプリケーション構成ファイル test.vshost.exe.config を使用します。」 となっており構成ファイルはロードしているようなのですが,原因が分かりません. 原因を教えて頂けませんでしょうか? 以下がcodeBase部分の構成ファイルの抜粋です. <dependentAssembly> <assemblyIdentity name="CommonAA" publicKeyToken="aaaaaaaaaaaaaaa" /> <codeBase version="1.0.0.0" href="file:///C:/BIN/CommonAA.dll" /> </dependentAssembly> | ||||
|
投稿日時: 2006-08-10 16:41
partireさん、ここの掲示板では「教えてください」では「教えてくれませんよ」 自分で解決しなさいということしか返信ありません。 残念ながら・・・ | ||||
|
投稿日時: 2006-08-10 17:03
教えてもらえないのは、まぁ、まれに他に誰も知らない、ということがありますが、
たいていは「聞き方が悪い」か「必要な情報をだしていない」からですね。 というのはともかく。 http://www.atmarkit.co.jp/fdotnet/technology/idnfw11_index/index.html こちらの記事でアセンブリのロードについて詳しく説明されているので しっかり読めば書いてあると思います。 通常はExeのあるフォルダの下層しか探しにいきませんので、共通のdllを どこか別の場所に置く、という方法はとれなかったと思います。 #プログラムでアセンブリのロードを行うのであればできるんだったかな。 | ||||
|
投稿日時: 2006-08-10 17:24
アセンブリの探索場所を追加するのであれば、プローブに追加すればよかった気がします。
セミコロンで区切れば複数定義できます。 http://msdn2.microsoft.com/ja-jp/library/yx7xezcf.aspx | ||||
|
投稿日時: 2006-08-10 18:40
早速の回答ありがとうございました.
どっとねっとふぁん さん Page3にdependentAssembly要素に厳密名付きアセンブリの名前が書いてあれば絶対パスをhref属性に指定できるとありましたのでやってみました. しかし構成ファイルの書き方が悪いのかうまくいきません. がんふぃーるど さん EXEの配下DLLを配置してプローブでやってみましたが,こちらもうまくいきませんでした. どちらを使用してもうまくいきませんでしたので,構成ファイルの書き方が悪い可能性がありますので,もう少し調査してみます. わかりましたら再度投稿します. | ||||
|
投稿日時: 2006-08-10 18:59
assemblyIdentityのcultureの指定が抜けているようですが, これはneutralでも指定しないといけないのでは? | ||||
|
投稿日時: 2006-08-10 19:01
構成ファイルの書き方というより、厳密名の指定の仕方かな?
http://www.atmarkit.co.jp/fdotnet/technology/idnfw11_02/idnfw11_02_05.html ここの「アセンブリの表示名」の部分が参考になるかも。 すくなくとも、カルチャを省略できないことは間違いないみたい。 | ||||
|
投稿日時: 2006-08-10 21:37
回答ありがとうございます.
YuO さん どっとねっとふぁん さん ご指摘の通りassemblyIdentityにculture=neutralの記述が抜けておりましたので,以下のように追加しましたが状況に変化はありませんでした. <assemblyIdentity name="CommonAA" culture=neutral publicKeyToken="aaaaaaaaaaaaaaa" /> また,以下のエラーになっていることが分かりましたが内容は調査中です. 「同じバインドが以前見つかり、失敗して hr = 0x80070002 を返しました。」 |