DotNet Core RC2项目和Net461依赖性解决问题

时间:2016-06-01 19:17:28

标签: asp.net asp.net-core .net-core

这是主要dotnet核心web项目的project.json

"frameworks": {
  "netcoreapp1.0": {        
      "imports": [
          "dotnet5.6",
          "dnxcore50",
          "portable-net45+win8",
          "net461"
      ]
  }
}

如果我添加以下net461类库项目作为对上面一个的引用。它不会正确构建。

 "frameworks": {
    "net461": {
    }
  }

并抛出The dependency mscorlib could not be resolved.

之类的错误

但是,如果我使用旧模板(没有project.json)创建项目,并将其添加为dotnet核心项目的引用。它工作正常。

我想知道如何解决这个问题?

1 个答案:

答案 0 :(得分:4)

您正在做的是创建一个只能在.Net Framework上运行的库,然后尝试在.Net Core上运行的应用程序中使用它。那不行。

如果要在.Net Core上运行,则应用程序的project.json应包含:

"frameworks": {
  "netcoreapp1.0": {        
      "imports": [
          "dotnet5.6",
          "dnxcore50",
          "portable-net45+win8"
      ]
  }
}

库(netstandard的版本取决于你想要做什么):

"frameworks": {
    "netstandard1.4": {
    }
}

如果您想使用dotnet CLI,但仍然在.Net Framework上运行,那么在您的库和应用程序(在frameworkAssemblies中包含框架程序集)中都有以下内容:

"frameworks": {
  "net461": {
    "frameworkAssemblies": {
    }
  }
}