【问题标题】:How to add project reference to ASP.NET Core 1.0 MVC project如何将项目引用添加到 ASP.NET Core 1.0 MVC 项目
【发布时间】:2016-11-01 15:10:30
【问题描述】:

我在解决方案 X 中有一个 ASP.NET Core 1.0 MVC 应用程序,在解决方案 Y 中有一些常见项目(.net 4.5.2 类库)。

我想从我的应用程序中引用解决方案 Y 中的项目,当我通过添加引用执行此操作时 -> 浏览 .. 我得到:

.NET Core projects only support referencing .NET framework assemblies in 
this release. To reference other assemblies, 
they need to be included in a NuGet package and reference that package.

然后我创建了这些项目的 nuget 包,添加了包含 nuget 包的文件夹作为 repo 源并加载了项目。这成功地将项目添加到我的 project.json 中,但实际上没有其他任何事情发生,我仍然无法在我的应用程序中使用代码。

现在 ASP.NET Core 已经过了 beta 状态,官方的处理方式是什么?

【问题讨论】:

  • 您的目标是完整的 .NET Framework 还是 .NET Core?你的 project.json 是什么?
  • 我正在使用完整的 .NET 框架 (net452)
  • NuGet 方法是未来的方向,还是只是暂时的,直到他们解决问题?我们现在正在使用 NancyFX,我正在考虑尝试 .NET Core,但这是一个重大的关闭,我不确定它是否有效

标签: asp.net asp.net-mvc visual-studio asp.net-core asp.net-core-mvc


【解决方案1】:

很多人都在为这个问题而苦苦挣扎,有一个 long running thread on GitHub 关于它。甚至使用最新 RC3 版本的人也报告了您遇到的同样问题。

我能够在 ASP.NET Core Web 应用程序中引用类库项目的唯一方法是在 Visual Studio 2015 Update 2 中创建 Web 应用程序和类库项目。它们都必须以 . NET 框架 4.6.1。

我不得不将旧类库项目中的代码复制到新项目中。但最后,我认为我节省了自己的时间,因为我不必搞乱似乎对很多人不起作用的所有变通办法。

【讨论】:

  • 好的,这是一个(不太好的)解决方法。但是,如果您可以通过在旧项目和新项目之间进行 DIFF 来进一步分析它,以将其缩小到项目的特定部分或实际需要更改以解决问题的部分,那就太好了。至少,在此处发布 DIFF(或指向它的链接),以便其他人可以尝试解决。
  • 我不能超过 .net 4.5.2。因为我还有一个 Azure 云服务项目(引用了公共项目),将版本限制为 4.5
  • 我尝试将项目和 webapp 更改为 461(我在更新 3 解决方案中创建了项目,但这对我来说没有任何改变......
  • @user2713516 - 我没有安装更新 3,因为我的东西正在工作,我不想冒险破坏任何东西。我已经在这个问题上苦苦挣扎了 10 个月,我读到的所有解决方法都没有为我工作。由于更新 2 与 RC2 同时发布,我认为它们会同时发布。
  • @NightOwl888 - 由于 RC2 是一项重大更改,并且 RC2 要求您安装更新 2,我认为这些重大更改远远超出了项目文件。出于这个原因,我从未考虑过试图弄清楚它为什么起作用,我也不打算这样做。我在这个问题上浪费了很多时间,我很高兴能有一些工作。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-11-16
  • 1970-01-01
相关资源
最近更新 更多