2016-07-22 5 views
0

ソースがないC#で書かれたDLLがあります。私はDLLを変更するために別のC#decompilerを試しましたが、それらはすべて私の修正で再コンパイルしようとするとエラーが出る、私はILの逆コンパイルの制限のためだと思います。 .csファイルをDLLのルートに順番に追加するか、機能を追加するためのメソッドを挿入することはできますか? PS:これはソフトウェアをハックするのではなく、DLLを変更する必要があるゲームのMODを作成するためのものです。DLLにC#ファイルを挿入します。

+0

コンパイルを変更せずに試しましたか?それがうまくいくならば、エラーはおそらくあなたの追加にあります。そしてあなたはすべての参考文献をチェックしましたか? – derpirscher

+0

修正を加えることなくコンパイルするとエラーが変化します。参照が多すぎるため、エラーが発生しているかどうかは分かりません。 – cgcmake

+0

コンパイルできるようにするには、有効なビルド構成をセットアップする必要があります。これには、正しい参照の設定も含まれます。そうしないと、コンパイルできなくなります。あなたはどんなエラーを出していますか? – derpirscher

答えて

0

.NET ReflectorのReflexilプラグインは、その作成者がvideoに示すように、メソッドまたはクラスをDLLに挿入できます。 アセンブリでILコードを挿入するだけで、コンパイル時のコンパイルエラーを防止します。

このプラグインをインストールするには、these stepsに従ってください。

2

最適な方法は、dllの周りにラッパープロジェクトを作成して、必要な機能を追加することです。あなたのコードは、DLLの代わりにプロジェクトを参照することができます。クラスが封印されていない限り、それらから継承することができるはずです。

おそらくアクセスしていないコードを変更することは、まずはお勧めできません。特にdllが将来更新される可能性がある場合

1

同じ名前空間で新しいDLLを作成することもできます。これにより、同じ場所にあるかのように見えるかもしれませんが、名前空間がプロジェクト/ dllの名前と一致することが予想されるため、これはベストプラクティスではなく、混乱する可能性があります。

ベンジャミンのラッパー付きソリューションは妥当と思われます。

関連する問題