我在VS2015中使用ASP.NET 5预览模板创建了一个Web应用程序项目。它运行在dnx 1.0.0-beta7上,但我使用的是完整的.NET框架而不是.NET Core。
在同一个解决方案中,我有一个NUnit类库项目,但是当尝试在此处添加Web项目时,Visual Studio会说"引用' ...'无法添加。"
有解决方法吗?或者,单元测试ASP.NET vNext应用程序的首选方法是什么?
答案 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中使用添加引用对话框从 ASP.NET 5 Web 项目引用类库项目时出现此错误:
无法添加对< ProjectName> 的引用。
这意味着您尝试引用的项目不是 DNX 项目,而是普通的类库项目。您需要确保类库是 ASP.NET类库(包)项目才能引用它。
答案 1 :(得分:0)
我的经历略有不同,所以我想解释一下“解决方案”。我发现。
特别是当我尝试添加"项目参考" (也就是从一个项目到同一个解决方案中的另一个项目),我得到了' A' ...'无法添加"错误。
我发现如果您添加引用,而不是添加"项目引用"而是浏览并添加DLL(从被引用的项目的bin文件夹中),它正确地在" wrap"中创建了必要的文件夹。目录。
然后,您可以删除对DLL的引用,然后返回并添加"项目引用"它有效!
我们有一个"共享"我们不想复制/移动到主应用程序文件夹的相同文件夹结构的库,因此这对我们来说效果更好。