問題タブ [ilasm]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 共通言語ランタイムが無効なプログラムを検出しました - ILGenerator
基本的に、バイト配列内のデータをオブジェクトに逆シリアル化しようとしています。文字列を読み取るために、UTF8エンコーディングのGetStringメソッドを使用しようとしています。ここに私のコードの一部があります:
このコードの外で「getstring」のメソッド署名を確認したところ、動作しました。「.boxIfAny」を削除しようとしましたが、「callvirt」ではなく「call」も使用してみました。私が理解しているように、「callvirt」は、この場合に適用されるインスタンスメソッドです。何か案は?
c# - ilasm.exe アセンブラーを使用したコンパクト フレームワーク DLL の作成
そのため、Compact Framework を変更して C 関数をエクスポートしようとしています。フルフレームワークで問題なく動作します。
ここで使用されている方法が説明されています。https://sites.google.com/site/robertgiesecke/Home/uploads/csharpprojecttemplateforunmanagedexports
とにかく問題は、Compact Framework Dll を逆アセンブルしてから再アセンブルすると、Full Framework Dll として再アセンブルするように見えることです。
コンパクト フレームワーク DLL として再アセンブルする方法を教えてください。
il - 「リリース」モードでの Ilasm の使用方法
ilasm を使用して il コードをコンパイルしたいと考えています。私が使用できる非常に多くのパラメータがあります。ビジュアルスタジオでは、プロジェクト設定で「コードの最適化」にチェックを入れるだけです。ilasm コンパイラを「リリース」モードでコンパイルし、コードを最適化し、できるだけ少ないデバッグ情報を作成できるようにするにはどうすればよいですか -> 可能な限り最高のパフォーマンスを実現したいと考えています。
c# - 逆アセンブル時の .net アイコンの損失
コマンド「ildasm MyApp.exe /output:MyApp.il」を使用してアプリケーションを分解すると、いくつかのリソース ファイルと MyApp.il が生成されました。その後、生成されたすべてのファイルと .il ファイルを ilasm.exe のフォルダーにコピーしました。コマンド「ilasm MyApp.il」を使用してビルドした後、MyApp.exe ファイルが生成されましたが、アイコンはありませんでした。アイコンの復元を手伝ってください、ありがとう。
.net - ECMA CLS 標準は、TypeSpec がプロパティのゲッター/セッターのオプションであることを示していますが、ilasm は不平を言っています
CLR ECMA 標準ドキュメントの 196 ページによると、クラス プロパティ ゲッターを定義するための MSIL 文法は次のとおりです。
.get は、このプロパティのゲッターを指定します。TypeSpec のデフォルトは現在の typeです。プロパティに指定できる getter は 1 つだけです。CLS に準拠するために、getter の定義は specialname とマークされます。
上記の太字のセクションと、TypeSpec '::' が [] 内にあることに注意してください。
したがって、クラス内でこれを実行できる必要があることを意味します。
しかし、イラスムはそれを受け入れず、次のように不満を述べています。
エラー: 未解決のグローバル メンバー ref 'get_Top' エラー: 未解決のグローバル メンバー ref 'set_Top'
Stack`1::get_Top() のみを受け入れます。
完全なプロパティ + メソッドは次のようになります。
仕様を誤解していますか?
.net - 署名されていないアセンブリに署名し、ilasm.exe を使用して .NET 2.0 をターゲットにする
.NET 2.0 アセンブリのみをサポートする SQL Server 2008 用の CLR アセンブリを作成しています。さらに、SQL Server では、登録するアセンブリごとに厳密な名前のキーも必要です。
作成しようとしているアセンブリは、.NET 2.0 バージョンの json.net ( https://json.codeplex.com/ ) を参照しています。ただし、Newtonsoft.Json.dll 自体が署名されていないため、私のプロジェクトは SNK ファイルを生成できません。(少なくとも、プロジェクトをビルドして署名しようとしたときに発生するエラーです。)
ここで説明されているトリックを使用してこれを回避しました: http://buffered.io/posts/net-fu-signing-an-unsigned-assembly-without-delay-signing/
ただし、プロジェクトの SNK を使用して Newtonsoft.Json.dll を再アセンブルする場合、.NET 2.0 より上位のターゲット フレームワークで DLL を生成する必要があります。これは、SQL Server で次のエラーが発生しているためです。
ターゲット フレームワーク .NET 2.0 で ilasm.exe にアセンブリを生成させる方法を知っている人はいますか? または、おそらく私は問題に完全に間違って取り組んでいます.2008年にCLRアセンブリでNewtonsoft.Jsonを使用するためのより良い解決策があれば、知りたいです. ありがとうございました!