Visual studio 2015 VS 2015中的新类库(包)是什么

Visual studio 2015 VS 2015中的新类库(包)是什么,visual-studio-2015,asp.net-core,Visual Studio 2015,Asp.net Core,我一直在尝试用PL、BLL和DAL做一个三层应用程序示例,现在我正在做一些单元测试。我正要将BLL引用到我的测试项目,但突然它不允许。我发现这个类库不同于常规类库 所以,现在,我不知道是应该用常规类库替换它,还是继续使用新的类库(包)。什么是适合这种情况的?假设这个三层程序是一个云应用程序 或许正确的问题是: 旧类库和新类库有什么区别 什么时候合适?我在谷歌上找不到明确的答案 您可以使用当前的MS测试对新的进行单元测试吗 如果您使用asp.net-core,我建议您继续使用较新的类库(包),除非

我一直在尝试用PL、BLL和DAL做一个三层应用程序示例,现在我正在做一些单元测试。我正要将BLL引用到我的测试项目,但突然它不允许。我发现这个类库不同于常规类库

所以,现在,我不知道是应该用常规类库替换它,还是继续使用新的类库(包)。什么是适合这种情况的?假设这个三层程序是一个云应用程序

或许正确的问题是:

  • 旧类库和新类库有什么区别
  • 什么时候合适?我在谷歌上找不到明确的答案
  • 您可以使用当前的MS测试对新的进行单元测试吗

  • 如果您使用asp.net-core,我建议您继续使用较新的类库(包),除非您有理由在其他不使用DNX编译/执行的项目中使用相同的类库

  • 类库(.csproj)
    类库包(.kproj)
    。这两种类型的项目之间的最大区别在于类库(包)将使用文件
    project.json
    和DNX来编译、执行和打包库,其中标准类库(.csproj)使用.net framework来编译和执行库.dll文件

    旁注:包项目(.kproj)将自动创建NuGet包(其中作为类库(.csproj),您必须手动构建NuGet包)

  • 您需要知道的主要一点是,您可以在
    类库(包)(.kproj)
    中引用
    类库(.csproj)
    ,而不是相反,因为DNX。因此,这意味着目前所有的单元测试库都不能与asp.net内核一起工作。解决这个问题的一个好方法是在
    类库(项目)(.kproj)
    中使用
    XUnit
    。如果此库在不支持DNX的其他项目之间共享(例如在旧的MVC5项目和新的ASP.NET核心项目之间),则不能使用类库包
    .kproj
    ,并且必须使用标准类库
    .csproj
    项目

  • 请参阅此答案,了解如何使用asp.net内核进行单元测试。如第2节所述,app.net-core目前不支持单元测试库,这意味着MSTest也将不起作用


  • 我希望这能帮你把事情弄清楚。

    尼克·德·比尔(Nick De Beer)完美地回答了第一和第二个问题

    但就3而言,截至2015年12月,有一个名为MSTest.Runner.Dnx的NuGet包专门针对Dnx进行MSTest。您可以在此处阅读如何在DNX项目中进行设置: