Visual studio Visual Studio、ASP.NET 5和IApplicationBuilder界面
在开发ASP.NET 5应用程序时,我经常遇到不知道IAApplicationBuilder界面上可用的扩展方法名称的麻烦 (这听起来可能很愚蠢)。我在我的Visual studio Visual Studio、ASP.NET 5和IApplicationBuilder界面,visual-studio,visual-studio-2015,asp.net-core,Visual Studio,Visual Studio 2015,Asp.net Core,在开发ASP.NET 5应用程序时,我经常遇到不知道IAApplicationBuilder界面上可用的扩展方法名称的麻烦 (这听起来可能很愚蠢)。我在我的Startup.cs文件中,我想添加MVC。我只找到了(假设我的IApplicationBuilder实例名为app)app.UseMvcCore()。我真正想要的是app.UseMvc()。它们是(或曾经是)不同的包装。这是一个相当愚蠢的例子,但你明白了。如果我不知道名为app.runiispeline()的扩展方法,我怎么知道它是可用的?
Startup.cs
文件中,我想添加MVC。我只找到了(假设我的IApplicationBuilder实例名为app
)app.UseMvcCore()代码>。我真正想要的是app.UseMvc()代码>。它们是(或曾经是)不同的包装。这是一个相当愚蠢的例子,但你明白了。如果我不知道名为app.runiispeline()的扩展方法代码>,我怎么知道它是可用的?我认为这应该在智能意义上表现出来
除了已安装的软件包外,为什么Visual Studio不就配置的NuGet提要中的软件包的可用扩展方法提供建议?我同意,当您的计算机已经安装了所有软件包时,与ASP.NET的早期(封闭源代码)版本相比,这有点困难,尤其是使用dnxcore50
对于未安装的软件包,很难在intellisense中显示这一点,考虑到nuget上有多少软件包,并且考虑到命名冲突的可能性,nuget如何仅通过该软件包中的(部分)方法名确定您想要哪个软件包
解决方法是快速查看您想要在github上使用的包。例如,如果您知道要添加Microsoft.Aspnet.Mvc
,请转到,点击T,然后键入extensions
,甚至更好的是,applicationbuilderextensions
。然后您将看到已定义的扩展
更新
您还可以在存储库的文件中搜索出现的此IApplicationBuilder
,以使用github存储库的搜索框中的以下搜索字符串查找扩展方法
"this IApplicationBuilder" in:file
.我想您可以将密钥确定为NuGet package ID+方法名,但我同意,会有很多建议。感谢GitHub示例。这真的很有帮助。然而,如果我们不知道扩展是在哪里定义的(换句话说:在什么包中),那么我们就陷入了同样的问题。我想我需要在applicationbuilderextensions
之后始终搜索在GitHub找到的包。顺便问一下,这是命名约定吗?编写库的开发人员可以根据需要给它取另一个名称,因为这只是一种扩展方法?Nuget只提供您指定的包—它不能帮助您确定特定函数需要哪个包。开发人员可以随意调用扩展方法。在[Identity](github.com/aspnet/Identity)中,它被称为-这可能是我见过的更常见的名称。文档是这里的关键——它可以帮助你找到(谷歌)你需要的软件包,以及如何配置它。因为ASP.NET是如此的新,文档是有限的。是的,似乎每个人都给它们起了不同的名字。如果能够在GitHub上搜索源代码文件,那就太好了。然后您可以搜索这个IAppBuilder
。至少这会指出他们在哪里!