了解新的 DNX

Understanding the new DNX

我正在研究 DNX (ASP.NET),但我遇到了几个问题。 在项目下,在节点 "References" 中,您现在可以看到“.NET Framework 4.5.1”和“.NET Platform 5.4”。

现在,我正在开发一个托管在 Mongo 上的应用程序,当通过 Nuget 安装它时,引用只会添加到 .NET Framework 4.5.1

当我构建我的应用程序时,我看到很多关于 MongoDB 命名空间未找到的错误,尽管它们是彩色的并且在源代码中可用(我确实有智能感知)。

谁能帮我解释一下这是怎么回事?

那是因为您的代码是为 "classical CLR" 和 .NET 核心构建的(这是您在 Visual Studio 中创建项目时文件->新建项目中的默认设置)。

看起来 MongoDB nuget 包仅适用于 "classical CLR",因此无法为核心 CLR 构建您的代码。一种选择是放弃 CoreCLR 支持:您可以通过从 project.json 文件的“frameworks”部分中删除它来实现。

现在我对 MongoDb nuget 包一无所知……也许有一个 CoreCLR 版本……如果是这种情况,那么您需要为 CoreCLR 添加该依赖项(也许有人知道是否完全支持 CoreCLR 并且可以扩展我的答案..)