VS 2015是否在如何添加引用方面发生了巨大变化?
我正在做一个MVC网络项目。我想在我的.NET 4.6应用程序中使用System.Configuration.ConfigurationManager
。我转到References
节点和Add Reference...
并添加了System.Configuration 1.0.0.0。 Intellisense现在能够自动为ConfigurationManager提供属性和方法,例如ConfigurationManager.AppSettings
。
然而,当我尝试编译时,它说
CS0234名称空间“系统”中不存在类型或命名空间名称“配置”(您是否缺少程序集引用?)
如何在新的.NET Framework中完成任务?
当我将鼠标悬停在using System.Configuration
语句上时,会出现一个带有黄色三角形和感叹号的气球文字,上面写着:
{} Namespace System.Configuration
MyProject.DNX 4.5.1 - Available
MyProject.DNX Core 5.0 - Not Available
You can use the navigation bar to switch context.
这意味着什么?
答案 0 :(得分:2)
这意味着您已在DNX 4.5.1中定义了System.Configuration,这意味着DNX Core 5.0无法使用。
project.json文件告诉编译器DNX Core 5.0将是主要的目标框架。因此,如果System.Configuration命名空间在DNX Core 5.0中不可用,那么您将收到错误。
要解决此问题,您需要切换project.json
中定义的框架的顺序来自:
"frameworks": {
"dnxcore50": {
},
"dnx451": {
}
}
到
"frameworks": {
"dnx451": {
},
"dnxcore50": {
}
}
然后你告诉编译器你的主目标框架现在是DNX 4.5.1,它是一个更完整但依赖的框架(.NET Framework 4.5.1!= .NET Core)
.NET Core是.NET Framework的一个非常小的子集,对于在非Windows环境(如Linux和Mac)中运行应用程序非常有用。
如果您的目标是Windows环境,我强烈建议您定位DNX 4.5.1或4.6
答案 1 :(得分:0)
很抱歉,我仍然无法对目前的观点发表评论。
我建议您应该做的事情:
我正在使用System.Configuration 4.0.0.0,它在Visual Studio 2015中运行良好
您可以在here
中查看更多内容答案 2 :(得分:0)
消息您可以使用导航栏切换上下文。显示当您有使用添加为链接的文件的项目时(项目的上下文菜单,然后添加 - >现有项... - >添加为链接)。
示例:假设您在项目 ProjectA 中有一个名为 sample.cs 的C#文件,并且该文件被引用为链接在 ProjectB 中。然后在 sample.cs 中编写一些使用名为 Library 的库的代码。您还只能在 ProjectA 中引用此库。所以 ProjectB 也应该引用该库。如果不是 - 则会显示以下消息:您可以使用导航栏切换上下文。完整示例消息:
{} Namespace Library
ProjectA 1.0.0 - Available
ProjectB 1.0.0 - Not Available
You can use the navigation bar to switch context.