visual-studio-2015之什么是 VS 2015 中的新类库(包)
我一直在尝试使用 PL、BLL 和 DAL 制作一个示例 3 层应用程序,现在我正在做一些单元测试。我正要将 BLL 引用到我的测试项目,但突然它不允许这样做。我发现这个类库和普通的类库不一样。
所以,现在,我不知道是应该用常规类库替换它还是继续使用新的类库(包)。什么适合这种情况?假设这个 3 层程序是一个云应用程序。
或者也许正确的问题是:
- 旧类库和新类库有什么区别?
- 什么时候合适?我找不到明确的答案谷歌搜索。
- 你能用当前的 MS 测试对新的进行单元测试吗?
请您参考如下方法:
如果您打算使用 asp.net-core,我建议您坚持使用较新的类库(包),除非您有理由在其他不使用 DNX 编译/执行的项目中使用相同的库。
类库 (.csproj)
和类库包 (.kproj)
。这两类项目最大的区别在于,类库(Package)会使用project.json
文件和DNX来编译、执行和打包库,而标准类库(. csproj) 使用.net 框架编译和执行库.dll 文件。旁注:包项目 (.kproj) 将自动创建一个 NuGet 包(对于类库 (.csproj),您必须手动构建 NuGet 包)。
您需要知道的主要事情是,您可以在
类库(包)(.kproj)
中引用类库(.csproj)
而不是相反,因为 DNX。所以这意味着所有单元测试库目前都无法与 asp.net core 一起使用。解决这个问题的一个好方法是在Class Library (Project) (.kproj)
中使用XUnit
。如果这个库在不支持 DNX 的其他项目之间共享(例如,在旧的 MVC5 项目和新的 ASP.NET Core 项目之间),您不能使用类库包.kproj
并且必须使用标准类库.csproj
项目。查看此答案 https://stackoverflow.com/a/31751864/1284637如何使用 asp.net core 进行单元测试。正如 2 中的回答,app.net-core 目前不支持单元测试库,这意味着 MSTest 也将无法工作。
我希望这能帮助您理清头绪。
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。