問題タブ [peverify]
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.
.net - PEVerify MD エラー: 0x8013124C
カスタム生成アセンブリで PEVerify を実行すると、この「エラー」が発生します。
これ (およびまったく同じエラーの 196 の他のエラー) 以外に、メタデータと IL に問題はありません。そして、それも正しく機能します。
どこから来たのかを突き止めることができませんでした (アセンブリにはまったく影響しないため)。
残念ながら、Google はこのエラーについてあまり明らかにしていません。
誰かがこの「エラー」とそれがどのように発生するかについての洞察を提供してもらえますか?
ありがとう :)
.net - PEVerify 警告パラメータの順序が正しくありません
Reflection.Emit を使用してアセンブリを作成しました。PEVerify を実行すると、同じタイプの 214 個の警告が返されます。
残念ながら、この種の問題に関するドキュメントはあまりありません。
メソッド名、引数名、クラス名、メソッド署名などに関係するメタデータ警告であるため、私は推測しています。これを私のコードに関連付ける唯一の方法は、これから試していく警告の数です。
どんな助けや洞察もいただければ幸いです。
c# - PEVerify.exe ツールはどこでダウンロードできますか?
InvalidProgramException に遭遇しました。この記事:
http://support.microsoft.com/kb/312544/en-us
PEVerify.exe を実行することをお勧めしますが、見つからないようです。どこから入手できるか知っていますか?
ありがとう。
.net - perify エラーに関する質問
.NET exe に対して peverify ユーティリティを実行すると、いくつかのエラーが発生します (クラス、メソッドの名前が変更されました)。
これは私が気にするべきことですか?これらのメソッドはすべて unsafe キーワードを使用しており、これがこのエラーの原因であると推測しています。しかし、このエラーに関するドキュメントがオンラインで見つからないため、ご意見をお寄せいただければ幸いです。ありがとう!
.net - アンマネージ コードがある場合の BadImageFormatException の回避
Visual Studio からサービスを実行しようとすると、常に BadImageFormatException をスローする Web サービスがあります。 別の質問に対するこの回答では、DLL に対して peverify を実行して、問題があるかどうかを確認することを提案しました。私の Web サービスの DLL は問題ありませんが、Web サービスは ILMerged アセンブリに依存しており、エラーがあります。
[IL]: エラー: [C:\blah\MyILMergedAssembly.dll: 暗号化
Utils.SecureStringExtensions::SecureEquals][オフセット 0x00000055][アンマネージド ポインターが見つかりました] [アンマネージド ポインターが予期されました] スタックに予期しない型がありました。
[IL]: エラー: [C:\blah\MyILMergedAssembly.dll: 暗号化
Utils.SecureStringExtensions::SecureEquals][オフセット 0x0000005D][アンマネージド ポインターが見つかりました][予期されたアンマネージド ポインター] スタックに予期しない型があります。
[IL]: エラー: [C:\blah\MyILMergedAssembly.dll: 暗号化
Utils.SecureStringExtensions::SecureEquals][offset 0x0000007E] アンマネージ ポインターは検証可能な型ではありません。
3 エラー .\MyILMergedAssembly.dll の検証中
(188警告)
これらは、 MyILMergedAssemblyのMarshal
とでの使用に起因すると思いますが、それを行うすべての場所で、メソッドを として宣言しています。peverify が与えるエラーを取り除くにはどうすればよいですか? また、できれば Web サービスを実行しようとしたときに表示される BadImageFormatException を取り除くにはどうすればよいでしょうか?IntPtr
unsafe
編集: ILMerge を使用して、安全でないコードを含むアセンブリをマージできないようです。そのため、Web サービスで MyILMergedAssembly の個々の DLL をすべて参照するようにしましたが、それでも BadImageFormatException が発生します。これで、個々のアセンブリの 1 つで例外が発生します。その個々のアセンブリで peverify を実行すると、次のようになります。
[IL]: エラー: [C:\blah\Connection.dll : 接続
.ConnectionBase::.ctor] [HRESULT 0x80070002] - 指定されたファイルが見つかりません。
それConnectionBase
が参照しているクラスは Connection.dll にあります。または、クラスが Connection 名前空間/プロジェクトで定義されているため、少なくともそうあるべきです。接続のビルド オプションで [安全でないコードを許可する] がオンになっています。ConnectionBase
参照している可能性のあるコンストラクターは、としてマークされていinternal
ます。
編集:安全でないコードで DLL を使用する Web サービス プロジェクトで、「安全でないコードを許可する」をチェックしてみました。compilerOptions="/unsafe"
また、system.codedom > compilers > compiler ノードの Web サービスの Web.config ファイルに追加してみました。ただし、Web サービスを実行すると、次のようなページが表示されます。
ファイルまたはアセンブリ '接続' またはその依存関係の 1 つを読み込めませんでした。不正な形式のプログラムをロードしようとしました。
.net - PEVerify のエラーと警告を解読する簡単な方法はありますか?
以下のようなPEVerify のエラーと警告の出力が与えられた場合、問題のあるクラスとインターフェイスの名前を追跡するにはどうすればよいでしょうか? 私はコンパイラの作者でも IL の魔術師でもないと仮定します。
c# - .NET 4 で実行すると、この行によって VerificationException が発生するのはなぜですか?
助けてください - .NET 4.0 で実行すると、このコードによって VerificationException が発生するのはなぜですか?
.net 2.0 アセンブリで実行peverify
したところ、次のメッセージが表示されました。
ImageResizer.Util.Utils::parseEnum[T]][offset 0x0000000A] 呼び出しの「this」パラメーターは、呼び出し元メソッドの「this」パラメーターである必要があります。
これにより、VerificationException: Operation could destabilize the runtime
中程度の信頼でコードを実行するとメッセージが表示されます。
スタック オーバーフローに関する同様の投稿をすべて読みましたが、このコードには該当しません。
このコードを何らかの形で無効にするジェネリクスの新しいものはありますか?
c# - 実行時に動的アセンブリのMSILを検証するためのAPIはありますか?
実行時にアセンブリをビルドするために使用する場合Reflection.Emit
、ディスクに保存する前にアセンブリのMSILを確認したいと思います。PEVerifyと同様ですが、実行時です。そのようなAPIはありますか?
.net - .NETアセンブリは、参照する可能性のある他のアセンブリとは独立して検証できますか?
言い換えると、.NETアセンブリを検証するには、参照されているアセンブリのいずれかを読み取って分析する必要がありますか?PEVerifyツールは何をしますか?
c# - コンパイル時にlog4netが検証に合格しない
https://github.com/apache/log4net
上記のソースから log4net をコンパイルしていますが、検証に合格しません。
[IL]: エラー: [log4net.dll : log4net.Plugin.RemoteLoggingServerPlugin::Attach][offset 0x00000029] メソッドが表示されません。
コードは大丈夫です:
https://github.com/apache/log4net/blob/trunk/src/Plugin/IPlugin.cs
https://github.com/apache/log4net/blob/trunk/src/Plugin/PluginSkeleton.cs
https://github.com/apache/log4net/blob/trunk/src/Plugin/RemoteLoggingServerPlugin.cs
調査によると、次の呼び出しに失敗していますRemotingServices.Marshal()
。
しかし、ここで重要なことは何もありません。RemotingServices.Marshal()
さらに、任意の型で呼び出すと、同じ問題が発生します。
をこれに変更してもAttach()
:
誰かが問題を特定できますか?