【问题标题】:Project referencing Portable Class Library gives error in Visual Studio Code引用可移植类库的项目在 Visual Studio Code 中出现错误
【发布时间】:2015-05-04 20:07:29
【问题描述】:

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

如果我随后将以下 sn-p 添加到我的项目中:

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 创建类库项目,也会存在同样的问题。

【问题讨论】:

    标签: visual-studio-code omnisharp


    【解决方案1】:

    也许您在 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

    编码愉快!

    【讨论】:

    • 没有 project.json。正如我在问题中所写,它是一个控制台应用程序。不使用 asp.net 5。没有 dnxcore50,只有 .NET 4.52。
    【解决方案2】:

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

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

    见:http://docs.asp.net/en/latest/client-side/yeoman.html 还有http://docs.asp.net/en/latest/dnx/console.html

    【讨论】:

    • 针对此问题的修复程序现已登陆omnisharp-roslyn v1.4.1(并且omnisharp-atom 也已更新)。不知道该版本何时会出现在 VS Code 中。当前版本的VS Code (0.8) 与 OmniSharp v1.1.1 一起发布。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-27
    • 2013-01-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多