Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在ASP.NET Core 1.0(vNext)中引用库_C#_.net_.net Assembly_Asp.net Core_Coreclr - Fatal编程技术网

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

C# 在ASP.NET Core 1.0(vNext)中引用库,c#,.net,.net-assembly,asp.net-core,coreclr,C#,.net,.net Assembly,Asp.net Core,Coreclr,我正在学习ASP.NETCore1.0(vNext)。考虑到这一点,我有一个如下结构的解决方案: MySolution src MyLibrary MyClass.cs project.json MyWebSite Startup.cs project.json 我正在使用dnu build从命令行成功编译MyLibrary。我运行了dnu-pack,它生成了MyLibrary.1.0.0.nupkg。还有两个文件夹:dnx4

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

MySolution
  src
    MyLibrary
      MyClass.cs
      project.json
    MyWebSite
      Startup.cs
      project.json
我正在使用
dnu build
从命令行成功编译
MyLibrary
。我运行了
dnu-pack
,它生成了
MyLibrary.1.0.0.nupkg
。还有两个文件夹:
dnx451
dnxcore50
,它们都包含
MyLibrary.1.0.0.dll
。我想在
MyWebSite
中使用
MyLibrary
,但是我很困惑

  • 如何将
    MyLibrary
    纳入
    MyWebSite
    ?我是否手动复制
    .dll
    文件?如果是,哪一个?我应该改用
    nupkg
    文件吗?这是一个私有程序集,我不想通过NuGet全局发布它
  • 我应该在
    MyWebSite/project.json
    中输入什么来引用
    MyLibrary
    程序集

  • 您正在使用Visual Studio 2015 RC吗?如果是,则遵循以下步骤:

  • 在解决方案资源管理器中展开web项目
  • 右键单击参考文件
  • 单击上下文菜单中的添加引用…
  • 参考管理器中选择项目
  • 勾选MyLibrary旁边的复选框
  • 单击确定
  • 利润
  • 如果未使用visual studio,则可以通过更新web项目中的project.json文件来实现

    如果创建了“vNext类库项目”,则将其添加到json对象的依赖项属性中:

    "dependencies": {
          "MyLibrary": "1.0.0-*"
       }
    

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

    但是,如果这仍然不适用于您,那么您有三个选择:

  • 使用Roslyn进行内部化。示例:以及
  • 您可以直接引用源。范例
  • 创建构建时依赖项。示例和
  • 有几个问题用黑体标出
  • 如何将“我的图书馆”包含到我的网站中?) 在MyWebSite/project.json中:添加如下引用(不要担心版本号没有显示)。

    (是否手动复制.dll文件?

    没有

    (这是一个私有程序集,我不想通过NuGet全局发布它。)

    那就别这么做:)


    从web应用程序引用类库将确保在构建web应用程序时包含它。然后,您应该将web应用程序文件复制到能够运行它的应用程序服务器。我认为您应该尝试将web应用程序发布到Azure web应用程序,然后使用服务器资源管理器查看发布后服务器上的文件的外观。或者,在您的web应用程序中使用软件包之前,您是否已经知道没有理由制作软件包

    我正在使用vNext。但是,运行时在哪里查找project.json文件的依赖项中引用的库?.dll文件需要位于某个位置,以便应用程序可以使用它。但我不确定它属于哪里。