NRefactoryを使用しようとしても、System.IO.FileNotFound例外が発生します。私はそれを機能させるために多くの方法を試しました:-Mono.Cecilを自動的にインストールするNuGetパッケージを使用しました-NRefactoryとMono.Cecilをダウンロードし、VS2010からすべてのDLLをコンパイルしました。
私は何が間違っているのですか?エラーダンプは次のとおりです。
[System.IO.FileNotFoundException]
{"Could not load file or assembly 'ICSharpCode.NRefactory, Version=4.2.0.8783,
Culture=neutral, PublicKeyToken=efe927acf176eea2' or one of its dependencies.
The system cannot find the file specified.":"ICSharpCode.NRefactory,
Version=4.2.0.8783, Culture=neutral, PublicKeyToken=efe927acf176eea2"}
System.IO.FileNotFoundException
編集:これは問題を引き起こすコードです:
List<CodeElement> methodsInvokedByGivenMethod = GetInvokedMethods(methodName, fileName);
そして、これは一連の方法です。
private List<CodeElement> GetInvokedMethods(string methodName, string itemWhereMethodIs)
{
MessageBox.Show("I am here");
try
{
using (var fs = File.OpenRead(itemWhereMethodIs))
{
using (var parser = ParserFactory.CreateParser(SupportedLanguage.CSharp, new StreamReader(fs)))
{
parser.Parse();
}
}
}
catch (System.IO.FileNotFoundException fnf)
{
// This exception arises in Nrefactory...WTF? 0_0
SetToolStripText("There is exception :(");
return null;
}
}
さらに重要なことは、例外はこのメソッド内のtry-catchブロックによってキャッチされていませんが、このメソッドの外部で->呼び出されたときに発生しますが、その中のコード行の前に発生します。