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

Masafumi Teraoka [E-MAIL ADDRESS DELETED]
2008年 2月 1日 (金) 09:28:27 JST


杉本様

お世話になっております、寺岡です。
ソースを下記に記載致します。
ちなみにDLLのバージョンは1.3.6.0です。
よろしくお願い致します。

HizukeDao===================================================================

Imports System
Imports System.Collections
Imports Seasar.Dao.Attrs
Imports S2Test.Entity

Namespace Dao

    <Bean(GetType(HizukeEntity))> _
    Public Interface IHizukeDao

        Function GetAllList() As IList

        <Query("HIZUKE=/*hizuke*/")> _
        Function GetHizukeByHizuke(ByVal hizuke As String) As HizukeEntity

    End Interface

End Namespace
==========================================================================

HizukeEntity================================================================

Imports System
Imports Seasar.Dao.Attrs
Namespace Entity

    <Table("SQLWIN.HIZUKE")> _
    Public Class HizukeEntity

        Private _Hizuke As String
        Private _Getudo As String

        Public Property Hizuke() As String
            Get
                Return _Hizuke
            End Get
            Set(ByVal value As String)
                _Hizuke = value
            End Set
        End Property

        Public Property Getudo() As String
            Get
                Return _Getudo
            End Get
            Set(ByVal value As String)
                _Getudo = value
            End Set
        End Property

    End Class

End Namespace
==========================================================================

StuckTrace================================================================

System.NullReferenceException はハンドルされませんでした。
  Message="オブジェクト参照がオブジェクト インスタンスに設定されていません。"
  Source="Seasar.Dao"
  StackTrace:
       場所 Seasar.Dao.Impl.DaoMetaDataImpl.Initialize()
       場所 Seasar.Dao.Impl.DaoMetaDataFactoryImpl.CreateDaoMetaData(Type daoType)
       場所 Seasar.Dao.Impl.DaoMetaDataFactoryImpl.GetDaoMetaData(Type daoType)
       場所 Seasar.Dao.Interceptors.S2DaoInterceptor.Invoke(IMethodInvocation invocation)
       場所 Seasar.Framework.Aop.Proxy.AopProxy.Invoke(IMessage msg)
       場所 System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
       場所 S2Test.Dao.IHizukeDao.GetAllList()
       場所 S2Test.App.TestSelect(IHizukeDao dao) 場所 C:\Users\teraoka\Documents\Visual Studio 2005\Projects\backup\S2Test - コピー\S2Test\S2Test\App.vb:行 14
       場所 S2Test.App.Main() 場所 C:\Users\teraoka\Documents\Visual Studio 2005\Projects\backup\S2Test - コピー\S2Test\S2Test\App.vb:行 31
       場所 S2Test.Form1.Form1_Load(Object sender, EventArgs e) 場所 C:\Users\teraoka\Documents\Visual Studio 
2005\Projects\backup\S2Test - コピー\S2Test\S2Test\Form1.vb:行 5
       場所 System.EventHandler.Invoke(Object sender, EventArgs e)
       場所 System.Windows.Forms.Form.OnLoad(EventArgs e)
       場所 System.Windows.Forms.Form.OnCreateControl()
       場所 System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
       場所 System.Windows.Forms.Control.CreateControl()
       場所 System.Windows.Forms.Control.WmShowWindow(Message& m)
       場所 System.Windows.Forms.Control.WndProc(Message& m)
       場所 System.Windows.Forms.ScrollableControl.WndProc(Message& m)
       場所 System.Windows.Forms.ContainerControl.WndProc(Message& m)
       場所 System.Windows.Forms.Form.WmShowWindow(Message& m)
       場所 System.Windows.Forms.Form.WndProc(Message& m)
       場所 System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
       場所 System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
       場所 System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
       場所 System.Windows.Forms.SafeNativeMethods.ShowWindow(HandleRef hWnd, Int32 nCmdShow)
       場所 System.Windows.Forms.Control.SetVisibleCore(Boolean value)
       場所 System.Windows.Forms.Form.SetVisibleCore(Boolean value)
       場所 System.Windows.Forms.Control.set_Visible(Boolean value)
       場所 System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
       場所 System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
       場所 System.Windows.Forms.Application.Run(ApplicationContext context)
       場所 Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.OnRun()
       場所 Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.DoApplicationModel()
       場所 Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.Run(String[] commandLine)
       場所 S2Test.My.MyApplication.Main(String[] Args) 場所 17d14f5c-a337-4978-8281-53493378c1071.vb:行 81
       場所 System.AppDomain.nExecuteAssembly(Assembly assembly, String[] args)
       場所 System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
       場所 Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
       場所 System.Threading.ThreadHelper.ThreadStart_Context(Object state)
       場所 System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
       場所 System.Threading.ThreadHelper.ThreadStart()
==========================================================================


----- Original Message ----- 
From: "Kazuya Sugimoto" <[E-MAIL ADDRESS DELETED]>
To: <[E-MAIL ADDRESS DELETED]>
Sent: Thursday, January 31, 2008 9:17 PM
Subject: [seasar-dotnet:756] Re:assemblyの定義について


> 杉本です。
>
> 寺岡さん、こんばんは。
>
> DaoとEntityのソースコードと、例外発生時のスタックトレースを教えて
> 頂けますでしょうか?
>
> 08/01/31 に Masafumi Teraoka さんは書きました:
>> お世話になっております、寺岡です。
>>
>> Seasar.Dao.dllのAssembly定義が読めない件については、
>> 杉本様のご指摘により解決したのですが、
>> 次の処理の、
>>
>> Dim dao As IHizukeDao = container.GetComponent(GetType(IHizukeDao))
>>
>>>> System.NullReferenceExceptionが発生してしまいます。
>> ただ、Seasar.Dao.dllのバージョンの違いで発生しなくなります。
>> 現在分かっているだけですが、Ver1.3.6.0、1.3.5.0、1.3.4.0、1.3.3.0などはエラーが発生します。
>> Ver0.4.5.0でならエラーは発生いたしません。
>>
>> Genericなどの機能を使用したいので、できるだけ高バージョンDLLを使用したく考えております。
>>
>> 何かお分かりであれば、ご意見お聞かせ頂ける様宜しくお願い致します。
>>
>> 以上
>> ----- Original Message -----
>> From: "Masafumi Teraoka" <[E-MAIL ADDRESS DELETED]>
>> To: <[E-MAIL ADDRESS DELETED]>
>> Sent: Wednesday, January 30, 2008 7:45 PM
>> Subject: [seasar-dotnet:753] Re:assemblyの定義について
>>
>>
>> > 杉本様
>> >
>> > お世話になっております、寺岡です。
>> >
>> > ご指摘通り、app.configを作成し実行すると、成功しました。
>> >
>> > Batchプロジェクトに新規追加→App.configを追加して、
>> > S2Testプロジェクトのapp.configの内容をコピペしました。
>> >
>> > おかげ様で次の作業へ進むことができました。
>> > ありがとうございました。
>> >
>> > 以上
>> >
>> >
>> > ----- Original Message -----
>> > From: "Kazuya Sugimoto" <[E-MAIL ADDRESS DELETED]>
>> > To: <[E-MAIL ADDRESS DELETED]>
>> > Sent: Wednesday, January 30, 2008 4:09 PM
>> > Subject: [seasar-dotnet:752] Re:assemblyの定義について
>> >
>> >
>> >> 杉本です。
>> >>
>> >> 寺岡さん、こんにちは。
>> >>
>> >> 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 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 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 mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-dotnet
> 



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