2

VS 2010 pro sp1に奇妙な問題があります。私のカスタムクラス(すべて同じ名前空間内)がインテリセンスで表示されません。すべての変数宣言の下に赤いスウィッグリー行が表示され、それらの上にマウスを置くと、次のようになります-タイプまたは名前空間名「xxx」が見つかりませんでした(usingディレクティブまたはアセンブリ参照がありませんか?)。

奇妙な部分は、正しいusingステートメントが用意されていることです。すべてが正しいので、プロジェクトは正しくコンパイルおよび実行されます。これらのページを開発している間、カスタムクラスにインテリセンスがないのは面倒です。注意すべき点は、これはWebサイトアプリケーションプロジェクトではなく、Webサイトプロジェクトです。Visual Studioを何度か再インストールしましたが、以前は新しいソリューションファイルを再作成することで問題を修正できましたが、その後すぐに問題が発生し、常にそうする必要はありません。何かご意見は?

4

2 に答える 2

3

あなたの投稿に「はしけ」てすみません-おそらくWebアプリケーションへの変換で問題は解決しましたが.....

明確化

「ウェブサイト」プロジェクトには「名前空間」のような概念はありません。

上記がどのように始まったかはわかりませんが、不正確です。ASP.NetWebサイトに名前空間を含めることができます(Intellisenseを取得できます)。これは、どのパラダイムが「より良い」かについてではありません。これが「受け入れられた事実」になる前に、うまくいけば明確にされます。

フォルダはあなたのApp_Code友達です(アイテムを追加すると、VSはそれについて尋ねますClass

Webサイトのフォルダ構造

Namespaced.vbの完全なソース:

Imports Microsoft.VisualBasic

Namespace EdSFNS
    Public Class foo
        Public Property someInt As Integer
        Public Property someString As String
        Public Sub New()
        ...
        End Sub
    End Class
End Namespace

さらに別の名前空間(namespaced2.vb):

Imports Microsoft.VisualBasic

Namespace StackOverFlowNS
    Public Class foo
        Public Property someInt As Integer
        Public Property someString As String
        Public Sub New()
        End Sub
    End Class
End Namespace

RazorページのIntellisense:

Intellisenseの動作1 Intellisenseの動作3

Intellisenseの動作2


結果:

Webサイトの名前空間は問題なく機能します


HTH..。

于 2012-05-24T06:15:29.760 に答える
2

Webアプリケーションプロジェクトテンプレートに切り替えます。私はこれがウェブサイトのテンプレートで何度も起こるのを見てきました。特にユーザーコントロールが関係している場合は、ライブラリとうまく連携しません。GoogleまたはSOを検索すると、このトピックに関する多くの同様の質問が見つかります。

于 2012-05-24T03:07:56.957 に答える