C# 为什么vs2015默认nuget包包含beta依赖项?我应该在我的项目中安装它们吗?

C# 为什么vs2015默认nuget包包含beta依赖项?我应该在我的项目中安装它们吗?,c#,nuget-package,nuget-spec,C#,Nuget Package,Nuget Spec,当我创建用于nuget的新类库时,默认情况下它具有以下依赖项/框架: { //.... stuff..... "dependencies": { "System.Collections": "4.0.10-beta-23019", "System.Linq": "4.0.0-beta-23019", "System.Threading": "4.0.10-beta-23019", "System.Runtime": "4.0.10-beta-23019"

当我创建用于nuget的新类库时,默认情况下它具有以下依赖项/框架:

{
  //.... stuff.....

  "dependencies": {
    "System.Collections": "4.0.10-beta-23019",
    "System.Linq": "4.0.0-beta-23019",
    "System.Threading": "4.0.10-beta-23019",
    "System.Runtime": "4.0.10-beta-23019",
    "Microsoft.CSharp": "4.0.0-beta-23019"
  },

  "frameworks": {
    "dotnet": { }
  }
}

问题1

project.json依赖项部分中的
-beta-
是否意味着它们是beta版本

如果是这样,为什么它会对测试版产生依赖


问题2

当我安装这个nuget包时,它会尝试在包旁边安装这些依赖项

但是在目标应用程序中,我是否还没有对
System.Linq
System.Collections
等的引用


(我想知道这是否是因为nuget软件包引用的是
-beta-
版本,而不是目标项目中引用的
4.0.0.0
。但是这种行为继续存在,将
4.0.10-beta-23019
更改为
4.0.0
)您使用的是
project.json
,这是未完全释放的DNX etc生态系统的一部分。是的,目前一切都是测试版(或RC1)。如果您创建了一个“传统”类库,那么就根本没有project.json了。谢谢Jon。因此,我应该选择
类库
项目,而不是
类库(包)
,然后我会使用nuget包资源管理器输入
项目.json中包含的详细信息吗?是的,没错。当然,如果你不想把新的DNX作为目标的话,那就太好了。TBH我还不知道这会有什么影响。现在,我很乐意打包一些MVC时代(模型、枚举、属性)并将它们作为一个可共享的包。我走对了吗?我真的不知道你在这个阶段所说的“可共享软件包”是什么意思,但这听起来像是另一种问题。如果您还没有ASP.NET方面的经验,我会避开DNX,因为仍然存在一些粗糙的边缘。我相信发行前一切都会好的:)