1

我有一个相当深入的项目设置,包含 10-20 个库,我正在尝试构建一个使用它们的可执行文件。

我安装了 .NET Core 1.1.0 preview1。对于新项目,一切正常。 dotnet restore并且dotnet build对于这个项目也可以正常工作,但是在某个地方,出了点问题,它不会运行。

dotnet run产量:

The specified framework 'Microsoft.NETCore.App', version '1.1.0' was not found.
  - Check application dependencies and target a framework version installed at:
      C:\Program Files\dotnet\shared\Microsoft.NETCore.App
  - The following versions are installed:
      1.0.1
      1.1.0-preview1-001100-00
  - Alternatively, install the framework version '1.1.0'.

我的图书馆项目有:

  "frameworks": {
    "netstandard1.6": {
      "dependencies": {
        "NETStandard.Library": "1.6.1-preview1-*"
      }
    }
  }

我的可执行项目有:

  "frameworks": {
    "netcoreapp1.1": {
      "dependencies": {
        "Microsoft.NETCore.App": {
          "version": "1.1.0-preview1-*",
          "type": "platform"
        }
      },
      "imports": [ "dnxcore50", "portable-net45+win8" ]
    }
  }

它还引用了另一个项目,该项目设置有一个入口点,其frameworks部分相同,减去imports部分。

我还更新了对其preview1-*版本的任何 EF Core 和 ASP.NET Core 引用,尽管我也使用了大量其他依赖项(它们的版本控制方式不同)。

因此,如您所见,我已经1.1.0-preview1-001100-00安装,没有1.1.0在任何地方引用,但仍收到此消息以查找它。

什么可能导致这种情况,和/或我该如何追踪它?我尝试过搜索project.json.lock文件,但在那里看不到对 1.1.0 的任何引用,除了Microsoft.NETCore.App/1.1.0在. libraries".NETCoreApp,Version=v1.1"targets

4

2 回答 2

3

通配符不合适,也不适用于这种平台依赖。

有必要使用

"version": "1.1.0-preview1-001100-00"

并不是

"version": "1.1.0-preview1-*"

于 2016-11-04T07:07:23.723 回答
1

我在 Heroku 实例上部署时遇到了同样的问题。在部署过程中可能会使用最新版本(https://github.com/sass/node-sass/releases/download/v3.10.1/linux-x64-46_binding.node)。

作为一种解决方法,如果更改它会起作用

"Microsoft.NETCore.App": {
      "version": "1.1.0-preview1-*",

"Microsoft.NETCore.App": {
      "version": "1.1.0",

但另一方面,在这种情况下,它停止在本地机器上工作......

于 2016-11-03T16:39:09.887 回答