dotnet run - 寻找Microsoft.NETCore.App 1.1.0(不预览) - 我从不引用它

时间:2016-11-03 08:25:46

标签: .net-core dotnet-cli

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

我安装了.NET Core 1.1.0 preview1。有了新项目,一切正常。 dotnet restoredotnet 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条目和{{1}下的条目除外} {} {}的一部分。

2 个答案:

答案 0 :(得分:3)

通配符不合适,不适用于此类平台依赖项。

必须使用

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

而不是

"version": "1.1.0-preview1-*"

答案 1 :(得分: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",

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