从完整框架项目到核心框架项目的项目引用无法识别命名空间
Namespace not recognized for project reference to core framework project from full framework project
描述问题的最简单方法是提供重现步骤。
使用发布位(VS 2015 Update 3 和 .NET Core 1.0),创建包含两个项目的解决方案,如下所示:
- 创建 .NET Core class 库。
- 在 project.json 中将 "netstandard1.6" 更改为 "netstandard1.4"。
- 创建完整框架控制台应用程序。
- 将项目属性中的目标框架更改为“4.6.1”。
此版本两个项目都符合相同的 .NET 平台标准。
从控制台应用程序,将项目引用添加到 class 库项目。
在控制台应用程序代码中,在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,这应该可以解决问题。
描述问题的最简单方法是提供重现步骤。
使用发布位(VS 2015 Update 3 和 .NET Core 1.0),创建包含两个项目的解决方案,如下所示:
- 创建 .NET Core class 库。
- 在 project.json 中将 "netstandard1.6" 更改为 "netstandard1.4"。
- 创建完整框架控制台应用程序。
- 将项目属性中的目标框架更改为“4.6.1”。
此版本两个项目都符合相同的 .NET 平台标准。
从控制台应用程序,将项目引用添加到 class 库项目。
在控制台应用程序代码中,在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,这应该可以解决问题。