【问题标题】:How to add a reference of a .NET class library to a vNext Project如何将 .NET 类库的引用添加到 vNext 项目
【发布时间】:2015-12-31 02:35:06
【问题描述】:

我有一个 ASP.Net 5 项目,我希望在其中引用一些 .Net 类库。但是,我在成功执行此操作时遇到了很多问题。

我的项目目录如下所示:

WebProject
  NetLibrary1
  NetLibrary2
  NetLibrary3
  src
    Web Project Code
  wrap
    DevExpress.Data.v14.1
      project.json
    .
    .
    NetLibrary1
      project.json

wrap 文件夹包含 web 项目中引用的每个 DLL 的文件夹,每个文件夹中都有一个 project.json 文件,我猜它会将 DLL“包装”到 vNext 项目的伪造 Nuget 包中消费。

我的问题是我似乎无法成功包装我的 2 个 NetLibrary 项目,以便我的 vNext 项目可以引用它们。我尝试通过右键单击添加引用,它以下列方式将项目名称放入我的 Web 的 project.json 文件中:

"frameworks": {
"dnx451": {
  "dependencies": {
    "NetLibrary1": "1.0.0-*",
    "NetLibrary2": "1.0.0-*"
  }
 }
}

但是当它尝试恢复软件包时,它会显示:“无法找到 NetLibrary1 >= 1.0.0-*”。

不得不处理这样的尖端技术让我感到非常沮丧,我正在寻找一种明确的方法来解决我的参考问题。

感谢您的回复!

【问题讨论】:

  • “不得不处理这样的尖端技术,我感到非常沮丧,我正在寻找一种明确的方法来解决我的参考问题。”那你为什么要使用它? ASP.NET 5 甚至还没有结束测试。如果您对动态中的事物感到沮丧,那么最好避开它们,直到它们发布、修复错误并记录代码。
  • 如果不使用它是一种选择,我就不会使用它。
  • 您使用的是 Visual Studio 2015 吗?
  • 是的,但我至少现在找到了解决方案。感谢您查看此内容。

标签: c# asp.net asp.net-core


【解决方案1】:

您想将旧类库 Foo.csproj 添加到 Bar.xproj 作为参考。在 Beta8 中无需上传包也可以完成,但并不像应有的那么简单。

  1. 进入Foo.csproj文件夹,输入:dnv wrap Foo.csproj
  2. 您现在应该生成了一些文件,对我来说是Foo/wrap/Foo/project.json。在 Visual Studio 中转到您的解决方案,Add -> Existing project -> project.json
  3. 现在您有了更多文件,包括 Foo.xproj,它在 Visual Studio 解决方案中可用,但无法构建。
  4. 在 Foo 目录中打开 cmd 并执行 dnv restore
  5. 在 4) 完成且没有错误并且可以构建 Foo.xproj 后,您现在可以转到 Bar.xproj 并添加 Foo.xproj 作为参考。
  6. 在Bar目录下打开cmd,执行dnv restore
  7. 您现在可以构建 Bar.xproj

我真的希望在最终版本中这会更容易。

【讨论】:

    【解决方案2】:

    我在此链接中 JimmyD 的回复中找到了我的问题的答案

    Issue Adding Reference to Class library project

    该问题中实际标记的响应不起作用,但幸运的是浏览到实际文件结构中的项目 DLL。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-05
      • 2016-10-13
      • 2012-08-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多