如何将项目引用添加到 ASP.NET Core 1.0 MVC 项目

Posted

技术标签:

【中文标题】如何将项目引用添加到 ASP.NET Core 1.0 MVC 项目【英文标题】:How to add project reference to ASP.NET Core 1.0 MVC project 【发布时间】: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,但这是一个重大的关闭,我不确定它是否有效 【参考方案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,我认为这些重大更改远远超出了项目文件。出于这个原因,我从未考虑过试图弄清楚它为什么起作用,我也不打算这样做。我在这个问题上浪费了很多时间,我很高兴能有一些工作。

以上是关于如何将项目引用添加到 ASP.NET Core 1.0 MVC 项目的主要内容,如果未能解决你的问题,请参考以下文章

选择 webApi 模板时如何将 ASP.Net 身份添加到 Asp.Net Core?

如何使用 ASP.NET Core Identity 将登录/注册系统添加到现有数据库?

c#一个解决方案里包含.netcore3.1和asp.net两个项目,能正常发布iis吗?

如何将 AzureAD 和 AzureADBearer 添加到 asp.net core 2.2 web api

如何将 Web API 控制器添加到现有的 ASP.NET Core MVC?

如何在 ASP.net Core 中添加 js 和 css 文件?