如何从另一个项目引用ASP.NET 5项目?

时间:2015-10-01 11:47:47

标签: .net visual-studio-2015 asp.net-core dnx

我在VS2015中使用ASP.NET 5预览模板创建了一个Web应用程序项目。它运行在dnx 1.0.0-beta7上,但我使用的是完整的.NET框架而不是.NET Core。

在同一个解决方案中,我有一个NUnit类库项目,但是当尝试在此处添加Web项目时,Visual Studio会说"引用' ...'无法添加。"

有解决方法吗?或者,单元测试ASP.NET vNext应用程序的首选方法是什么?

2 个答案:

答案 0 :(得分:2)

最简单的方法是确保ASP.NET 5 Web项目和测试项目共享公共父目录。例如:

Solution
|-- Web
|   |-- project.json
|-- Tests
|   |-- project.json

这样,Roslyn就能够解析不同子目录中的符号。

当然,您还需要在测试项目中将依赖添加到{{> Web 项目中{{ 1}}文件:

Tests\project.json

如果他们不能拥有共同的父目录,您始终可以在根目录中添加一个{ "webroot": "wwwroot", "version": "1.0.0-*", "dependencies": { "Web": "1.0.0-*" }, "frameworks": { "dnx451": { }, "dnxcore50": { } } } 文件,其中包含包含源代码的子目录列表。

global.json

Solution |-- global.json |-- Web | |-- project.json |-- Tests | |-- project.json 包含:

global.json

使用"添加参考"在Visual Studio 2015中

如果在Visual Studio 2015中使用添加引用对话框从 ASP.NET 5 Web 项目引用类库项目时出现此错误:

  

无法添加对< ProjectName> 的引用。

这意味着您尝试引用的项目不是 DNX 项目,而是普通的类库项目。您需要确保类库是 ASP.NET类库(包)项目才能引用它。

答案 1 :(得分:0)

我的经历略有不同,所以我想解释一下“解决方案”。我发现。

特别是当我尝试添加"项目参考" (也就是从一个项目到同一个解决方案中的另一个项目),我得到了' A' ...'无法添加"错误。

我发现如果您添加引用,而不是添加"项目引用"而是浏览并添加DLL(从被引用的项目的bin文件夹中),它正确地在" wrap"中创建了必要的文件夹。目录。

然后,您可以删除对DLL的引用,然后返回并添加"项目引用"它有效!

我们有一个"共享"我们不想复制/移动到主应用程序文件夹的相同文件夹结构的库,因此这对我们来说效果更好。