首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >命名空间无法识别(即使它在那里)

命名空间无法识别(即使它在那里)
EN

Stack Overflow用户
提问于 2010-11-20 04:13:25
回答 21查看 214.9K关注 0票数 163

我得到了这个错误:

未能找到类型或命名空间名称“AutoMapper”(是否缺少

指令或程序集引用?)

有趣的是,我的项目中已经有了这个引用:

这是我的代码:

代码语言:javascript
复制
using System.Collections.Generic;
using DataContract;
using SelectorDAL;
using AutoMapper;

namespace SpecimenSelect
{
    public class SpecimenSelect : ISpecimenSelect
    {
        public SpecimenSelect()
        {
            SetupMaps();
        }

        private static void SetupMaps()
        {
            Mapper.CreateMap<SpecimenDetail, SpecimenDetailContract>();
        }

另一件奇怪的事情是,我的解决方案中还有另外两个项目,它们都使用AutoMapper并引用完全相同的AutoMapper.dll文件。它们都工作得很好。

以下是其中之一的屏幕截图:

下面是代码(可以很好地编译):

代码语言:javascript
复制
using System.Collections.Generic;
using AutoMapper;
using DataContract;
using SelectorDAL;

namespace PatientSelect
{

    public class PatientSelect : IPatientSelect
    {
        public PatientSelect()
        {
            SetupMaps();
        }

        private void SetupMaps()
        {
            Mapper.CreateMap<Patient, PatientContract>();
            Mapper.CreateMap<OrderedTest, OrderedTestsContract>();
            Mapper.CreateMap<Gender, GenderContract>();
        }

这两个引用在属性页上似乎具有相同的数据。

我遗漏了什么?

我试过了:

在不使用using语句的情况下重新启动Visual Studio

  • Referencing (即AutoMapper.Mapper.CreateMap)

  • Clean

还有其他想法吗?

EN

回答 21

Stack Overflow用户

回答已采纳

发布于 2010-11-20 04:15:19

检查以确保您的项目未设置为使用.NET Framework4客户端配置文件。

您可以通过右键单击您的项目(而不是解决方案),选择属性 -> 应用程序 -> 框架来检查/更改这一点。目标框架是该页面上的下拉列表。

这是Visual Studio中的一个问题(我甚至可以称之为bug)。AutoMapper需要从.NET Framework4客户端配置文件中排除的程序集。由于您的项目使用的是该版本的框架,因此它会中断。

当您引用的项目的.NET框架版本高于进行引用的项目时,将在生成过程中传播类似的错误。例如,一个目标为4.5的项目引用了一个目标为4.5.1的项目,也会给出同样的错误。

当这种情况发生时,需要一个更好的错误消息,因为没有合理的解释来解释为什么它不会生成,因为错误消息告诉你引用一个你已经明确引用的程序集。

票数 271
EN

Stack Overflow用户

发布于 2010-11-20 04:16:49

让我问一个愚蠢的问题:可能有两个automapper.dll文件吗?一个有AutoMapper名称空间,另一个没有?确认两个项目中的路径。

我还注意到using命令的顺序不同。这应该无关紧要,但你有没有试过给他们洗牌呢?

票数 28
EN

Stack Overflow用户

发布于 2018-08-29 20:40:06

如果所有其他答案都不能帮助您,这将是最简单的解决方案

我在答案中寻找我的设置出了什么问题,尝试了所有的答案-没有一个有效,然后我意识到微软Visual Studio2018是由开发的。所以我做了大多数人都做的事,

重新启动了Visual Studio,并且工作正常

票数 26
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4228992

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档