【问题标题】:How can i add local dll at the asp.net 5 project如何在 asp.net 5 项目中添加本地 dll
【发布时间】:2014-11-29 03:32:05
【问题描述】:

我正在尝试使 ASP.NET 5 站点使用 Visual Studio 2015 预览版,并且我想将本地文件系统中的 dll 添加到 ASP.NET 5 项目中。但是我找不到这个选项,是否不再可以添加本地dll?如果是,为什么?

【问题讨论】:

    标签: c# asp.net visual-studio-2015


    【解决方案1】:

    您不能再添加直接引用,您必须创建自己的包含它的 nuget 包。

    见:http://forums.asp.net/t/2002302.aspx?Adding+a+non+nuget+reference+to+a+vNext+project

    至于为什么,使用 nuget 管理依赖关系确实更容易,在任何地方下载你的源代码,并且使用单个命令 (kpm restore) 将下载所有必要的 nuget 包。

    【讨论】:

    • @wbuch 私有 DLL 怎么样?并假设我的 dll 处于开发模式,那么如何管理,因为如果所有时间错误修复并需要在 nuget 上发布,或者有什么方法可以做到这一点,我的意思是在 nuget 上构建并自动发布?
    • @VinitPatel 您可以创建私有 nuget 包提要:请参阅 docs.nuget.org/create/hosting-your-own-nuget-feeds。然后,您可以在准备好后在 nuget.org 上发布(如果需要)。
    • @wbuch 所以通过这个本地 nuget 包我的 dll 没有上传到 nuget 并直接添加到我的项目中?如果我有两个类库并且我正在使用它们的引用,那么现在如果我更新任何类库那么我需要再次生成 nuget 包并再次更新我的项目引用?
    • 基本上是的。也许有更简单的方法,我不是该主题的专家,但据我所知,这是预期的工作流程。大型项目的好处显而易见。
    【解决方案2】:

    如果您有项目代码,则可以将 Foo.csproj 添加到 Bar.xproj 作为参考,但不能直接添加,请参阅下面的说明。它可以在 Beta8 中不上传包的情况下完成,但这并不简单。如果你只有 Foo.dll,这里有一个提示:Bin syntax (wrapping a dll)

    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

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

    【讨论】:

    • project.json 文档已移动 here -- 向下滚动一点以查看 bin 语法。
    • 我在 Duckduckgo 上找不到 dnv 这是什么?
    猜你喜欢
    • 1970-01-01
    • 2011-12-02
    • 2014-09-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-19
    • 1970-01-01
    • 2015-10-15
    相关资源
    最近更新 更多