【问题标题】:Asp.net Core RC2 not detecting Reference to nuget packageAsp.net Core RC2 未检测到对 nuget 包的引用
【发布时间】:2016-06-30 11:35:13
【问题描述】:

我正在为 Web 应用程序使用 Clean RC2 模板。

在添加对 System.linq 的引用后,它给了我这个:

我使用 461 作为框架。

【问题讨论】:

  • 修改project.json后是否恢复包?
  • @svick 是的,我做到了。如果我删除那些类似的项目效果很好。我猜 JC1001 的答案是正确的。所以当我设置 461 时,我不需要在 package.json 中添加引用,因为它使用桌面 dotnet 框架。

标签: asp.net-core .net-core-rc2 project.json


【解决方案1】:

它会自动恢复包版本以匹配目标框架版本(net461)。 所以实际上它是“检测” nuget 包。 您尝试在图像中定位 461,因此包从 .net core preview1 回滚到 .net framework 4.6.1 。 如果您想要针对多个框架(或者我看到您想要 RC2 包,即想要 .net 核心),您的 config.json 文件的 frameworks 部分应如下所示:

"frameworks": {
  "net461": { // old .net framework
      "dependencies":{
        "System.LINQ": "4.0.0.0"
      }
   },
   "netstandard1.5":{ // .net core
       "dependencies":{
        "System.LINQ": "4.1.0-RC2-*"
      }
   }
},

Here 是有关定位平台的好信息

如果您只想使用 .net 内核,请移除 net461。

我看到你想要 ASP.net 核心。 Here 是一些 cli ASP MVC 示例。 Here 是一个非常好的 ASP.net core 示例项目(使用最新的 .net core,你必须更新到 RTM/preview2)

【讨论】:

    【解决方案2】:

    您应该已经能够在代码中使用 LINQ(使用 System.Linq),而无需添加引用。

    由于您的目标是 .NET 461,因此您可以在 project.json 的 frameworkAssemblies 部分添加任何其他 GAC 引用,例如

    "frameworks": {
        "net461": {
            "frameworkAssemblies": {
                "System.ServiceProcess": "4.0.0.0",
                "System.Configuration": "4.0.0.0"
            }
        }
    },
    

    请参阅此question,了解依赖项和框架程序集之间的说明。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-10-23
      • 2016-10-15
      • 2023-01-31
      • 2016-09-15
      • 2016-09-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多