met*_*art 5 .net visual-studio-2015 dnx asp.net-core
我有一个从 VS2015 中的 ASP.NET 5 预览模板创建的 Web 应用程序项目。它在 dnx 1.0.0-beta7 上运行,但我使用完整的 .NET 框架而不是 .NET Core。
在同一解决方案中,我有一个 NUnit 类库项目,但是当尝试在此处添加 Web 项目作为引用时,Visual Studio 提示“无法添加对‘...’的引用。”
有解决方法吗?或者单元测试 ASP.NET vNext 应用程序的首选方法是什么?
最简单的方法是确保 ASP.NET 5 Web 项目和测试项目共享一个公共父目录。例如:
Solution
|-- Web
| |-- project.json
|-- Tests
| |-- project.json
Run Code Online (Sandbox Code Playgroud)
这样 Roslyn 将能够解析不同子目录中的符号。
当然,您还需要在文件中添加从Tests项目到Web项目的依赖项:Tests\project.json
{
"webroot": "wwwroot",
"version": "1.0.0-*",
"dependencies": {
"Web": "1.0.0-*"
},
"frameworks": {
"dnx451": { },
"dnxcore50": { }
}
}
Run Code Online (Sandbox Code Playgroud)
如果它们不能有共同的父目录,您始终可以在根目录global.json
中添加一个文件,其中包含包含源代码的子目录列表。
Solution
|-- global.json
|-- Web
| |-- project.json
|-- Tests
| |-- project.json
Run Code Online (Sandbox Code Playgroud)
其中global.json
包含:
{
"sources": ["Web", "Tests"]
}
Run Code Online (Sandbox Code Playgroud)
如果当您使用Visual Studio 2015 中的“添加引用”对话框从ASP.NET 5 Web项目引用类库项目时,您会收到以下错误:
无法添加对<ProjectName>的引用。
这意味着您尝试引用的项目不是DNX项目,而是普通的类库项目。您需要确保该类库是ASP.NET 类库(包)项目才能引用它。
归档时间: |
|
查看次数: |
4239 次 |
最近记录: |