错误表明我缺少 using 指令或程序集引用,但我没有....

Posted

技术标签:

【中文标题】错误表明我缺少 using 指令或程序集引用,但我没有....【英文标题】:Error suggests I'm missing a using directive or assembly reference, but I'm not.... 【发布时间】:2014-09-16 14:07:52 【问题描述】:

我对在一个解决方案中处理多个项目非常陌生。我有两个项目:AutoPoster.DroidAutoPoster.Core

在 AutoPoster.Droid 中,我有一个引用 AutoPoster.Core 中 LocationInfo 的适配器类。我现在收到此错误,不知道为什么:

找不到类型或命名空间“Core”(您是否缺少 using 指令或 assemblu 引用?)

这是我的代码:

using System;
using System.Collections.Generic;
using System.Linq;
using android.App;
using Android.Views;
using Android.Widget;

namespace AutoPoster.Droid.Adapters

    public class PostInfoAdapter : BaseAdapter<Core.Model.LocationInfo>
    
        private readonly Activity activity;
        public List<Core.Model.LocationInfo> LocationInformation  get; private set;  //Getting Error Here
        public PostInfoAdapter(Activity context, IEnumerable<Core.Model.LocationInfo> localInfo)//Getting Error Here
        
            LocationInformation = new List<Core.Model.LocationInfo>(localInfo);//Getting Error Here
            activity = context;
        

        public override int Count
        
            get  return LocationInformation.Count; 
        

        public override Core.Model.LocationInfo this[int position]//Getting Error Here
        
            get  return LocationInformation[position]; 
        

        public override long GetItemId(int position)
        
            return position;
        

        public override View GetView(int position, View convertView, ViewGroup parent)
        
            var view = convertView ?? activity.LayoutInflater.Inflate(Android.Resource.Layout.SimpleListItem2, null);

            var localInfo = LocationInformation[position];

            var name = view.FindViewById<TextView>(Android.Resource.Id.Text1);
            name.Text = !String.IsNullOrEmpty(localInfo.FullName) ? localInfo.FullName : localInfo.ShortName;

            var rxcui = view.FindViewById<TextView>(Android.Resource.Id.Text2);
            rxcui.Text = !String.IsNullOrEmpty(localInfo.FullName) ? localInfo.ShortName : String.Empty;

            return view;
        

        public void ReloadData(IEnumerable<Core.Model.LocationInfo> locationInformation)//Getting Error Here
        
            LocationInformation.Clear();
            LocationInformation.AddRange(locationInformation);
            NotifyDataSetChanged();
        
    

【问题讨论】:

你可能有一个引用,但如果你没有 using AutoPoster.Core 在顶部,或者完全限定对该命名空间中类的引用,那么它不会知道你指的是什么. 谢谢巴里克,但我试过了,但没有用:/ 好的,在你的项目中右键点击References文件夹,添加引用,然后点击窗口左侧的Solution,添加AutoPoster.Core项目。 我正在使用 Xamarin Studios IDE。我没有在左侧看到解决方案 哦 NVM 我在项目选项卡下找到了它。惊人的!非常感谢巴里克 【参考方案1】:

你不能使用这样的命名空间。从AutoPoster 之后,您不能只指定命名空间的一部分。您要么需要 using 指令来处理 AutoPoster.Core.Model

using AutoPoster.Core.Model;

namespace AutoPoster.Droid.Adapters

    public class PostInfoAdapter : BaseAdapter<LocationInfo>
    
        ...
     

或者您需要完全限定类名:

namespace AutoPoster.Droid.Adapters

    public class PostInfoAdapter : BaseAdapter<AutoPoster.Core.ModelLocationInfo>
    
        ...
     

编辑:是的,您实际上必须有一个项目对另一个项目的引用...

【讨论】:

我尝试了这两种解决方案,但仍然遇到相同的错误。如果我添加 using 指令 ​​AutoPoster.Core.Model 它说我缺少一个汇编参考。 :// @Learnin2Code:你检查过你真的正在声明AutoPoster.Core.Model的命名空间吗?您肯定有对其他项目的程序集引用吗? 是的,我的 LocationInfo.cs 看起来像这样 使用系统;使用 System.Collections.Generic;命名空间 AutoPoster.Core.Model public class LocationInfo public string FullName get;放; 公共字符串 ShortName 获取;放; @Learnin2Code:好的。你有什么样的装配参考?是文件还是项目?

以上是关于错误表明我缺少 using 指令或程序集引用,但我没有....的主要内容,如果未能解决你的问题,请参考以下文章

错误 CS0246:找不到类型或命名空间名称“Player”(您是不是缺少 using 指令或程序集引用?) Unity [关闭]

错误1找不到类型或命名空间名称“Controller”(您是否缺少using指令或程序集引用?)

C#错误:未能找到类型或命名空间名称“MessageBoxResult”(是不是缺少 using 指令或程序集引用?)怎么办??

C# 未能找到类型或命名空间名称“Form1”(是不是缺少 using 指令或程序集引用?)

错误 1 未能找到类型或命名空间名称“DevComponents”(是不是缺少 using 指令或程序集引用?)

错误 1 未能找到类型或命名空间名称"dllimport"是不是缺少 using 指令或程序集引用