c# - 在 .NET 4.6 项目中引用 .NET Core 库

标签 c# .net

也许我对“.NET Core 库”的含义有误解,但是当我尝试使用 Visual Studio 2015 在 .NET 4.6 程序集中添加 .NET Core 库时,出现错误:

A reference to '...' could not be added.

我是不是理解错了什么?

这是我在 .NET Core 程序集的 project.json 中配置的

"frameworks": {
   "net451": { },
   "dotnet5.4": {
     "dependencies": {
     "Microsoft.CSharp": "4.0.1-beta-23516",
     "System.Collections": "4.0.11-beta-23516",
     "System.Linq": "4.0.1-beta-23516",
     "System.Runtime": "4.0.21-beta-23516",
     "System.Threading": "4.0.11-beta-23516"
  }
}

最佳答案

现在可以使用 .Net Core RC2 来完成。方法如下:

  1. 确保您的 .Net RC2 项目的 project.json 配置为包含相关的 .net 框架。例如,本节引用 .Net 4.51,任何等于或高于此版本的框架都可以引用它:

例子:

"frameworks": {
  "net451": { },
  "netstandard1.5": {
  "dependencies": {
    "NETStandard.Library": "1.5.0-rc2-24027"
  },
  "imports": [
    "portable-net45+wp80+win8+wpa81+dnxcore50",
    "portable-net451+win8"
  ]
 }
},
  1. 将您的 RC2 应用程序打包为 Nuget 包。我还没有看到如何从 Visual Studio 执行此操作,但可以从命令行使用以下命令完成:

    dotnet pack -o e:\packages

如果你想在每次构建时更新它,你可以将以下内容添加到 project.json 文件中,它会自动将包更新到父目录中。

"scripts": {
  "postcompile": [
    "dotnet pack --no-build --configuration Debug -o ..//..//..//packages"
]}
  1. 将 Nuget 包添加到您的 .net 4.6 应用程序中。这可以通过多种方式完成。一种简单的方法是将您保存包的位置添加为包源引用。

  2. 每次构建时增加 project.json 文件中的版本号,以确保您的其他应用程序看到更新。

关于c# - 在 .NET 4.6 项目中引用 .NET Core 库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33810504/

相关文章:

c# - MEF - 帮助理解容器和组合发生了什么

c# - 有没有办法覆盖 [DataType(DataType.Password)] 的错误消息

c# - 无法发送到 SignalR 组

c# - 尝试从 Azure key 保管库获取 secret 时获得未经授权

c# - 如何在C#中列出计划任务

javascript - 如何使用两个确认对话框?

c# - 使用前缀、后缀和分隔符连接字符串的最快方法

c# - 数据表序列化没有按预期工作

c# - 调用 ASP.NET 用户控件事件时调用页面事件

c# - SSIS:以编程方式获取 Excel 文件工作表