intanceクラスにDLL内のコールActivator.CreateInstanceそのAsp.NetにApp_Code内の常駐
-
27-09-2019 - |
質問
ヘルプ、ここでの考え方は次のとおりです。
External.dll
IMyClass NewCreated = (IMyClass)Activator.CreateInstance(Namespace.MyClass).UnWrap();
-----------------------------------------
Asp.Net WebSite
App_Code
Namespace.MyClass.cs
Bin
External.dll
それはされていてもかのう?
私は次のように、とりうる組み合わせの多くを試してみました
Assembly.GetCallingAssembly().CreateInstance("Namespace.MyClass")
Activator.CreateInstance(AppDomain.CurrentDomain,"Namespace","Namespace.MyClass")
Assembly.GetExecutingAssembly().CreateInstance("Namespace.MyClass")
解決
あなたは<のhref = "http://msdn.microsoft.com/en-us/library/system.web.compilation.buildmanager_members%28v=VS.100%29.aspx" のrel = "nofollowをを使用することができますnoreferrer ">リストにApp_Codeディレクトリにコンパイルされているすべてのアセンブリ名にBuildManager.CodeAssemblies のプロパティ。あなたがそのように必要なものを達成できる可能性があります。
にApp_Codeの問題は、すべてが動的に、自然が一時的なものでアセンブリにコンパイルされるということです。これは一時的なアセンブリ名と一緒に来ます。これは、それが不可能なアセンブリ名またはパスをハードコーディングすることができます。
他のヒント
いいえすべてのアセンブリ名を一覧表示するBuildManager.CodeAssembliesプロパティを使用する必要が。代わりに使用します:
TYPE = "Namespace.MyClass、にApp_Code" クラスを参照する。
所属していません StackOverflow