[seasar-dotnet:751] Re: assemblyの定義について

Masafumi Teraoka [E-MAIL ADDRESS DELETED]
2008年 1月 30日 (水) 16:05:46 JST


小谷様

寺岡です。
早速のご指摘ありがとうございます。

ご指摘通り、S2TestのApp.configのプロパティ【出力ディレクトリにコピー】を
"新しい場合はコピーする"を選択しました。
ビルド出力ディレクトリにSeasar.Dao.dll、Seasar.dll、app.configが存在していることも確認ずみです。
上記設定を行ったうえで、Batchプロジェクトをリビルドして、実行しましたが、
同じエラーが発生します。やはり、Seasar.Daoが読み込めてないようです。

ちなみに、app.configで定義した、

<assembly>Seasar.Dao</assembly>

ですが、

<assembly>S2Test.Seasar.Dao</assembly>

といった風に、NameSpaceを含めて定義できるものなのでしょうか?

宜しくお願い致します。


----- Original Message ----- 
From: "koyak" <[E-MAIL ADDRESS DELETED]>
To: <[E-MAIL ADDRESS DELETED]>
Sent: Wednesday, January 30, 2008 1:30 PM
Subject: [seasar-dotnet:750] Re:assemblyの定義について


> 寺岡様
>
> 小谷です。
>
> app.configに
> ><assembly>Seasar.Dao</assembly>
>
> としている場合、恐らくapp.configと
> 同じパス上にSeasar.Dao.dllがないか
> 見に行っているかと思います。
>
> そして、app.configが参照されるのは
> 基本的に実行ファイルと同じパス上にこのファイルが
> ある場合だと思います。
>
> コンパイル時の構成によって違ってくるのかも
> しれないのですが、プロジェクトBatchの
> 実行ファイルが吐き出されているフォルダ内に
> app.config,Seasar.dll,Seasar.Dao.dll
> は出力されているかご確認いただけないでしょうか。
>
> app.configがなかった場合はVisualStudio上で
> app.configのプロパティを開くとコンパイル時の出力先が
> 定義できるはずですので、それを
> 「出力先のフォルダにコピー」(細かい文言は違うかもしれません)
> にしてリビルドするといけるかもしれません。
>
> ------------------------------------
> koyak
> [E-MAIL ADDRESS DELETED]
> ------------------------------------
>
> 08/01/30 に Masafumi Teraoka<[E-MAIL ADDRESS DELETED]> さんは書きました:
>> 寺岡と申します。
>> お世話になっております。
>>
>> 初めて、S2.NETを利用しようとしております。
>> 下記の環境、構成でS2Daoを使用しております。
>>
>> S2Testをスタートアッププロジェクトにして、デバッグすると正常に終了するのですが、
>> Batchをスタートアッププロジェクトにして、デバッグすると
>>
>> Seasar.Framework.Container.Factory.ClassNotFoundRuntimeException はハンドルされませんでした。
>>   Message="[ESSR0044]クラスが見つかりませんでした。詳細は "Seasar.Dao.Impl.DaoMetaDataFactoryImpl""
>>   Source="Seasar"
>>
>> というエラーが発生します。
>>
>> app.configで指定した
>>
>> <assembly>Seasar.Dao</assembly>
>>
>> が通っていないからなのでしょうか?
>> アセンブリの定義が問題ではないのでしょうか?
>>
>> 何かお分かりであれば、ご意見お聞かせ頂ける様宜しくお願い致します。
>>
>>
>> 環境----------------------------------
>> OS:Windows Vista Business
>> 言語:Visual Bbasic 2005
>> DB:Oracle9.2
>> --------------------------------------
>>
>> 構成----------------------------------
>> 【ソリューション】
>> S2Test
>>    ┣━【プロジェクト】S2Test
>>    ┃    ┣━【参照】Seasar.dll、Seasar.Dao.dll
>>    ┃    ┣━【設定ファイル】app.config、app.dicon(埋め込まれたリソース)、OracleEx.dicon(埋め込まれたリソース)
>>    ┃    ┗━【クラス】App.vb
>>>>    ┗━【プロジェクト】Batch
>>      ┣━【参照】S2Testプロジェクト
>>      ┗━【フォーム】App.vb
>> --------------------------------------
>>
>> app.config------------------------------
>> <?xml version="1.0"?>
>> <configuration>
>>   <configSections>
>>     <section name="seasar" type="Seasar.Framework.Xml.S2SectionHandler, Seasar"/>
>>   </configSections>
>>
>>   <appSettings>
>>     <!-- oracleex.diconで使用 -->
>>     <add key="ConnectionString" value="Data Source=OCREXP_OCRKSVEX;User Id=SQLWIN;Password=AUTHORA;"/>
>>   </appSettings>
>>
>>   <seasar>
>>     <configPath>S2Test/app.dicon</configPath>
>>     <assemblys>
>>       <assembly>Seasar.Dao</assembly>
>>       <assembly>System.Data.OracleClient, version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</assembly>
>>     </assemblys>
>>   </seasar>
>> </configuration>
>> --------------------------------------
>>
>> app.dicon------------------------------
>> <?xml version="1.0" encoding="utf-8" ?>
>> <!DOCTYPE components PUBLIC "-//SEASAR2.1//DTD S2Container//EN"
>> "http://www.seasar.org/dtd/components21.dtd">
>> <components>
>>     <!-- S2Dao.NETでOracleに接続 -->
>>     <include path="OracleEx.dicon" />
>>
>>     <component class="S2Test.Dao.IHizukeDao" name="dao">
>>         <aspect>OracleEx.DaoInterceptor</aspect>
>>     </component>
>>
>> </components>
>> --------------------------------------
>>
>> OracleEx.dicon--------------------------
>> <?xml version="1.0" encoding="utf-8" ?>
>> <!DOCTYPE components PUBLIC "-//SEASAR2.1//DTD S2Container//EN"
>> "http://www.seasar.org/dtd/components21.dtd">
>> <components namespace="OracleEx">
>>     <!-- データプロバイダ -->
>>     <component name="Oracle" class="Seasar.Extension.ADO.DataProvider">
>>         <property name="ConnectionType">"System.Data.OracleClient.OracleConnection"</property>
>>         <property name="CommandType">"System.Data.OracleClient.OracleCommand"</property>
>>         <property name="ParameterType">"System.Data.OracleClient.OracleParameter"</property>
>>         <property name="DataAdapterType">"System.Data.OracleClient.OracleDataAdapter"</property>
>>     </component>
>>
>>     <!-- データソース -->
>>     <component name="SqlDataSource" class="Seasar.Extension.Tx.Impl.TxDataSource">
>>     <property name="DataProvider">Oracle</property>
>>         <!-- 接続文字列は構成ファイルから取得 -->
>>         <property name="ConnectionString"> appSettings['ConnectionString']</property>
>>     </component>
>>
>>      <!-- DaoInterceptor -->
>>     <component class="Seasar.Extension.ADO.Impl.BasicDataReaderFactory" />
>>     <component class="Seasar.Extension.ADO.Impl.BasicCommandFactory" />
>>     <component class="Seasar.Dao.Impl.DaoMetaDataFactoryImpl" />
>>     <component name="DaoInterceptor" class="Seasar.Dao.Interceptors.S2DaoInterceptor"/>
>>
>>     <!-- ローカルトランザクション用のインターセプター -->
>>     <component name="LocalRequiredTx" class="Seasar.Extension.Tx.TransactionInterceptor">
>>         <arg><component class="Seasar.Extension.Tx.Impl.LocalRequiredTxHandler" /></arg>
>>         <property name="TransactionStateHandler">TransactionContext</property>
>>     </component>
>>
>>     <!-- 分離レベルの指定 -->
>>     <component name="TransactionContext" class="Seasar.Extension.Tx.Impl.TransactionContext">
>>         <property name="IsolationLevel">System.Data.IsolationLevel.ReadCommitted</property>
>>     </component>
>>
>> </components>
>> --------------------------------------
>> app.vb---------------------------------
>>     Shared Sub Main()
>>         SingletonS2ContainerFactory.Init()
>>         Dim container As IS2Container = SingletonS2ContainerFactory.Container
>>         Dim dao As IHizukeDao = container.GetComponent(GetType(IHizukeDao))
>>         Debug.Print("成功!")
>> --------------------------------------
>>
>> 以上
>>
>>
>>
>>
>>
>>
>>
>>
>> _______________________________________________
>> seasar-dotnet mailing list
>> [E-MAIL ADDRESS DELETED]
>> https://ml.seasar.org/mailman/listinfo/seasar-dotnet
>>
> _______________________________________________
> seasar-dotnet mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-dotnet
> 



seasar-dotnet メーリングリストの案内