在ASP.NET Core 1.0中引用库(vNext)

Som*_*ser 13 .net c# .net-assembly coreclr asp.net-core

我正在学习ASP.NET Core 1.0(vNext).考虑到这一点,我有一个结构如下的解决方案:

MySolution
  src
    MyLibrary
      MyClass.cs
      project.json
    MyWebSite
      Startup.cs
      project.json
Run Code Online (Sandbox Code Playgroud)

我正在MyLibrary使用命令行成功编译dnu build.我跑了dnu pack哪个生成了MyLibrary.1.0.0.nupkg.也有两个文件夹:dnx451dnxcore50这两者都含有MyLibrary.1.0.0.dll.我想用MyLibraryMyWebSite,但是,我很困惑.

  1. 我怎么"包括" MyLibraryMyWebSite?我手动复制.dll文件吗?如果是这样,哪一个?我应该使用该nupkg文件吗?这是一个私有程序集,我不想通过NuGet全局发布它.
  2. 我该怎么做MyWebSite/project.json才能参考这个MyLibrary装配?

Ani*_*tel 6

您使用的是Visual Studio 2015 RC吗?如果是,请按照以下步骤操作:

  1. 在解决方案资源管理器中展开Web项目
  2. 右键单击References
  3. 单击上下文菜单中的Add Reference ....
  4. Reference Manager中选择Projects
  5. 勾选MyLibrary旁边的复选框
  6. 单击确定
  7. 利润

如果您不使用visual studio,则可以通过更新Web项目中的project.json文件来实现.

如果您创建了"vNext类库项目",则将其添加到json对象的dependencies属性中:

"dependencies": {
      "MyLibrary": "1.0.0-*"
   }
Run Code Online (Sandbox Code Playgroud)


Vic*_*aci 4

如果您不想与解决方案之外的其他人/项目共享包,则不必将包发布到 NuGet。您可以直接从源代码引用该包。

但是,如果这仍然不适合您,那么您有以下三种选择:

  1. 使用 Roslyn 内化。示例:project.json实际代码
  2. 您可以直接引用来源。示例项目.json
  3. 创建构建时间依赖性。示例project.json包的实际代码