从完整框架项目到核心框架项目的项目引用无法识别命名空间

Namespace not recognized for project reference to core framework project from full framework project

描述问题的最简单方法是提供重现步骤。

使用发布位(VS 2015 Update 3 和 .NET Core 1.0),创建包含两个项目的解决方案,如下所示:

  1. 创建 .NET Core class 库。
  2. 在 project.json 中将 "netstandard1.6" 更改为 "netstandard1.4"。
  3. 创建完整框架控制台应用程序。
  4. 将项目属性中的目标框架更改为“4.6.1”。

此版本两个项目都符合相同的 .NET 平台标准。

  1. 从控制台应用程序,将项目引用添加到 class 库项目。

  2. 在控制台应用程序代码中,在class库项目中引用一个class,例如:

    static void Main(string[] args)
    {
        var x = new ClassLibrary1.Class1();
    }
    

产生以下错误消息:

The type or namespace name 'ClassLibrary1' could not be found (are you missing a using directive or an assembly reference?)

看起来这是 xproj 项目参考的问题。如果您编译代码并专门引用 dll,它应该可以工作。这已被详细讨论 here

据我所知,我们一直在等待将 xproj 转换为 csproj,这应该可以解决问题。