件名のように、Visual Studio 2010 Ultimate のコンテキスト メニューに「解決」が見つかりません。インターネットの先生のコンピューターで見たことがありますが、コンテキストメニューで見つけることができません。画面を見てください。入手方法は?
3 に答える
[解決] メニューを表示するには、VS が解決できると判断したキーワードの上にいる必要があります。キーワードを間違って入力した場合、またはアセンブリが参照されていない場合、VS は何も解決できません。
これについて少し考えてみると、正当なキーワードをコードに入力すると、そのクラスを含む可能性のあるアセンブリがどこかにある可能性があり、そのアセンブリを参照していれば、キーワードは解決可能になります。これは VS が知ることが不可能であるだけでなく、そのアセンブリを参照するためにプロジェクトの変更も必要になるため、[解決] ダイアログに関してこれが範囲外であることはある程度理にかなっています。
これを実際に見たい場合は、不足しているクラスを含むコード行を作成してください。
namespace ResolveTest
{
class Program
{
static void Main(string[] args)
{
OtherClass.OtherMethod();
}
}
}
OtherClass が見つからないため、フラグが立てられていることに注意してください。それを右クリックしても、Resolve はありません。
ここで、クラス定義を (別の名前空間に) 追加します。
namespace NotInTheSameSpace
{
public class OtherClass
{
public static void OtherMethod()
{
}
}
}
通常、これは完全に別のファイルまたは別のアセンブリにありますが、デモの目的で、これを既存のコードのすぐ下にドロップできます。「解決」メニューが Main() に表示されるはずです。
ここに表示されているもう 1 つのことは、[解決] ダイアログに解決するものが何もない場合、無効になっているが表示されているのではなく、そのコンテキスト メニューに表示されていないことです。これは少し紛らわしいように思えるかもしれませんが、実際にはコンテキスト メニューを現在のコンテキストに関連させておくための努力です。
入力してFile.Open("Test.txt");
からクリックしてFile
、解決策が見つかるかどうかを確認します。に解決できるはずSystem.IO.File
です。
記録のために、関数のコンテキスト メニューを開きました。関数は型だけでは解決できません。したがって、代わりに次のように入力することもできます:Debug
次に、コンテキスト メニューを開いて、それをSystem.Diagnostics
. 次に、関数を呼び出すことができますWriteLine
。
したがって、あなたの質問に加えて、存在しないSystem.Diagnostics.Debug.WriteLine(object)
代わりに必要です。System.Diagnostics.Debugger.WriteLine
ロングシュート - 関数の間違った名前を書いているかもしれません。VSはあなたのためにそれを解決できないのですか?
Using
そうでない場合は、問題を解決するために、ファイルの先頭にステートメントを追加するだけで解決します。そのためには、プロジェクトには、関数を持つライブラリへの正しい参照が必要です。「ソリューションエクスプローラー」(添付の写真の右側のメニュー)を使用できます。プロジェクトの下に「参照」のタブがあることを確認し、そうでない場合は右クリックして「参照を追加...」