質問

ヘルプ、ここでの考え方は次のとおりです。

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" クラスを参照する。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top