如何在VS.NET 2015中切换上下文?

时间:2015-05-06 20:47:13

标签: c# .net visual-studio

我遇到了构建错误,因为我正在使用的某些类在“DNX 4.5.1”而不是“DNX Core 5.0”中可用。

错误是:

  

找不到类型或命名空间'[someclass]'。

在“错误列表”窗口的项目列中,我看到DNX Core 5.0。

在上下文菜单中,选择了DNX 4.5.1。为什么VS.NET在上下文为4.5.1时尝试继续使用DNX Core 5.0?

2 个答案:

答案 0 :(得分:35)

如果有些人仍然在努力解决这个问题,您可以通过从project.json文件中的框架引用中删除它来取消引用DNX Core 5.0。

部分

  "frameworks": {
    "dnx451": { },
    "dnxcore50": { }
  },

应该成为

  "frameworks": {
    "dnx451": { }
  },

答案 1 :(得分:7)

而不是从project.json中完全删除DNXCORE50。 和以前一样,如果你将它包装在#if #endif中,你可以添加特定于框架的代码,如下面的代码所示。框架名称DNX451和DNXCORE50是众所周知的符号,实际上称为目标框架标记(TFM),并且在整个project.json文件,文件夹名称,NuGet包等中都是相同的。

只需应用条件声明:

public string Index(){
   #if DNX451
      //code logic here for DNX 4.5.1
   #endif
   #if DNXCORE50

      //code logic here for DNX Core 5.0

   #endif
}