我收到此错误:
找不到类型或命名空间名称'AutoMapper'(您是否缺少using指令或程序集引用?)
有趣的是,我已经在我的项目中有了这个参考:

这是我的代码:
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>();
}
Run Code Online (Sandbox Code Playgroud)
另一个奇怪的事情是我的解决方案中有两个其他项目都使用AutoMapper并引用完全相同的AutoMapper.dll文件.他们都完美无缺.
这是一个屏幕截图:

这是代码(编译好):
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>();
}
Run Code Online (Sandbox Code Playgroud)
两个引用似乎在属性页面上具有相同的数据.
我错过了什么?
我试过了:
AutoMapper.Mapper.CreateMap)还有其他想法吗?
And*_*are 249
检查以确保您的项目未设置为使用.NET Framework 4 Client Profile.
您可以通过右键单击项目(而不是解决方案)来检查/更改此项,选择" 属性" - >" 应用程序" - >" 目标框架".目标框架是该页面的下拉列表.
这是Visual Studio中的一个问题(我甚至会把它称为bug).AutoMapper需要从.NET Framework 4 Client Profile中排除的程序集.由于您的项目正在使用该版本的框架,因此它会中断.
当您引用的项目的.NET Framework版本高于进行引用的项目时,类似的错误将传播到构建过程.即一个针对4.5的项目,它引用了一个针对4.5.1的项目,它会给你同样的错误.
发生这种情况时需要有一个更好的错误消息,因为没有合理的解释,为什么它不会构建,因为错误消息告诉您引用您已明确引用的程序集.
n8w*_*wrl 27
让我问一个愚蠢的问题:是否有两个automapper.dll文件?一个有AutoMapper命名空间而一个没有?确认两个项目中的路径.
我还注意到using命令的顺序是不同的.这应该没关系,但是你试着改变它们吗?
小智 17
如果你的类没有编译,即使它在项目中检查这些:
use*_*328 10
我通过右键单击包含文件的文件夹并选择" 从项目中排除"然后再次右键单击并选择" 包含在项目中"(首先必须启用" 显示所有文件"以使排除的文件夹可见)来解决此问题
如果所有其他答案都不能帮助您,这必须是最简单的解决方案
我正在寻找答案中设置的问题,尝试了所有答案-没有用,然后我意识到Visual Studio 2018由Microsoft开发。所以我做了大多数人所做的
重新启动Visual Studio, 并且可以正常工作
小智 7
我有类似的问题,在VS2010中没有被识别的参考文献,这里的答案无法纠正它.
我的解决方案中的问题与引用项目所在路径的扩展有关.当我使用SVN时,我创建了一个存储库的分支来进行一些测试,并且该分支在路径结构中增加了两个级别,因此路径变得太长而无法在Windows中使用.这没有抛出任何错误,但没有识别项目引用的命名空间.当我纠正项目的位置以获得更小的路径时,一切都很顺利.
就我而言,引用的dll是在更高版本的.Net Framework中构建的.添加引用后,我可以使用它.但是一旦我进行了构建,就会弹出"缺少引用"错误.我刷新了错误将会发生的DLL,但它永远不会构建.这篇文章让我检查了框架版本,因此我可以通过在同一版本中构建引用的项目来解决它.
| 归档时间: |
|
| 查看次数: |
164450 次 |
| 最近记录: |