2

我在 Visual Studio 2015 RC 中创建了一个控制台应用程序,并使用 nuget 将 Automapper 3.3.1 添加到项目中。

如果我随后将以下代码段添加到我的项目中:

public class Class1
{
    public void Test()
    {
        AutoMapper.Mapper.Map<B>(new A());
    }
}

然后在 Windows 10 上的 Visual Studio Code 预览中打开同一个项目,然后我在 Map 函数上看到一个红色的波浪线。

错误消息说:

“对象”类型是在未引用的程序集中定义的。您必须添加对程序集 'mscorlib, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e, Retargetable=Yes'的引用。

我的项目配置为使用 .NET 4.52,并且在使用 Visual Studio 2015 RC 或从命令行使用 MSBuild 构建同一项目时绝对没有错误或警告。

Automapper 是可移植的类库,这似乎是引发问题的原因。这是 Visual Studio Code 或 Omnisharp 的已知问题吗?有没有办法抑制这些错误信息?

更新:我现在已经使用 VS Code 0.3 版进行了测试,但仍未修复。

为了使重现更加简单,我还验证了仅包含 3 个类的 ClassLibrary 项目也存在该问题:如图所示的 Class1 以及 A 类和 B 类,它们只是两个用于映射的虚拟类。使用哪个版本的 Visual Studio 来创建项目并不重要。如果我使用 VS 2013 创建类库项目,也会存在同样的问题。

4

2 回答 2

0

也许您在project.json文件中的dnx451dnxcore50中都添加了引用。我认为问题在于 Automapper 不支持 .NET Core 5.0,有关 .NET Core 5.0 和 .NET Framework 4.6 的更多详细信息,请参阅本文。 http://blogs.msdn.com/b/cesardelatorre/archive/2014/11/18/what-is-net-core-5-and-asp-net-5-within-net-2015-preview.aspx

这可能是.NET Core 5.0中使用可用库时多环境的限制。需要自行编写或等待其他库更新,否则请删除project.json中的dnxcore50

快乐编码!

于 2015-06-09T11:28:17.117 回答
0

这实际上是支持 VS Code 的 OmniSharp-roslyn 服务器的一个已知问题,请参阅:https ://github.com/OmniSharp/omnisharp-roslyn/issues/265

我怀疑使用yeoman ASP.NET 5 生成器生成 ASP.NET 5 控制台应用程序可能会更好。

请参阅:http ://docs.asp.net/en/latest/client-side/yeoman.html 和http://docs.asp.net/en/latest/dnx/console.html

于 2015-09-09T22:46:11.150 回答