1

標準ファイル( Site.MasterWeb.ConfigDefault.aspxなど)の中でこれら2つのクラスを使用して、VS2010とMonoDevelopの両方で同じASP.NET C#プロジェクトを作成し、下部に表示される同じエラー(CS0234)を受け取りました。

Login.cs:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using mynamespace;

namespace mynamespace
{
    public partial class Logon 
    {
        public void btnClicked(object sender, EventArgs e)
        {

            //ERROR IS HERE:
        mynamespace.Test session = new mynamespace.Test();

            //Obviously, this doesn't work either:
            Response.Write(session.echoUser());

        }
    }

}

Test.cs:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using mynamespace;

namespace mynamespace
{
    public class Test
    {
        public string echoUser()
        {
            return "foobar";
        }
    }
}

両方のIDEで同じエラーが発生します。MonoDevelopエラーは次のとおりです。

タイプまたは名前空間'Test'が名前空間'mynamespace'に存在しません(アセンブリ参照がありませんか?)(CS0234)Logon.cs

基本的に、クラスTestはインスタンス化を拒否します。どんな入力でも大歓迎です!

4

3 に答える 3

1

まだ行っていない場合は、プロジェクトを相互に参照する必要があります。他の名前空間のクラスを表示するためのインテリセンスが得られないと思いますよね?

プロジェクトビューの下の右側(ほとんどの場合)に参照が表示されます。そこで右クリックして、参照の追加を選択できます。次に、ptherプロジェクトからバイナリを参照します。(プロジェクト自体も指摘できるかもしれません。現時点では、目の前にVSはありません。)

また、名前空間にはキャメルケースを使用するのが慣例なので、MyNameSpaceにする必要があります。

クラスが同じプロジェクトにある場合は、 mynamespaceの使用をスキップして、 mynamespace.Testの代わりにTestでクラスを参照することをお勧めします。

于 2012-12-20T18:50:41.247 に答える
1

ASP.Net WebプロジェクトにそのTestクラスがある場合は、サイト内のどこかだけでなく、App_Codeフォルダーに配置する必要があります。

于 2012-12-20T19:21:32.580 に答える
0

これらが両方とも同じプロジェクトにある場合は、両方のファイルがプロジェクトに含まれており、「ビルドアクション」プロパティが「コンパイル」に設定されていることを確認してください。また、これらの名前空間のすべてが完全に一致するスペルと大文字小文字を持っていることを確認してください。

于 2012-12-20T19:15:05.303 に答える