別のdllのインターフェイスでImmutableArray <>を使用してメソッドを呼び出すと、System.MissingMethodExceptionがスローされます。

スカイラージョキエル

問題

私は2つのそれぞれのdllに以下のコードを持っています。dll1はdll2に依存します。

ときDoWork()に呼び出され、それが実行されますmyInterface.MyListMethod(ImmutableList<byte>.Empty);罰金を。実行するとmyInterface.MyArrayMethod(ImmutableArray<byte>.Empty);、次の例外がスローされます。

Exception:System.MissingMethodException: Method not found: Namespace.MyArrayMethod(System.Collections.Immutable.ImmutableArray'1<Byte>)

dll1.dll

public class TestClass
{
    public void DoWork()
    {
        IMyInterface myInterface = new MyInterface();
        myInterface.MyListMethod(ImmutableList<byte>.Empty);
        myInterface.MyArrayMethod(ImmutableArray<byte>.Empty);          
    }
}

dll2.dll

public class MyInterface : IMyInterface
{
    public void MyArrayMethod(ImmutableArray<byte> byteArray)
    {
        // Do stuff
    }

    public void MyListMethod(ImmutableList<byte> byteList)
    {
        // Do stuff
    }
}
public interface IMyInterface
{
    void MyArrayMethod(ImmutableArray<byte> byteArray);
    void MyListMethod(ImmutableList<byte> byteList);
}

テスト

私の観点からは、ImmutableArray<>上記のように、Immutable名前空間の他のタイプを含め、複数のタイプでこれを試したため、問題があるようです。それはImmutableArray<>私が試した限りでのみ起こります。

また、両方のdllが現在のdllであり、gacの周りに古いキャッシュバージョンがぶら下がっていないことを確認しました。別のメソッドを持つようにインターフェイスを更新してから、MyArrayMethodが期待どおりに機能する前にそれを呼び出します。

Visual Studioは、特に、ImmutableArray<>パラメーターを含むインターフェイス上のメソッドへの呼び出し参照を取得しませんが、ImmutableList<>を含むメソッドに対しては取得します。ImmutableArray<>メソッドからparamを削除すると、参照も取得されます

MyArrayMethodには参照が1つだけあります

ソリューションは正常に構築されますが、このエラーがスローされるのは、実行時にJITを試行した場合のみです。

スカイラージョキエル

'System.Runtime'にプロジェクト参照を追加すると、すべて正常に機能します。それでおしまい。

VSがプロジェクト参照を自動追加して解決したカルチャーの問題があったことを再現しようとしたときに、問題を解決することになりましたSystem.Runtimeこれにより、より大きな問題が修正されました。VSの参照は現在正常に機能しており、コードは問題なく実行されます。

nullを渡すと、それなしでビルドされSystem.Runtimeますが、メソッドを呼び出すと、例外がスローされます。ただし、デフォルトを渡そうとすると、ImmutableArrayを追加する必要がありますSystem.Runtimeこれで問題は解決します。

これで問題が解決した理由はわかりませんが、問題は解決しました。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

Related 関連記事

ホットタグ

アーカイブ