問題タブ [net-reactor]
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# - 難読化後の奇妙なランタイム エラー
DataObjectJsonLoaderというアセンブリがあります。その中には、次のようなクラスがあります。
難読化前はすべて正常に動作します。使用する難読化ツールはNet Reactor 5.0です。また、文字列の暗号化は既に無効にしています。しかし、難読化後、上記のパブリック関数を呼び出すと、ランタイム バインダー例外が発生します。
「DrillingFluidDataObjectJsonLoader」には「ConvertToMudType」の定義が含まれていません。
この問題の根本的な原因は何ですか? そして、それを修正する方法は?
xamarin - エラー MSB4018 の取得: "LinkAssemblies" タスクが予期せず失敗しました。Visual Studio 2015 の Xamarin Android 用
難読化ツール (.NET Reactor) を使用すると、リリース ビルドで次のエラーが発生します。
1>C:\Program Files (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(1586,5): エラー MSB4018: "LinkAssemblies" タスクが予期せず失敗しました。
1>C:\Program Files (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(1586,5): エラー MSB4018: System.ArgumentException: 空の名前
1>C:\Program Files (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(1586,5): エラー MSB4018: Mono.Cecil.Mixin.CheckName (文字列名) で
1>C:\Program Files (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(1586,5): エラー MSB4018: Mono.Cecil.ModuleDefinition.GetType (文字列名前空間、文字列名) で
1>C:\Program Files (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(1586,5): エラー MSB4018: Mono.Cecil.MetadataResolver.GetTypeDefinition (ModuleDefinition モジュール、TypeReference 型) で
1>C:\Program Files (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(1586,5): エラー MSB4018: Mono.Cecil.MetadataResolver.GetType (ModuleDefinition モジュール、TypeReference 参照) で
1>C:\Program Files (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(1586,5): エラー MSB4018: Mono.Cecil.MetadataResolver.Resolve (TypeReference 型) で
1>C:\Program Files (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(1586,5): エラー MSB4018: Mono.Cecil.ModuleDefinition.Resolve (TypeReference 型) で
1>C:\Program Files (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(1586,5): エラー MSB4018: Mono.Cecil.TypeReference.Resolve() で
1>C:\Program Files (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(1586,5): エラー MSB4018: Mono.Linker.Steps.SweepStep.ResolveAllTypeReferences (AssemblyDefinition アセンブリ) で
1>C:\Program Files (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(1586,5): エラー MSB4018: Mono.Linker.Steps.SweepStep.Process() で
1>C:\Program Files (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(1586,5): エラー MSB4018: Mono.Linker.Steps.BaseStep.Process(LinkContext コンテキスト) で
1>C:\Program Files (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(1586,5): エラー MSB4018: Mono.Linker.Pipeline.Process(LinkContext コンテキスト) で
1>C:\Program Files (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(1586,5): エラー MSB4018: MonoDroid.Tuner.Linker.Process (LinkerOptions オプション、LinkContext& コンテキスト) で
1>C:\Program Files (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(1586,5): エラー MSB4018: Xamarin.Android.Tasks.LinkAssemblies.Execute() で
1>C:\Program Files (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(1586,5): エラー MSB4018: Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost で。実行する()
1>C:\Program Files (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(1586,5): エラー MSB4018: Microsoft.Build.BackEnd.TaskBuilder.d__26.MoveNext() で
Visual Studio v4.2.2.11 (ファイル Xamarin.VisualStudio_4.2.2.11.msi)、Xamarin Android v7.0.2.42、MSBuild 2015、および .NET Reactor 用の Xamarin 拡張機能を備えた Visual Studio 2015 を使用しています。プロジェクトは、.NET FX v4.6.1 と Android ターゲット v5.1 (API 22) および最小バージョン v4.4 (API 19) を使用するようにセットアップされています。
私は自分のプロジェクトでこれを取得していたので、コードを追加せずに空の Android プロジェクトを作成してこれをテストしました。新しい空のプロジェクト (ボタン クリック) によって作成されたコードだけなので、DLL やサードパーティ コンポーネントへの参照はありません。
よろしく、
Nクルーズ
c# - アプリケーションが .net -reactor によって難読化された後、Log4net がランダムなメソッド名を出力する
.net リアクターを使用してアプリケーションを難読化しました。log4net を介して作成されたログ ファイル内のメソッド名がランダムな文字列になっている場所以外では、アプリケーションは正常に動作しています。奇妙なことは、同じメソッド内で異なるログが異なる動作で発生することです。実際のメソッド名が付いているものもあれば、ランダムなメソッド名が付いているものもあります。例えば、
私のlog4netアペンダーは
log4net バージョン 2.0.8 .net リアクター バージョン 5.0
サンプル ログ メッセージは次のとおりです。
2017-12-08 15:17:33.722 DEBUG TWS N1 13 MyclassName.SendMessage 私のメソッド開始
2017-12-08 15:17:33.840 DEBUG TWS N1 13 MyclassName.urT1VHsGarQ1gTcc8O メッセージ要求が db id =166364 に追加されました
2017-12-08 15:17:33.852 DEBUG TWS N1 13 MyclassName.SendMessage メッセージ サービス - 送信終了