[seasar-dotnet:2562] .Net Core3でQuill~DBFluteを動かしたい
志水正幸
ie2m-smz @ asahi-net.or.jp
2020年 5月 29日 (金) 12:15:17 JST
志水です。
お世話になっております。
表題とおりなのですが、最終的にDBFluteを動作させたいと思っています。
いまBlazor(サーバ)に現在稼働中のQuillやseasarなど必要なDllを参照させて
動作するか試してますが
QuillInjector.GetInstance().Inject(this);が実行され正常に帰ってきたあと
Tantou AA = _MTantouFacade.GetMTantouData(11521);を実行して
データを読もうとしたのですが、以下のエラーとなってしまいます。
※Castle.DynamicProxy.dllがSeasar.Quill.dllの参照はしています。
※Blazor(サーバ)には以下のパッケージをインストールしています。
・System.Configuration.ConfigurationManager
・System.AppDomain
・System.Reflection.Emit
どうやら、protected MTantouBhv
mMTantouBhv;を宣言したら下記の事象がでています。
Seasar.Framework.Aop.ProxyのDynamicAopProxyクラスで
インスタンス生成?する箇所でエラーとなっているようです。
#if NET_4_0
/// <summary>
/// プロキシオブジェクトを生成します
/// </summary>
public object Create()
{
if (_componentType.IsInterface)
{
ココ➡ return
_generator.CreateInterfaceProxyWithoutTarget(_componentType, _interceptors);
}
else
{
return _generator.CreateClassProxy(_componentType,
_interceptors);
}
}
色々とググってみたのですが、このエラーに関する記事をみると
Net CoreでAppDomainが云々と難しいことが書いてあって
実装されていないような感じのことがかかれていたり
質問がCLOSEとなっているようなんですが、実装されてないんですかね??
また回避方法など知っておられたら教えてください。
以上、宜しくお願い致します。
*************************************************************************************************
Exceptionのスタックトレース
*************************************************************************************************
Seasar.Quill.Exception.QuillApplicationException
HResult=0x80131600
Message=[EQLL0037]プロキシオブジェクト(MTantouDao)の生成に失敗しました。コンストラクタ内の処理、アクセス修飾子、インターセプターを設定しているメソッドがインターフェースor
virtualになっているか、Castle.DynamicProxy.dllがSeasar.Quill.dllと同じ場所にあるか等をご確認下さい。
Source=Seasar.Quill
スタック トレース:
at Seasar.Quill.QuillComponent.CreateProxyObject(Type componentType,
Type receiptType, IAspect[] aspects) in
C:\TEST\Source\s2container.net-1.4.0-RC3\source\Seasar.Quill\QuillComponent.cs:line
270
at Seasar.Quill.QuillComponent..ctor(Type componentType, Type
receiptType, IAspect[] aspects) in
C:\TEST\Source\s2container.net-1.4.0-RC3\source\Seasar.Quill\QuillComponent.cs:line
100
at Seasar.Quill.QuillContainer.GetComponent(Type type, Type
implType) in
C:\TEST\Source\s2container.net-1.4.0-RC3\source\Seasar.Quill\QuillContainer.cs:line
130
at Seasar.Quill.QuillInjector.InjectField(Object target, FieldInfo
field, Type implType) in
C:\TEST\Source\s2container.net-1.4.0-RC3\source\Seasar.Quill\QuillInjector.cs:line
346
at Seasar.Quill.QuillInjector.InjectField(Object target, FieldInfo
field, ImplementationAttribute implAttr) in
C:\TEST\Source\s2container.net-1.4.0-RC3\source\Seasar.Quill\QuillInjector.cs:line
333
at Seasar.Quill.QuillInjector.InjectField(Object target, FieldInfo
field) in
C:\TEST\Source\s2container.net-1.4.0-RC3\source\Seasar.Quill\QuillInjector.cs:line
269
at Seasar.Quill.QuillInjector.Inject(Object target) in
C:\TEST\Source\s2container.net-1.4.0-RC3\source\Seasar.Quill\QuillInjector.cs:line
191
at Seasar.Quill.QuillInjector.InjectField(Object target, FieldInfo
field, Type implType) in
C:\TEST\Source\s2container.net-1.4.0-RC3\source\Seasar.Quill\QuillInjector.cs:line
349
at Seasar.Quill.QuillInjector.InjectField(Object target, FieldInfo
field, ImplementationAttribute implAttr) in
C:\TEST\Source\s2container.net-1.4.0-RC3\source\Seasar.Quill\QuillInjector.cs:line
333
at Seasar.Quill.QuillInjector.InjectField(Object target, FieldInfo
field) in
C:\TEST\Source\s2container.net-1.4.0-RC3\source\Seasar.Quill\QuillInjector.cs:line
269
at Seasar.Quill.QuillInjector.Inject(Object target) in
C:\TEST\Source\s2container.net-1.4.0-RC3\source\Seasar.Quill\QuillInjector.cs:line
191
at Seasar.Quill.QuillInjector.InjectField(Object target, FieldInfo
field, Type implType) in
C:\TEST\Source\s2container.net-1.4.0-RC3\source\Seasar.Quill\QuillInjector.cs:line
349
at Seasar.Quill.QuillInjector.InjectField(Object target, FieldInfo
field, ImplementationAttribute implAttr) in
C:\TEST\Source\s2container.net-1.4.0-RC3\source\Seasar.Quill\QuillInjector.cs:line
333
at Seasar.Quill.QuillInjector.InjectField(Object target, FieldInfo
field) in
C:\TEST\Source\s2container.net-1.4.0-RC3\source\Seasar.Quill\QuillInjector.cs:line
269
at Seasar.Quill.QuillInjector.Inject(Object target) in
C:\TEST\Source\s2container.net-1.4.0-RC3\source\Seasar.Quill\QuillInjector.cs:line
191
at BlazorApp5.Server.Controllers.WeatherForecastController.Get() in
C:\Users\admin\source\repos\BlazorApp5\BlazorApp5\Server\Controllers\WeatherForecastController.cs:line
52
at Microsoft.Extensions.Internal.ObjectMethodExecutor.Execute(Object
target, Object[] parameters)
at
Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.SyncObjectResultExecutor.Execute(IActionResultTypeMapper
mapper, ObjectMethodExecutor executor, Object controller, Object[]
arguments)
at
Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeActionMethodAsync()
at
Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State&
next, Scope& scope, Object& state, Boolean& isCompleted)
at
Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeNextActionFilterAsync()
内部例外 1:
MissingMethodException: Method not found:
'System.Reflection.Emit.AssemblyBuilder
System.AppDomain.DefineDynamicAssembly(System.Reflection.AssemblyName,
System.Reflection.Emit.AssemblyBuilderAccess)'.
--
このEメールはアバスト アンチウイルスによりウイルススキャンされています。
https://www.avast.com/antivirus
-------------- next part --------------
HTML$B$NE:IU%U%!%$%k$rJ]4I$7$^$7$?(B...
URL: <http://ml.seasar.org/archives/seasar-dotnet/attachments/20200529/bbb4b6da/attachment.html>
seasar-dotnet メーリングリストの案内