[seasar-dotnet:749] assemblyの定義について
Masafumi Teraoka
[E-MAIL ADDRESS DELETED]
2008年 1月 30日 (水) 11:18:21 JST
寺岡と申します。
お世話になっております。
初めて、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 メーリングリストの案内