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

4th*_*ace 13 .net c# 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?

Bas*_*siK 35

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

这部分

  "frameworks": {
    "dnx451": { },
    "dnxcore50": { }
  },
Run Code Online (Sandbox Code Playgroud)

应该成为

  "frameworks": {
    "dnx451": { }
  },
Run Code Online (Sandbox Code Playgroud)


Ife*_*kwu 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
}
Run Code Online (Sandbox Code Playgroud)