【问题标题】:Add reference to ASP.NET 5 Class Library from Framework 4.5 Class Library Project从 Framework 4.5 类库项目添加对 ASP.NET 5 类库的引用
【发布时间】:2015-03-31 12:01:37
【问题描述】:

我想从常规的 Framework 4.5 类库项目中添加对 ASP.NET 5 类库项目的引用。 我做不到。 是否有一些解决方法,这会得到支持吗? 我试图在 project.json 中添加对框架 4.5 的依赖,如下所示:

 "frameworks": {

        "net451": {
            "dependencies": {
                 "System.Data.Common": "1.0.0-beta1",
                "System.Data.SqlClient": "1.0.0-beta1"
            },
            "frameworkAssemblies": {

            }

        },

在此之后添加对此 ASP.NET 5 类库项目的引用,但没有成功。

【问题讨论】:

  • 你的类库是由 VS 在artifacts\bin\[CONFIGURATION]\[FRAMEWORK] 中构建的,那么我猜你可以从这个构建输出中添加一个引用
  • @aguafrommars 我在工件文件夹中看不到任何 dll-s。所有文件夹都是空的。
  • 哦,是的,对不起,这是通过发布,而不是简单的构建
  • 也许在构建后事件中的 kvm build 可以解决问题
  • 我们在 ASP.Net 类库中没有构建后事件,但我们有“在构建时生成输出”,它也可以解决问题。将 dll 推送到 artifacts 文件夹中

标签: asp.net asp.net-core


【解决方案1】:

选中“在构建时生成输出”复选框会将构建输出复制到 artifacts\bin\[CONFIGURATION]\[FRAMEWORK] 文件夹

那么你可以引用这个dll

【讨论】:

  • 我刚刚从旧项目类型中引用了 Framework4.5 文件夹中的 dll,它可以正常工作。谢谢
【解决方案2】:

你可以的!首先,我们需要了解“旧式”项目输出和引用 DLL。 ASP.NET 5 项目输出和引用 NuGet 包。

首先建立一个本地 nuget 存储库。幸运的是,这可以是一个文件夹。然后将其添加到文件夹 NuGet.Config 文件中。

<config>
 <add key="localrepo" value="C:\Temp" />
 <the rest of your file />
</config>

您也可以通过 Visual Studio 中的工具 -> 选项 -> NuGet 包管理器 -> 包源窗口来执行此操作。

然后将命令行导航到要引用的 ASP.NET 5 类库。使用

向下拖动依赖项
kpm restore

然后构建并打包它并将结果输出到本地存储库文件夹。

kpm pack --out C:\Temp

现在您应该可以将 kpm pack 中的 nupkg 添加为“旧式”项目中的 nuget 参考。如果您愿意,可以使用从 Visual Studio 管理 NuGet 包的常规方式。

注意:您的 ASP.NET 5 类库需要以 net45 为目标才能正常工作。确保它位于 project.json 的框架部分中

...
"frameworks": {
        "net45": {},
        // Other frameworks
  }
...

或者: 如果你想快速又脏,你可以运行

kpm build

,并添加一个直接的 DLL 引用。 DLL 的位置应该在 kpm build 的输出中监听。

【讨论】:

  • 做简单的项目参考听起来很复杂。我在想我只需要在 vNext 类库的 project.json 中添加框架 - > net45 部分,当我构建项目时,它还会输出可以引用的旧式 DLL-s...
  • 是的,它不漂亮。如果你想快速而肮脏地完成它,你可以运行 kpm build,并添加一个直接的 DLL 引用。 DLL 的位置应该在 kpm build 的输出中监听。希望随着我们接近发布,这些不错的工具功能将使其变得更加顺畅。
猜你喜欢
  • 2015-10-26
  • 2016-04-22
  • 1970-01-01
  • 1970-01-01
  • 2016-11-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-09-06
相关资源
最近更新 更多