2016-08-26 12 views
0

DataObjectJsonLoaderというアセンブリがあります。その中に次のようなクラスがあります:難読化後のランタイムエラー

public static class DrillingFluidDataObjectJsonLoader 
{ 
    public static Result<DrillingFluid> Load(string strDrillingFluid) 
    { 
     .... 
     var type = ConvertToMudType(...); 
     .... 
    } 
    private static MudType ConvertToMudType(string strDillingFluidType) 
    { 
     .... 
    }  
} 

難読化の前にすべてうまくいきます。 難読化ツールは、ネットリアクタ5.0です。また、文字列の暗号化はすでに無効になっています。

「DrillingFluidDataObjectJsonLoader」が「ConvertToMudType」の定義が含まれていません。私たちは上記のパブリック関数を呼び出すときには難読化した後、ランタイムバインダー例外が存在します。

この問題の根本原因は何ですか? それを修正するには?

+5

はネット原子炉のサポートはこれを聞いて良い場所ではないでしょうか?明らかにプライベートメソッドの名前を変更していますが、コールサイトを変更していません。 – CodeCaster

+0

難読化されたインターフェイス(ほとんどすべてのJSONツール)は危険な方法です。あなたは確かですか?あなたのソフトウェアはいつか誰かが解体しますか? –

答えて

1

多分ちょうど一時的な解決策として、難読化からこのクラスを除外...

[Obfuscation(Exclude = true, ApplyToMembers = true)] 
+0

これは私を大いに助けました、私はこの属性を認識しませんでした。 – abeyaz