我在ASP NET 5中创建了一个WEB API,我可以引用外部类库vNext。 我正在开发Visual Studio 2015社区。 在那个图书馆里我有这个控制器:
[Route("api/[controller]")]
public class NovosController : Controller
{
// GET: api/values
[HttpGet]
public IEnumerable<string> Get()
{
return new string[] { "i am", "an external library" };
}
要在我的Web API引用中添加此库,我必须浏览DLL(一个用于dnxcore50,另一个用于dnx451)。
结果如下:
dnxcore50
在我的网络API中,我可以从该控制器获取数据,但我无法从网址获取数据。 但是如果库在同一个解决方案中,我可以从URL中访问它。
例如:
如果是外部库:
本地主机:51000 / API /诺沃斯
没有给我任何回报
但是如果库在同一个解决方案中:
本地主机:51000 / API /诺沃斯
返回“我是外部图书馆”
我希望通过URL访问外部库,但我无法找到解决问题的方法,有没有人知道如何让这个东西工作?
答案 0 :(得分:0)
只要您符合以下要求,IControllerTypeProvider
就不需要任何特殊的内容来发现外部类库:
(Source)
在您的特定情况下,我认为您只需删除Route
注释,因为它看起来不正确。
using Microsoft.AspNet.Mvc;
using System.Collections.Generic;
namespace External.Controllers
{
[Route("api/[controller]")]
public class NovosController: Controller
{
[HttpGet]
public IEnumerable<string> Get()
{
return new string[] { "I am", "an external library" };
}
}
}