1
私はポストシャープのためにCompileTimeValidate(MethodBase method)
と書こうとしています。問題は、違反が発生したときにエラーリストに説明だけが表示されることです。 'File'列と 'Line'列は空です。MethodBaseはファイル名と行番号を提供しますか?
私が使用できる唯一の情報は、属性が適用されたメソッドのMethodBase
インスタンスです。
MethodBase
オブジェクトのソースファイルと行番号の詳細を取得する方法はありますか?
public override bool CompileTimeValidate(MethodBase method)
{
MessageSource.MessageSink.Write(new Message(SeverityType.Error, "CU0001",
"MyError", "MyAspectLibrary"));
return false;
}
管理用PDBの解析に関する詳細は、使用可能なpremadeコードを参照してください。http://blogs.msdn.com/jmstall/archive/2005/08/25/pdb2xml.aspx –
PostSharpはPDBファイルの読み込みと書き換えを行いますが、ラオスには公開されていません。問題は、PDBファイルにはフィールド、メソッド、タイプなどの場所が含まれていませんが、メソッド内の命令の場所だけが含まれることです。これは、抽象メソッド、型、フィールドなどにはほとんど役に立ちませんが、 –