5

大規模な既存のコードベース内に、COM 相互運用機能に登録する必要がある *.dll がいくつかあります。

これらのマニフェスト登録は、次の方法で mt.exe を使用してビルド後のイベントとして実行されます。

mt.exe -manifest "$(ProjectDir)myProjectManifestFragment.xml" -nodependency -managedassemblyname:"$(TargetFileName)" -out:"$(TargetName).manifest" -outputresource:"$(TargetFileName)";#2

この場合、明示的な GUID は必要ありませんが、当然のことながら、mt.exe は次のようなクラッタリング警告を生成します。

mt.exe : genman warning G81010014: Explicit guid not defined for type myInternalType

私の質問は: GUID を明示的に定義せずにこれらの警告を抑制するにはどうすればよいですか?

エラー通知を受け取りたいので、ビルド後のイベントを取得して出力をリダイレクトしたくないことに注意してください(a la > NUL)。mt.exe から stderr のみを抑制する方法がありますが、この警告を抑制したいだけです。mt.exe によって生成されるすべての警告を抑制できれば満足です (特に G81010014 である必要はありません)。

MSDN の mt.exe のドキュメントは、詳細フラグのみを表示しているように見えますが、詳細レベルを警告が抑制される「簡潔」モードに変更する方法はありません。Visual Studio 2010 内では、特定の警告を抑制する方法があるようですが、mt.exe によってのみ生成される警告は言うまでもなく、ビルド後のイベントに固有にどのように適用できるかを確認することはできません。

前もって感謝します!これは実際、スタック オーバーフローに関する私の最初の投稿です :) もっと具体的、大まかにする必要がある場合はお知らせください... ^_^

乾杯!

-カダージュ

4

1 に答える 1

1

私は同じ問題を抱えています(VS 2010)。NULへのリダイレクトは、私が考えることができるすべてです。

マルチコマンドラインまたはバッチファイルをいつでも実行して、エラーをテストできます。

MT.EXE  etc...
if NOT %ERRORLEVEL%==0 ...
于 2016-05-21T22:25:20.347 に答える