2016-11-08 3 views
5

は、我々は使用してアセンブリの開始を得ることができます:.NET CoreのAssembly.GetEntryAssembly()に相当するものは何ですか? .NET Frameworkの

Assembly.GetEntryAssembly(); 

しかし、それは、.NETのコアから削除されます。 AppDomainもありません。 .NET CoreおよびWindows Universalアプリケーションのエントリアセンブリへのアクセス方法を教えてください。

(私はその埋め込みリソースキーのすべてを見つける必要がある)

+0

(Assembly.GetExecutingAssemblyを試してみてください) –

+0

:(ライブラリを使用しています)、起動アプリケーションで

class AssemblyHelper { // This can be called instead of Assembly.GetEntryAssembly() public static Func<Assembly> GetEntryAssembly; } 

:ライブラリで

。これらの静的メソッドは.NETコアのAssemblyクラスから削除されています! – Paymon

答えて

0

私はライブラリにエントリアセンブリを注入しました。どちらか存在していない

class Program 
{ 
    public static void Main() 
    { 
     AssemblyHelper.GetEntryAssembly =() => typeof(Program).GetAssembly(); 

     .... 
    } 
} 
+0

悲しいことに、これは 'Program'について何も知らないライブラリでは動作しません。 –

+0

真。しかし、アセンブリを挿入するこの方法を提供したり、ライブラリのユーザー用に「セットアップ文書」を追加して、上記のコードを独自のプログラムに追加することができます。理想的ではないが、できる。 – Paymon

6

Assembly.GetEntryAssembly()ではなく、バージョン1.4を通じて1.0で、.NET標準1.5で利用可能です。 .NET CoreおよびユニバーサルWindowsアプリケーションのみを開発している場合は、バージョン1.5で十分です。

正しく覚えていれば、AppDomainは、に表示されるようになっています。.NET標準2.0今は利用できません。

+0

あなたの提案をありがとう。しかし、私のライブラリは、iOS用のXamarinとMonoを使用するAndroidの間で共有されています。 – Paymon

+2

私が知る限り、XamarinのiOSとAndroidは* .NET Standard 1.5 *アセンブリも使用できるはずです。 –

関連する問題