2

我正在创建一个 POC,以了解使用新的 DNX 构建方法创建我们的 c# 库项目有多难。我安装了 VS 2015 并正在运行: dnu --version 1.0.0-beta4-11566。我的 c# 库仍然需要支持 .net 4.0,但是我想利用 project.json + nuget 3.0 推出的新构建/nuget 内容。所以我创建了一个库应用程序并尝试在控制台应用程序中使用它。

1) ClassLibrary1
2) ConsoleApp1

ClassLibrary1 项目.json

{
  "version": "1.0.0-*",
  "description": "poc",
  "authors": [ "Patrick" ],
  "tags": [ "" ],
  "projectUrl": "",
  "licenseUrl": "",

  "dependencies": {
    "Newtonsoft.Json": "6.0.8",
    "Microsoft.Bcl": "1.1.10"
  },

  "frameworks": {
    "net40": { }
  }
  }

ConsoleApp1 项目.json

{
  "version": "1.0.0-*",
  "description": "Another test",
  "authors": [ "Patrick" ],
  "tags": [ "" ],
  "projectUrl": "",
  "licenseUrl": "",

  "dependencies": {
    "ClassLibrary1": "1.0.0"
  },

  "commands": {
    "MyProj": "MyProj"
  },

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

我以为我可以删除框架 dnx451,但是如果没有 dnx451(dnx .run),我的控制台应用程序将无法运行。但是它将使用 dnu build 进行构建!!!为什么?这是我离开 dnx451 并尝试运行它时遇到的错误。

System.InvalidOperationException:无法解析目标框架“DNX,Version=v4.5.1”的以下依赖项:Microsoft.Bcl 1.1.10 Newtonsoft.Json 6.0.8

4

1 回答 1

0

DNX 项目可以引用 .NET 4 应用程序,但我不认为 DNX 运行时可以运行仅引用项目的基于 DNX 的net40项目。 dnx451是在 .NET 4.5.1 上运行的执行环境的名称,否则控制台应用程序不知道如何加载。

于 2015-06-04T14:43:04.263 回答