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

Kazuya Sugimoto [E-MAIL ADDRESS DELETED]
2008年 1月 30日 (水) 16:09:07 JST


杉本です。

寺岡さん、こんにちは。

Batchプロジェクトから起動する場合は、Batichプロジェクトにapp.configを
作成して実行してみてください。


08/01/30 に Masafumi Teraokaさんは書きました:
> 寺岡と申します。
> お世話になっております。
>
> 初めて、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
>


-- 
Kazuya Sugimoto
Microsoft MVP Visual Developer - Solutions Architect
http://d.hatena.ne.jp/sugimotokazuya/


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